您现在的位置:主页 > 美国留学-就业 >  CS PhD疫情期间找工总结
老师推荐

​ CS PhD疫情期间找工总结

2020(7-9月)-CS博士+fresh grad 无实习或全职 | 内推|Southern California 码农类General全职@
这周终于签了最终的offer,结束了最近持续了几个月的找工过程。之前从地里也获取了很多信息,所以写个帖子总结一下,希望也可以帮助一下大家。

背景:CS PhD,database方向,有几篇VLDB,还有两段IBM Almaden和MSR的实习。今年年底毕业,找工都是投的database SDE的职位。

timeline:我从今年就开始陆陆续续的刷题,今年六月份的时候开始联系了一波公司,但是当时有一些公司由于疫情的原因(FB,GG,Oracle和IBM)说2021年的招聘还没有开,所以我又等到了8月份才开始正式约面试。其实没想到的是那些六月份因为疫情不招聘的公司,到了8月份的时候依然没开始招聘,而且之前联系了一个AWS的组却招满了。所以给大家的一个建议是能早开始就尽量早开始,越往后拖可能会更差。八月份的时候约了一些面试,幸运的是所有面试的公司都能到了offer,最后谈判了一个月之后最终接了Snowflake的offer。具体的面试过程后面会详细讲。

题:我接触过的学长都告诉我刷题很重要,所以我也很重视刷题。8月开始找工作的时候我刷了1000多道题,并且重要的题都是刷了N遍。LC的周赛一般把4道题做出来,而且保持前两百的水平(有一次特别幸运拿了第八。。)。这里有一个很重要的转折,6月份的时候我自我感觉刷题比较好了,结果约了苹果的一个电面想试试水。电面考了LC 起舞就,很经典的一个题,但是我当时比较紧张,只给出来一个O(N*K)的算法,所以后面也就没下文了。因为我准备8月份才开始约面试,这对我当时的信心打击很大(不过后来幸运的是这是我唯一挂掉的面试)。当时就感觉之前刷题的数量虽然比较多,但是深度还不够。所以我又把之前刷过的题重新刷了几遍,包括每一个类型下的经典题。最后因为没面谷歌的原因,面试遇到的题目总体也都不难,但是个人感觉刷题确实是很重要的。

面试:我大概投了10家公司,都是database相关的。其中FB/GG/Oracle/IBM这几家hire freeze了,就没有约面试(上周一GG的recruiter找我开始约面试了,但是我已经拿到了一些心仪的offer,就没有再继续面)。下面重点介绍一下我面过的一些公司(具体的面经可以参考我之前发的帖子)。

Couchbase:一个database的G轮创业公司,跟我们组有一些合作,也是我面的第一个公司(挂掉的果家不算)。后来面了三轮,很快就给了offer。当时拿到offer之后心态就轻松了许多,至少有保底的offer了。。。

MongoDB:一个纽约的database公司。我是找之前开会的一个大哥给我的内推(这大哥是一个Distinguished Engineer)。这个大哥也是特别给力,不光给我推了MongoDB,还给我推了Facebook和Snowflake(他之前的同事)。MongoDB的面试整体不难,不过这里有个小插曲是给我面试的时候是按一个senior engineer的职位约的,结果最后给offer没有给到这个级别。我当时特别生气,就跟recruiter说要是这样的话我就认为我没有通过面试,大概率不会考虑这个公司了。后来recruiter真就把级别给到了senior,而且公司也涨了一些。

Snowflake:大家应该都熟悉的一个公司(因为9月份的IPO)。整体的面试我个人感觉有些难度,不过面试官会积极的给提示,会跟你一起解决问题。最后VO结束十五分钟之后director就发邮件给了口头offer,因为他看到之前所有的feedback都是positive的。后面我花了一个多月的时候谈offer,最后也签了他家。

Microsoft:找我之前MSR的实习mentor(一个69级的parterner researcher)给我的内推。一开始我对微软比较有信心,因为mentor把我的简历发给了一些org级别很高的人。但最后没想到的是因为疫情的原因,很多组也都是hire freeze,最后只有一个CosmosDB的组给了回复,而且要等7月份之后才知道是不是有headcount。拿到offer之后,我老板给我说组里有一个前几年毕业的phd也是去了这个组,正好我可以问问他是什么情况。结果问完才发现这个组总体来说特别坑,烙印也是特别多,所以我直接拒了这个offer(不过这个HM给的钱确实是很多)。

ByteDance:他们年初的时候新成立的一个database research的组,年初的时候这个组的老板在linkedin上找到了我,说看了我的论文想跟我聊聊。后来8月份的时候就申了他的组,开始了面试。这里值得一提的是他的面试过程比较奇葩(不知道ByteDance是不是都是这样),一共面了四轮,但是是每一轮过了之后再约下一轮,所以导致整个的流程特别长。字节给我的package是最大的,但是后来考虑了一下之后还是去了Snowflake。

eBay:找之前认识的一个phd给的内推了它家的数据库组,后来一共面了四轮并且拿到了offer。没接它家的主要原因听到了一些负面的消息。

Cockroach Labs:一个NY地区的database startup(今年刚进行了D轮融资)。之前跟他家的CTO有一些联系,后来就推荐了我申请。这个公司的创始人都是从谷歌出来的,所以面试的风格也都很像谷歌(当然题目没有那么难)。但是最后的offer现金太少了(只有15万),大部分都是期权,感觉不太适合new grad。。。

AWS:因为我一开始申请的组里没有headcount了,recruiter就又给我找了一个组。但是发现面试官大部分都是烙印,而且背景都很奇怪,加上我之前收到很多offer了,所以我就直接取消了。。。

谈判:我大概8月底收到的snowflake的offer,当时的package大概只有20多万,后来9月底才签,package也涨到了30多万(PS 我的股票价格是按入职后第一个月算的,没有赶上IPO)。所以整体上来说谈判花的时间比面试还长。这里给一些想拿大package的同学分享一些经验。不过现在疫情期间谈判也不太容易,感觉还是根据自身情况谨慎操作。。。
  • 首先可以参考一下https://haseebq.com/my-ten-rules-for-negotiating-a-job-offer/,里面讲了很多谈判的经验。
  • 一定要有compete offer。从自身经历来看没有compete offer的情况下很难把工资要到很高。我一开始就比较倾向于snowflake,它家的recruiter也告诉我说得有compete offer之后comp team才愿意把package加上去。
  • 每个公司的情况不一样。其实愿意给大package的公司不是特别多,但是由于hire freeze的原因,GG跟FB我都没有面试,所以导致后来谈判相对比较被动。但是幸运的时候bytedance给了我一个比较大的packge,才让snowflake给match上去。但是对于有的公司(比如MongoDB),就算你有了compete offer之后它也不一定能match上,毕竟每个公司的情况不一样,也没有必要强求。
  • 给公司报价。一般给offer之前hr都会打电话问问你的期望薪资是多少,这里我的建议先不要说任何数字,让公司根据自己的能力去给。这样一般给出来都还有谈的余地。要是给的少了,你可以再把其他的offer报出来,当然给的高了你就赚了,可以再去让其他的公司compete。

下一篇:没有了