我从今年5月份的时候产生了换工作的想法,到6月份开始准备,到7月和8月参加面试,差不多总共面了10家公司,有大的有小的,收到了4个offer吧,最终选择了一家大公司。现在回过头来从下面几个方面总结一下面试的过程。

为什么要跳槽?

基本上面试的时候,面试官都会问到这个问题。这个也是个人跳槽的动机,每个人都会有不同的动机。大体上分为三个方面:1、想要涨薪;2、个人发展受限;3、对公司失望了。

我跳槽的原因这三个都包含。薪资不见涨,也没有涨的预期;个人的技术已经无法得到继续的成长;在公司待了3年多了,对很多现象失望了。

虽然跳槽的原因很多,但是在面试的时候只说为了更好的技术发展,这确实是主因,其它方面的都不能说。不能说公司的坏话,可以说些感谢啥的。

总之自己要明确自己为什么要跳槽,这样才能有计划,和评估下一家是否能达到这样的目标。

推荐参考一下 程序员职业小白书 —— 如何规划和经营你的职业

计划和实施阶段

跳槽不是一蹴而就的,是需要一个过程,这里面包括准备阶段,实施阶段,正式跳槽阶段。

准备阶段

这个阶段主要是进行准备,包括了解市场、简历的撰写、知识的复习等。

了解市场可以浏览一些岗位的招聘信息,然后归纳汇总一下,看看市场对这个岗位的大致需求是什么,自己对照着进行针对性的准备。跳槽一般都是跳槽更好的公司,所有需要重点关注一下这些公司的需求。

还有一招就是招人。我在准备出去面试的之前,先作为面试官,帮项目组招人。面试了10几个人,在boss直聘上跟几十个人聊了下,并看了他们的简历是怎么写的,求职者实际情况是怎样的。然后准备了很多自己面试可能会被问到的问题,先面了一波人。站在面试官的角度对自己的简历,以及面试技巧,方法做了很多的准备。

我的简历改了不下十版,从最初的用word撰写到用markdown撰写,最后改为了用超级简历撰写。这里推荐一下超级简历,非常好用。

简历撰写基本上一页就搞定了,包含自己的基本信息,学历信息,工作经历,项目经历,掌握技能等,重点突出项目相关的经历。在写的过程中需要仔细,不要出错,最重要的是保证真实性,可以适当润色,但不要过度夸大。

知识的复习很重要,在简历上写的技术都需要非常熟悉才行。作为程序员技术面试,最重要的就是算法,基本上前两轮面试都是涉及到算法方面的,因此需要重点复习,刷题是必须的。我基本上刷了一些常考的面试题,并记录了一下来https://github.com/xuxping/codelife。

在复习的过程中也顺便对自己的过往经历做过总结吧,可以发现很多不足,找到改进的方向。

实施阶段

这个阶段主要是有计划的面试,包括热身面,正式面。其它大公司和小公司在面试的具体内容基本都差不多,因此我先找了两三个小公司练练手,熟悉一下整个面试流程,我称之为热身面。

然后又找了两三家中型公司面面,不断的总结,找到自己的不足之处,针对性的进行改进。最后才直奔主题,面了几家大公司。

面试大致过程分为,两轮到三轮技术面试,最终的HR面。技术面分为算法和项目面,这个都是穿插在一起的。

考算法基本上做题,白板编程等。我分为三步:
1、与面试官确定好题目,以及题目细节,确保自己明确了面试官想要的最终结果是什么
2、思考一下,然后与面试沟通自己的解题思路,如果不被认可,可以继续思考,如何认可则开始写代码解题
3、写代码注重三个方面:功能逻辑正确,边界正确,异常处理完备。

项目方面,只要注重几点就行:
1、项目真实性,对自己熟悉的模块,做的事情要特别熟悉,实事求是
2、重点解决了哪些问题,学到了什么,有什么产出,经验的总结等

能到HR面阶段,说明前面技术和项目经历基本上都没啥问题了,就跟HR谈谈人生规划,对过去的总结,对未来的期待啥的。要表现出自己的真诚,确实希望加入到这家公司里。如果问到了上家的经历时,不要说上一家的坏话,可以感谢上一家,确实每家公司都可以让你学到一些东西,无论技术还是人生感悟等。

实施阶段我经历了两个月吧,中间一度想要放弃继续面试的,后来坚定跳槽的决心才坚持下来。有些公司的流程很长,需要耐心等待,如果不想去,直接拒绝就行,不要浪费双方的时间。

正式跳槽阶段

有可能会拿到多个offer,这时需要在有限的时间里,作出一些抉择。在确定好下家公司后,需要向目前的公司提出申请,进行任务的交接,人事的交接等工作,需要一两周的时间。

这段期间,不要因为自己马上要走了,就消极工作。只要一天在岗位上,就要站好一天的岗。

更重要的是要调整好自己,离开现有的公司,现有熟悉的环境,去接受,融入到一个新的环境中。我发现有些的同事也是想跳槽,但是惧怕离开一个熟悉的环境到陌生的环境中,我开始也是有的害怕,所以中间一度想放弃,但最终跳出来了。

在一家没有发展前途的公司里待久后,就像温水煮青蛙,最后陷在里面。跳槽是一个新的开始,新的阶段。去新的公司前,建议对过往做一个总结,并对未来在新公司的发展有一个规划。

总结

出去面试,并一定是跳槽,也可以是了解一下市场的行情,不做井底之蛙。跳槽最重要的是要想清楚自己为什么要跳槽,一旦决定要跳之后,就可以开始准备和实施了。每个人的一生都会经历很多次的跳槽,对跳槽要看开一点,要让每一次都有意义。