东北大学(NEU)博士如何获得谷歌和亚麻的大包

写在前面

这篇文章是一位PKU,NEU CS Phd师兄的求职经历,文中会提及职业发展建议,技术面试准备,以及行为面试应该如何作答(想要发现更多求职信息请点击这里)。

1. 概述

北京大学 计算机系本科 + 硕士研究生

Northeastern University 计算机系 PhD

Offer:Amazon L5, Google T4

去向:Google Ads组 SDE

我从本科开始就一直是计算机系的,当年想在国内找工作所以读了研究生,但是后来发现还是想出来做做科研,于是在毕业前申请了PhD。

这里我的建议是:如果想做科研,那就读Phd,如果想去工业界做码工,应该越早越好——本科毕业最好。因为本科和硕士毕业在公司级别往往是一样,PhD有时也是一样的,即使高一级,五六年的时间成本如果本科直接进公司可以升好几级了。另外公司的训练完全可以抵得上硕士的专业训练,而且很多学校提供兼职读硕士的机会,公司还会报销部分(甚至全部)学费。本科毕业读硕士应当是在想出国,或者没有很好的offer的情况下才考虑的选项。

科研 vs 码工:以前是抱着一颗科研之心来读博的,但是现在学术界竞争激烈而自己水平有限,就不加入了。有追求有梦想的同学一定要坚持。

实习: 强烈推荐,实习中学到的东西比刷题有用多了。而且实习后的return offer一般最靠谱,拿到了心里也有底,如果想的话也能再去投其他家,不慌。

2. 找工准备

自从2018年初开始就想着准备找工作了,但是并没有实际付诸行动。一直忙于做实验和写论文,想着把毕业前最后一篇写出来就可以安心刷题了。只是没想到一拖就是半年,终于在六月底开始行动了。根据个人经验,劝想要找工作的各位,一定要早点开始,不要等到“闲下来”再去做,也许突然老板让你做一个项目,也许你高估了自己完成事情的能力(对我来说这个经常发生),真正闲下来时已经过去好久了。每天哪怕只做一道题,也能积累一个很大的数量。

说正题,对一个 new grad,找工作主要就是刷题。我是先把要刷的题目类型先总结了一下,这个在网上有很多的 blog 都总结的不错,也有各种主流公司的高频、爱考什么题型等等。各大刷题网站上也有 tag。建议大家先去看一下,做到心里有数,开始练习的时候就知道自己哪类题目已经可以了,哪一类还不够明白。刷题的方法这个见仁见智。我的建议是,如果开始准备的时候觉得简单的题也想不明白,那多半是基础没打好,需要去复习一下 algorithm and data structure,把基本概念和常用知识搞清楚先。

尽管上过算法课,之前找实习的时候也刷过几道题,我在去年开始刷题的时候也没有觉得很顺利。很多题目都有corner case,不容易一次就 bug free。我开始也有点挫折,觉得自己这么多年 CS 白读了。不过渐渐的有了些经验,思路也理顺了。常考的题目类别并不是很多,只要坚持下去,自信心就会逐渐上升。

等刷题有了信心之后,就可以开始申请职位了。这个过程中内推很重要,没有内推的话,对于一个 new grad 来讲是很难拿到面试机会的。建议在刷提前就联系一下认识的朋友、同学等等,发展一下关系网。大家一般都乐意给你推荐。当然要有诚意一些,对于不太熟的内推者(朋友的朋友这样的),听说要尽量把自己的简历和刷题情况通报给对方,让对方心里有底可以帮你吹一吹。如果面试表现太差的话对内推的人也不太好。有人没准备就去面试,结果面试官很生气的在公司里问“到底是谁把人推荐来的!?”。

(小编补充:内推一般都会有个评分系统,会问这个人你觉得在你见过的人当中排百分之多少,如果没有比较好的背景或者和内推人很熟,一般内推人不会给很高分,那对面试者并不会有好处)

我前后一共投了十家公司,其中有HR联系我的有六家,拿到电面的有五家。石沉大海的四家里,两家是没有内推,两家是投的太晚(2月才申请)估计已经招满了。看来最好是赶在秋招前期就安排面试,早点占据head count。我是写 paper花了太多时间,到今年一月底才开始系统的申请。大家引以为戒。

3. 面试

先说电面,我觉得比onsite还随机,一道题就决定是不是能过。除了多刷题多看面经,还要注意跟interviewer的交流,有不确定的地方就立即问一问,对方一般也乐意多解释,这样也利于你思考。我不建议听完题目后就自己立即开始做,哪怕跟interviewer重复一下你对题目的理解,也是有点用的,说不定开始你理解错了呢。这个过程中也要注意时间,有个思路并且理清之后就立刻写。电面一般不会很难,但要注意follow up的问题。

我投的都是developer,但其中一个电面事先我没问清楚,结果问了很多Machine Learning的问题,必然是挂了,尴尬。事先要问清楚HR这个岗位需要的是什么skill set。

再说onsite,这个没话说,就是看刷题是不是够好,以及跟interviewer的交流。Amazon的每轮面试会花一半时间问behavior question,就是考他们的leadership principle,这个网上有很多总结,一定要事先准备好。一般会被问到这样的问题:说一下你面对工作上困难的经历,你有没有收到过非常差的工作评价然后你是怎么做的,如果你不喜欢某个同事但又要跟他/她在一个项目上合作你会怎么办,谈一谈你面对压力时工作的经历。不要说你没有这样的经历!我在准备这类问题的时候就把自己之前遇到过的一些事情整理一下,跟 leadership principle 做做关联,也就是说在讲自己的故事的时候让面试官知道我的处理方法体现了某条 principle。我的感受是,在讲自己经历的时候要有细节,不能简单的说“我多投入了时间然后完成了项目”,一定要多讲自己采取了具体什么方式,比如可以说“听说某个项目A遇到了困难,我于是立即跟老板谈了一下,把另一个项目的deadline退后,每天花半天时间在A项目上,在网上搜索相关的解决办法,并且跟同事多讨论,请教有相关知识背景的人,最后尝试了多个方法后终于发现其中某一两个方法是有效的,然后在deadline前解决了问题”;甚至可以多说两句 – “我还在项目上添加了XYZ feature,这个是客户之前并没有提到的,但是我觉得将来会很有用,于是跟客户提出来,客户很认可” – 这样的话就可以关联到 dive deep, obsessed with customer, ownership 这几条principle。这些是看网上很多前辈总结出来的经验,尝试了一下,似乎效果不错。

4. 总结

最后四个onsite拿到三个offer,还有一个公司四个interviewer全给了hire但没strong hire所以他们招了别人。

最后去了谷歌,需要relocate到湾区,也是比较纠结因为本来想留在波士顿的,但还是更喜欢G家,也想趁着还“年轻”去硅谷看看。波士顿机会也不错,将来希望越来越好。

想要发现更多求职信息请点击这里:)

------ 关注公众号:猩猩的乐园 ------