最近准备去新公司上班了,写写这段时间找工作的经历吧。

其实老婆过来了以后我就想换个工作了。但是因为现在工作还是挺满意的,钱尽管少一些,但是工作轻松,同事人都很好。缺点是由于业务是社交媒体,所以要做Facebook的API。这玩意太糟糕了,经常down,delay就不说了,随便灰度上线,乱改api返回是什么鬼,实在是心累。既然其他都挺好的,我也不是太过着急,慢慢找,找到满意的。同时由于刚买了房子,不是很方便搬家,所以只考虑waterloo地区的工作。

第一轮

由于有了上次找工作的经验,我知道EA这家公司的相应速度是奇差的,所以我第一个投的是EA,不过没有这么快有回应的。我们后面再说。然后投了本地的社交工具刚被腾讯收购的kik,之后投了Square。第一轮就投了这3个。

Square

Square是第一个回复的公司,当然Square也是我很想去的公司之一,尽管他们家的业务做得不咋地,但是他们家的开源做得很好。一开始HR给我发了个邮件,问我什么时候有空先电话聊一下,我给他发了这周和下周一二的时间,然后HR就消失了。两周后HR又回来了,问我什么时间有空聊一下,我又给他发了这周和下周一二的时间,然后HR又消失了。一周后HR终于给我信息定了一个一周后的时间,聊了20分钟,问问经历什么的,然后约了一个电话面试。

电话面试的问题很诡异,我到现在都没想到一个很好的解法,问题是一堆任务,有优先级,有依赖,问调度顺序。当时我问了一下一些边界情况,比如有没有环,比如有同等级任务T1,T2,T1依赖于T3,T2依赖于T4,T3、T4优先级高于T1、T2,T3优先级高于T4,是否需要处理T1、T2的顺序之类。得到的结果是都要处理。我当时就懵了(我现在还懵着,求点醒)。然后我就说这个状况,我还没有想到什么好办法,说了下按照任务有依赖的方法来做,其实跟查有没有环的做法是一样的,遍历所有的任务找到没有依赖的任务Ts,按照优先级顺序删除这些任务,并且删掉剩下的任务里面的依赖里面的Ts。因为当时有很长时间没有做算法训练了,写得比较慢,中间也没有怎么交流。写完了我告诉面试官,我有一些情况没有处理,暂时也没想到很好的办法,我给了一个在同个优先级之下做二次调整的方法,但是还是会有边界情况没有处理,然后问了下测试用例就结束了。我觉得这面试做得挺糟糕的,估计没有下文了。一周后,HR再次联系说安排第二次面试,这次的题目跟第一次是类似的,给了我一堆ES6的代码,求依赖关系,这就简单多了,一个搜索就完了,面试官也挺满意的。再过了一周HR安排了onsite。

onsite是6个小时的。奇葩的是他们居然没有提供停车,楼下的停车场是pay parking,而且最多两个小时。我只能每面试2个小时去交一次钱。onsite的问题倒是挺简单的,还提供idea写代码。中间有一轮是问了一个字典类的问题,我马上想到用Trie做,由于Trie是少数我真的在工作中用过的算法,瞬间写了一个没怎么做优化的版本,然后面试官就呆了,问完follow up,还有20分钟,我估计他没见过Trie,他临走前叫我发给他慢慢研究。最后一轮问设计的时候,我有些细节没有问到就开始吹,做得不好。

再过了一周Square HR发邮件拒了。

kik

Kik从申请到面试的流程都很快,基本是一周之内的事情,面试也挺顺利的,主要是问经历,但是他们对我两年前做的一些缓存相关的策略有挺多疑问的,可惜我对一些细节的记忆不是很准确,中间有些东西,我只能说我这样设计是有原因的,但是我忘了。-_-|||其实也是没做好准备。就这样很流畅的悲剧了。

第二轮

在Square流程还没跑完之前,我开始了第二轮的简历投递,这一轮是Google,D2L。

Google

Google是请一位师兄帮我投的,一周内就有HR联系我了,然后就是安排电话面试。由于吸取了之前的经验,我去稍微做了30题leetcode找找感觉。电话面试除了面试官迟到了一个小时以外都挺顺利的,所以去到onsite。Google的新办公室挺漂亮的,面试过程也挺顺利的,题目是所有面试里面最简单的,我答的速度也很快,所以有很多时间去做follow up,也都能做到。当然其中有些小问题听错然后答错了。这个面试应该说是准备最充分,发挥也最好的。所以很顺利过了HC,然而之后的Team match就卡住了。至今还没有下文,HR说,我们会在一年内帮你做Team match。-_-|||

D2L

D2L是加拿大本地的超级课程表。在我们这里算是挺大的一家IT公司。办公室在以前Google办公室楼上,现在Google搬走了,D2L也顺手要了Google那层。从面试体验上来说D2L是最好的,他们做了一个网页跟你约时间,他们先标好他们的时间,我再标。电话面试发生在Google onsite之前,做的也很顺利,然后HR也拒得很快。HR写邮件说他们现在需要招聘的都是更靠近前端的职位。我一开始还以为这是托词。不料过了一个月,HR发了个邮件说他们现在想招人做安全问我有没有兴趣。兴趣我肯定是有的,但是经验就没多少,就这样发给HR。HR说没关系,先来面试看看吧,然后就去了onsite了。做得也是挺顺利的,offer也拿了,下下周就去入职。

莫名其妙

EA

EA是我第一个投的,但是面试发生在D2L电话面试之前,做得挺顺利的。然后HR就消失了2周,HR再次出现的时候说,我们觉得你做得很好,但是EA在检讨在waterloo区的办公室。估计是要撤了。再过了一个月,收到红木城那边EA问能不能relocate。只好拒绝了。

Amazon

我真的没有投简历给亚麻,我上次投简历给亚麻都是1年半以前了,而且是一轮游。莫名其妙亚麻就找来了,说是AWS的BI项目,具体不说,搞得很神秘的样子,工作地点我问可不可以选多伦多,HR说只能在凤凰城。由于我想着,弄个亚麻的offer来counter google的。所以就去面试了。offer也有,但是不relocate,只好拒绝了。在我接受D2L的offer后亚麻终于松口说可以去温哥华。然而太晚了。

更新

去D2L两天后收到Google的team match。要去Google了。