本人码工一个。其实我自己心里想换工作的想法是从2015年的年底开始的。这个公司是我毕业后的第一份工作,为了工作签证,特别是为了绿卡,就一直在这个公司干了下来。当时办绿卡的时间,跟公司有个email的约定是保证拿到绿卡后再给公司效力一年。公司是典型的欧洲公司办事风格,工作强度不大,产品也算是有竞争力,所以也算是稳定,但是工资水平实在是太低了,涨了几次工资,算下来现在的工资也就是业界的中等的水平。但是没有办法,为了绿卡也只能忍了。后来公司被另外一个大公司收购了就开始走下坡路了。2015年有过一次小规模的裁员,我自己的水平也还可以,工作也算努力,每年年底的performance review都是outstanding的水平,跟经理的关系也可以,所以也就保存了下来。
到了15年年底的时间想想那个绿卡的约定也差不多到期了,就开始琢磨跳槽了。从16年的二月开始就开始断断续续的跟猎头联系,看看有没有合适的公司可以谈谈。但是这个骑驴找马是没有太多的效率的,一直到了6月份也没有一个看上眼的。转眼到了8月份了,感觉这样下去实在不行,就开始痛下决心,开始晚上自己加班,主要是刷题,看面经,充实自己的面试经验和白板写代码的经验,还有一个就是自己主动出击投简历,目标只有一个,就是拿到2016年的年终奖以后就离开公司。10月份的时间投了三份简历结果一个消息都没有,自己就感觉有点不对劲了,是不是自己的简历或者经验不值钱了。同时每天晚上继续工作4个小时来充实自己。到了11月中旬的时间,有了两个电话面试,但是自己感觉不是很喜欢他们的工作就拒绝了。
转眼到了11月份,过完感恩节假期,上班的第一天早上就看到部门的大老板发了一封all hands meeting的邮件,并且抄送给了HR的人,顿时就感觉不对,这是要裁人的感觉啊。结果果不其然,下午开会,我们这个办公室要关掉了,两个团队的工程师连经理全部走人。不过公司还算是仁慈,工资发到年底,年终奖也发了,另外给个硅谷的标准的N+2的severance package,外加几个月的健康保险。我当时听到要关门的消息真是心平如水啊,甚至是有点小高兴啊。
不管怎样,现在是只剩华山一条路了。于是在接下来的一个周内,好好的把简历给改了改,开始狂投简历,只要是跟我做的有点相关的职位就改改简历给发一份过去。两个周内投了大约20分简历,收到了6个电话面试,拿到了4个onsite的面试。剩下的两个是工作不合我的背景,双方都感觉不适合就byebye了。
由于到了圣诞假期,所有的onsite面试都安排了一月中下旬。从12月中旬开始,我就开始了一场堪比迎接高考的准备过程。每天坐在电脑前面超过14个小时,把leetcode上面的400多道题给刷了一遍。又回过头来简单温习了一遍,当然还是有很多记不住是怎么解的了:(。。。。
一月中旬开始第一个onsite面试,公司是一个startup,但是人已经有4,500人了,招人的director给我打的电话来面试。他本人以前的背景是跟我一个行业的,后来面试的时间说起我们公司的现状,他还说当初曾考虑加入我们公司,没想到竟然到现在这个地步了。面试本来是安排了三个工程师来面试的,第一个是个软件工程师,聊得很好,在白板上写代码也没有问题因为是个简单的问题。到了第二个工程师来面试,他是个东欧的人,口音很重,有好几个问题我都要他再复述一遍才能听懂。只是感觉他好像对我面试的职位不是很了解,问了一堆非常底层的跟硬件打交道的问题和一些直接的硬件的问题。我当时就感觉不对了,跟他说我的背景就是软件工程师,我不是写驱动的软工,并且问他这个职位是不是要求有很多底层硬件驱动的经验,他也不回答,然后就让我问他问题,他的回答就像是在回答茴字有几种写法似的。 果不其然,等他面试完了,那个director过来说今天就面试到这吧,剩下的那个工程师今天太忙,没有时间来面试你了。我当时还信以为真,就屁颠屁颠的回去了。本来看招聘广告上的要求,这个职位跟我现在做的是没有什么区别的,并且跟director聊得很好,感觉应该没有什么问题了,结果过了一个周也没有消息,我就发信去问,也一直没有回信,就当成默拒了。这时我才想起来当时应该就已经决定据我了,所以第三个工程师也就没有必要面试了。出师不利啊!
紧接着第二个onsite面试来了。这个公司的行业是一个很有前景的行业,跟我以前的行业是风马牛不相及的行业,他们的招聘广告上只是找码工,但是里面有一个要求是跟我的毕业论文是有关系,本着死马当成活马医的态度我就给他们投了份简历。没想到第二天他们公司的猎头就给我打电话问愿不愿意跟他们的工程师谈谈,问我怎么想跳槽啊。当时是12月初,我还是属于有工作的人啊,就给自己美化了一把,说自己有远大的理想啥啊,反正大家都知道的那些词啊。
圣诞前的倒数第二周,跟他们的工程师聊了一个小时,主要是在聊我的毕业论文里面的东西,他们用的东西我也都熟悉,剩下的写代码的问题是次要问题了。聊完以后,我又我把毕业论文的做的东西所发表的文章,我的论文的连接都发给了这个tech lead。结果第二天那个猎头就给我打电话时要我看看能不能在圣诞节前去on-site面试,我就编了个理由说圣诞节前没有时间了,主要是想争取点时间来好好准备一下。
有个前面那个失败的面试,自己对这个面试也越发的重视了。等面试安排发过来以后,感觉不对,怎么就两个人的onsite面试,一个是hiring manager,一个是tech lead,并且时间只有两个小时。面试时安排在下午,tech lead先给我展示了一下他们做的东西,剩下的半个小时就问了一下我的毕业论文做的东西和现在做的东西,也没有太多的技术性的问题。然后就开始跟hiring manager面试,他倒是问了一堆问题,泛技术问题和behavior问题。最后才告诉我他们的招聘流程,说这只是第一步,这一步通过了,他们会再跟你联系,给你一个code puzzle,让你从设计,编码,到文档的整个流程走一遍,你要提交设计文档,代码,测试代码,测试结果和API文档。回家后的第二天,tech lead来电话说要把code puzzle发到我信箱里面,说大约需要3-4个小时的工作量,希望3-4天之内完成。我看了看问的问题,三四个小时绝对弄不完,我花了大约6-7个小时把所有的东西都弄好了,然后就发过去了。过了两天,猎头又来信说要安排下一轮的onsite面试,很快面试安排就发过来了,是安排在周一。我的妈呀,要面试8个人,4个manager,四个工程师,从上午9点,一直要到下午3点半。
然后又开始了新一轮的疯狂的准备过程。 到了面试那天,为了防止路上堵车,我早上7点就从家里出发了,到了公司才刚刚八点,在停车场上稍微迷糊了一阵儿。到了9点就开始面试了。Hiring manager问了一堆的behavior问题,象是如果你跟你的同事在某个项目上的意见不同的话,你怎么处理这种冲突啊,我当然是跟你谈谈,谈不拢的话就让经理去处理了。还有如果你在做某个项目,突然有个更急的项目来了,你又不能耽误原先的项目日期,你怎么办啊。。。。我能怎么办,我只能给我的经理提前打预防针,摆事实,讲道理啊,不是我人的能力不够,是你给我担子太重了啊:),要么给我更多的时间,要不就是加人,反正我不背锅,要背也是经理你来背呗。
到了中午午饭前的最后一个面试者,这哥们真能聊啊,问了我无数的最基本的问题,简直就是问我怎么给他解决问题,最后竟然问我要是我来做这个项目是不是真的3个月就完成了。结果把我的45分钟的午饭时间给压缩的就剩了15分钟,他走了以后,我匆匆忙忙的吃了半个三明治,喝了点水,方便了一下,刚进面试的办公室,下一个面试者就进来了。
好不容易把所有的面试都弄完了,那个tech lead又进来说,可不可以再呆半个小时,给他们组的人做个presentation,讲讲我的那个code puzzel是怎么解决的。说实在的,那个code puzzel问的问题,只要是稍微有点研究生的工程学历训练就知道怎么做,结果在给他们讲解的时间,一个小印不停的问我是怎么就会想到这么来解的。我能说什么呢?我只能说我是根据我在学校学到的知识来解的,他还是不明白怎么回事,好歹那个tech lead说时间不多了,我们就到这里吧。我也只能跟那个小印说你如果还有别的问题的话,可以直接给我发邮件,我们可以接着讨论。
时间已经到了四点钟了,真是感觉整个身体都被掏空了,我从来没有经历过如此这般的面试,真是大大的涨了一把面试的经验。开车回家休息去了。。。。
有了第一个失败的面试,对这个面试的结果我倒是不在乎了,爱咋地咋地的,此处不留爷,自有留爷处,处处不留爷,爷爷回家去了。。。。
第三个面试是安排同一周的周五下午,五个人,每个人一个小时。没有什么特别地方,就是不停的讲。公司的背景跟我做的东西有很大的不同,感觉双方都不满意。面试完了也没有消息,就当又是一个默拒。
第四个面试的安排比较曲折,一开始给安排了个电话面试,可是这个烙印的猎头实在是不靠谱,竟然没有把面试时间告诉我。面试者打电话给我的时间, 我正在开车,根本不知道有面试这回事。回来后给烙印发了封信,过了三天才回信说会重新安排,问我要了我可以面试的时间。我给了他三个日期, 结果发信过来还是安排了在我没有空的那天,又是好几封邮件的来回,重算是安排妥当了。电话面试者是个中国人大哥,一开始问了一堆简单的问题,后来直接来了个leetcode上的hard级别的coding,我也算是写出来了。过了三天,烙印发信过来说可以安排onsite面试了,又问了我可以面试的日期,我给她说接下来的两个周的周二到周五都可以,结果过了一个周她发信说这两个周面试者都没有空,我实在是无话可说了。。。 只能再跟她说任何一天只要不是周一都可以,结果给安排在了两周后的周四。
花开两朵,各表一枝。第二个面试完后的第九天,我正在准备下一个面试,那个tech lead打电话过来问我能不能跟我一起吃个饭再聊聊。我还是第一次遇见这种情况,正式的onsite面试完了以后还要再吃饭再聊。当时在版上问了一下大牛,都是说在好事。哎,好事难道都是在你最不在意的时间才出现的吗? 于是发信商定时间,地点,我就去赴宴去了。结果又是一个半小时的聊啊,怎么处理项目中出现的各种问题,甚至连我上班需要多长时间也问了个底朝天。
第二天,果不然recuiter就打电话过来说要进行下一步,要求提供三个references. 到了这一步看来offer是有希望了。周五下午把references list给了他们,结果周一早上三个references就都收到了电话,要求安排时间下午有人会打电话来问我的情况。下午三个reference在他们问完话以后给我打电话说了一下情况,真是出乎我的意料啊。版上很多人说reference check就是简单的问问就是了。我的三个reference都说他们都是被问了20-30分钟,有20几个问题要回答,看起来他们是有个问题的列表的,按照列表上的问题问得,因为三个人被问得问题有很多是相同的。hiring manager和那个tech lead两个人一起来问reference的。由于三个reference的人都是很熟,关系也不错,他们都提前问了我需要强调我的哪个方面的优势,我就一一 跟他说了如果谁来问,就怎么回答我的优势。看起来效果不错。
周二下午猎头打电话来给offer,报了一下整个包裹的情况,要求稍微涨一下基本工资,结果给涨了5%,我就签字接受了。至此人生的第一次失业,再找工的过程就结束了。
第四个面试发信去取消掉了。
总结一下:
1。 不知道哪块云彩里面有雨。
2。 料敌从宽,好好准备每一个面试,抓住每一个能展示你能力的地方。
3。 不停的投简历,总能拿到面试机会的。我在第三个面试结束后,又疯狂的投了10几个简历,又拿到三个电话面试的机会,不过在拿到offer以后就都取消了。
4。 面试真是就是找恋爱对象,大家真是得互相看上眼才行啊。不是说你能力强,人家就一定要你,关键是你要在合适的时间出现才行。
5。 LinkedIn非常有用,一定要把上面的个人资料都弄好了。特别是skill sets里面,一定要加全了。
在每个公司里面的经历不用写的非常详细,写个大概的描述就行了。
6。还有一个就是对自己所做的东西要非常熟悉,能够在一两分钟之内描述清楚,画出系统的方框图来。