骑马找宝马攻略:已经在FANG(不说FLG了),要百万只能往独角兽跳了

要跳趁早,时机不等人。

我的背景:西雅图地区的谷歌,五年多经验,主要做backend。最近一两年,身边朋友纷纷跳槽新痒痒。现在比较后悔的就是,早知道两年前刚拿到卡就该挪一挪,拖到现在算有点晚了。另外一方面,在G干的活,现在也越来越提不起兴趣。朋友的怂恿和激励下,去年10月终于下决心要跳了。

社招/ experienced hire,刷题到一定程度就够了,其他的知识积淀还是更重要

当时也没想要跳湾区,差不多就是一心想去打车公司UBER的西雅图分店。其实去年夏天就有些蠢蠢欲动了,刷了几道题后懒了又不了了之。10月份开始认真刷lc,刷的也不快,到12月才勉强刷一遍。后来回想,浪费很多时间,其实各个种类挑着做50~100道应该就差不多了。然后花了很多时间精力去复习系统相关的知识。G家自己的用过的infra复习下,spanner没用过,正好跟新project沾点边就看了个大概。有些东西像chubby, pubsub用过但是内部完全不懂,趁这个机会也翻翻人家的design doc有点大致的了解。当然最后我觉得也没有真正派上太大的用,不过做为知识积淀也挺好。然后就是市面上的技术
我是完全没接触过,起初还很担心,不过学了一圈下来也觉得没啥高大上的,大多能在G里面找到类似的,而且比起G做的更简化。这些花的时候不必刷题少,而且design doc/tech report/paper这些读起来可没有做题那么有趣。

废话一堆之后,来聊聊面试经历吧。如果你是来找算法题,可能要失望了。忘了有没有签nda,不过遇上很多国人interviewer,慎重起见我尽量模糊化具体的面试题。其实我说了也没用,真的,更重要的东西其实是在交流上。

悲剧无所谓:面最心仪的公司前练练手也很有必要。

12月朋友催我说打车公司又要融了以后pay的越来越少要来赶快啊,我总觉得没准备充分犹豫了一阵,月底才鼓起勇气让朋友递了简历。对拼趣一直也挺感兴趣,也让朋友帮递了,不过说实话,当时也就是想试试而已。然后顺手找人帮投了个脸书家,想拿来练手。听说facebook考刷题比较多,我自以为擅长做题。加上我背景里面social graph,  infra, product都沾点边,去面之前有种offer手到擒来的感觉。结果就悲剧了,怎么说呢,也不算是被黑,发挥的也不好,有些很弱的失误回家路上就意识到了。算法题基本上都是lc上的,有一道是hard但是那种非常经典大家都会做的,其他都是medium水平的题,一共涉及了binary tree, stack, backtracking, prefix tree这些知识点。系统题是让设计一个code search系统,基本上就是先装模作样分析估算下,然后画画大的框架,反正差不多就是凭着经验和感觉走,然后接下来就是interviewer提问,对某些component或者某些具体的情况zoom in进去讨论。虽然search我没做过,indexing系统还是稍微接触过的,但是时间久了忘了不少,回家后又正好补了下知识。

等脸书结果期间面了两轮u的店面,两轮都是很nice的中国人,跟第一位大哥中文聊天也聊得非常愉快,coding题目也不难,用queue就能解决,大概也是放水吧。第二位系统设计也是国人,问的google map,当时也没怎么准备过geospatial方面的话题,我觉得磕磕碰碰的,结果还是承蒙面试官放水给过了。P家店面又是中国人,运气很好,问了中等难度的lc题,就给水过了。不过有意思的是,这两家的coding都是online写完编译调试,像我这样经常犯些typo或者弱智失误的,调试能力就可以弥补一些粗心,啪啪啪的很快改完跑通,大概也给interviewer留下确实能干活的印象吧。不过坏处是如果
一两分钟没调出来,压力瞬间爆棚,只能扛着了。
赞:其实大部分国人还是很nice的,遇上是缘分和运气!

这个时候fb悲剧的消息到了,感觉信心很受挫,情绪比较低落,本来觉得十拿九稳的事情都黄了。其实现在想想悲剧是好事,让我带着卑微的心态努力尽力的准备之后的面试。

NERD也要能侃:面试中交流聊天非常重要,我觉得不亚于做题写码的重要性。
打车公司的onsite是在三番,虽然我申的职位是在西雅图。第一轮是老美mgr,名义是考behavior,其实就是聊天,没有什么奇怪的问题。我准备的也比较充分,比较放松,吹吹自己做项目的经历,侃侃对他家美好前景的向往,大家聊的也很愉快。第二轮是设计题,他家的几道经典设计题目之一,设计netflix。还是先需求功能分析,然后画大框架结构,然后主要问了下,serve media file怎么做到high available, high throughput,这方面其实不太懂,这个时候就只有借助知识储备开始瞎扯,一会儿瞎扯些分布文件系统的东西,一会儿又瞎扯些backup requests,parallel read等方案,然后上面的caching层再扯几句。接着又继续问了recommendation系统,时间不多,只能大致提了下user-based/item-base CF这些。其实几年前粗略的看过一些netflix做推荐的资料,马马虎虎应付一下还凑合。总的感觉还是聊的比较愉快,交流上基本上还是比较合拍。接下来一轮,我现在还有点摸不着头脑的感觉,很open的problem solving,说是design但又不是system design,大概就是主题公园排队时提供fast track,比如,交5块钱,告诉你一个小时后回来,有点像scheduling系统。最后还让写code简单模拟一下。我稀里糊涂的都忘了怎么答的,感觉答的如何心里很没谱,最后居然也还是给过了,也许是我东扯西扯一堆,擦着边击中了面试官心里想听的点子上?接下来一轮是coding,简单的有点莫名其妙,其实后来听了不少别人的面经,U家问简单coding题似乎是很正常的!不过然后不停的followup,如果这个是正式的code,unit test你怎么写,让你自己做code review,有哪些你会改的,怎么refactor?感觉是在考察实际工作中写码的能力,其实也make sense,毕竟工作里面是没有机会写太fancy的算法。不过我觉得这样面,有工作经验的人写码多的人,尤其是从像g这样code review严的地方出来的,应该都能pass才对。最后一个人又是聊天,大概聊了一半时间后,顺带着引出一个系统设计问题,也是经典的高频题,就是让设计他家的打车系统里面的一个feature,轻松搞定,走人。

总的来说,一大半时间感觉都是聊天,扯,吹牛。他家也特别看重culture fit,就是你要有passion,要有ownership,做事快,take risk。我觉得这些都是靠聊天里面慢慢透露出来的信息,不是说简单直接了当的问。当然了,认真准备culture fit我觉得是非常有必要的,其实技术上的水平和背景经历,面试之前基本上就是定下来了的,而culture fit是可以通过认真准备更充分的体现自己的fit。对了,每个interviewer必问一次为什么想来U家,我都快能背下我的答案了,最后一个人问的时候,我就明给他说, 前面问过很多次了,I’ll try to answer this in a different way,然后就即兴了。

拼了去了: 有针对性准备充分,也许会胜过广撒网批发面

一个星期后就是拼趣的面试。这一个星期内主要的功夫是花时间用他家的产品,做功课,产品功能,business model,并且想想哪些是做的很好的,哪些地方可以提高怎么提高。然后拼趣家的四点文化,认真想下交谈中怎么结合自己的经历能体现出来,对于有经验的人,我想这些下功夫都是能做好的。虽然我准备了这些,但是最后其实很多准备的东西都没有机会用上,不过至少还是让我有足够的信心去和面试官交流。拼趣的中国人非常多,更难得的是,中国人都很抱团很友善,有三轮都是中国人面试官。因为准备加入拼趣,面试题就不详细写了。

俗人说钱

打车公司最先给offer的,但是包裹一开始压的非常低,base跟现在差不多持平还略低一点,只有$43w股票,基本上包裹就是跟现在持平,很失望。直到我有了拼趣的offer,才追上来,谈到68w也谈不动了。

拼趣很快给了口头offer但是各种原因数字拖了一周才出来,base还不错比现在高,但考虑到州稅。。。股票最后给涨到1个米,整个过程非常爽快,我也很开心。我知道有牛人能要到更大的包裹,不过我想自己满意了就好。朋友说他家每年给的refresher也比较给力,想起来纸面上的数字还是很吸引人。当然,如果没上市,就是一堆废纸。这次也是我第一次真正经历negotiation,最后效果也还满意,也从朋友那里学习了不少讨工钱的经验,如果有人有兴趣可以私信我,或者下次有空写写。

大结局

最后选了P,钱给的满意是比较小的一个因素,其实U给的也算还不错了。其他很多个人的考虑,这里就不多说了。至于公司前景的比较上,不用说U的吸引力非常大上市几乎是必定的,P的风险相比更大,但是潜力也不错,团队也很强,我觉得拼趣的monetization做的不错,感到有比较强的信心。有机缘跟很多p家的国人接触过,觉得他家中国人多而且友善团结融洽,这点很喜欢。

Related Post

Be the first to comment

Leave a Reply

Your email address will not be published.


*