天天看点

2019我的Java面试跳槽经历

       先介绍下我的情况。2015年某大学本科毕业,专业算是半个科班。大学时候该学的东西只学会了一半。校招后就直接去了杭州一个传统软件公司呆了三年。三年时间早九晚五,技术也就会基本的curd。2018过年突然醒悟,再这么待下去就要废掉了,然后转而跳槽一个杭州的小的互联网公司。在上一家互联网公司学到了挺多的,基本会用spring全家桶,也学会了简单的分布式系统的开发工具。去年11月,朋友说做技术的还是要来北京试试。自己思考了两天时间,于是就下定了决心年后要来北京。

      目前情况是找到好几个都达到我目标的offer,总结下这次跳槽的经历还是有很多成长和收获。这次跳槽主要有好几个阶段,包括调研阶段、准备阶段、面试阶段。贯穿这个三个阶段的是不断的学习和总结。

  一、调研阶段

       对自己进行调研,思考自己想来北京去什么样的公司,最低接受什么样的公司。调研北京一线公司对3~5年经验的要求。调研自己的学习内容和学习目标。要求和学习的目标,可以从招聘要求还有头条的一些公众号发布的大厂面试题经历文章进行调研。

 二、准备阶段

      首先要技术方面要准备的内容包括:Java基础、数据结构和算法、技术轮子、中间件(redis、mysql)、计算机网络、基础运维、常用的解决方案。我主要学习的通过视频进行学习,最重要的是坚持!准备阶段还有一个最重要的点是,面前先找几个进行面试,找找差距。过年的时间最需要重视,因为过年放假有七天,相对来说如果七天都用来学习,可以顶上平时学习的一到两月时间。

三、面试阶段

       我是年后提的离职,大约半个月时间办完离职,安心来北京找工作。一遍面试一遍总结学习,在北京租了一个短租一个月的,不想租朋友家,因为面试中的学习和总结太重要了,如果和朋友住在一起影响学习就不好了。

       第一周,面试基本都挂了,然后周末狠狠的总结和学习,第二周面试通过的概率高达80%。然后在纠结中选了两个,目前还在考虑最后去哪个~~~。

       面试是实力和运气的结合。另外一个角度来说也是技术和非技术的结合。从我经历来说,技术成分占50%,另外30%是非技术的东西,剩下20%是运气。

分享下我自己技术学习的过程

     首先是Java基础,

          我推荐买个视频或者音频课程来学习,推荐慕课网和极客时间。好处是随时学习,而且比起看书,这个更容易坚持。可能要花个几百块钱,但是花这点小钱带来的收益可以说是几十上百倍。

    数据结构和算法

          网易云课堂有个免费的课程一边学习一边跟着老师敲一遍代码。如果每天半个小时,大概需要一周时间。另外就是刷一刷LeetCode。

   工程设计题

          比如说怎么保证缓存和数据库的一致性。对于这种题目面试官会不断的设计场景和阻碍。一开始我也不会,后来我突然醒悟了。这个就好比初高中做数学、物理、化学题目,首先你得会一些基础的公式和知识,所有的解题都是这些的组合,有可能不一定是最优的,但是面试官也不一定完全要你答出来,关键还是想知道你对问题的思考。举个例子,当时有个面试官问我一个题,怎么在一个容量为10w的ArrayList<String>中查询某个值越快越好。我当时反问是有序的吗?面试官说不一定,各种情况你都说说。有序的可以二分查找,无序除了遍历外的我想不出来。后来回去一想,这题其实很简单~~至于标准答案, 我也想知道

总结:

      我的经验就是,提前准备,坚持学习,善于思考总结。最重要的是坚持!