Medium好读完整版(欢迎follow):
https://tinyurl.com/bdcnpxka
之前有在板上分享过找实习心得,这次想来分享菜鸟的跳槽心得,希望能给同样情况
的同学们一些意见参考~
我目前在一家做cloud computing的公司做Software Engineer (1 yoe)
中字备EE学+Ivy CE硕,算是转码仔,有在几家大厂intern的经验
喜欢做围绕ML的product,modeling/backend/infra都有兴趣
想跳的原因大致上是签证以及组里大腿跳了大半,加上想做更有impact的东西
以下就直接附上各家的面试心得:
1. Google
当初决定第一个面G的理由有两个,一是他的process非常的长,先面G才能让其他offer同
时出来做compete。二是我面的是L4 level,G算是少数几间不需要面system design
round的,我也对自己的解题能力比较有自信就先面了。我是透过同期同事合作的
recruiter获得面试机会,这时他已经拿到L4 offer且准备接了,所以我也跃跃欲试的要
求了面L4。有趣的是似乎有工作经验的就可以waive两关tech interview,我实际只有面
连续五关的VO(四关coding+一关behavior)。
虽然我只面过intern没面过L3,不过之前有给Google的mentor mock过很多次,算是对流
程十分熟悉。这次四关的难度不高而且我自认为我每一关都是顺顺的解到most
optimized & follow up解到底那种,顶多只有一点小bug有时会被提醒。小插曲是其中一
关coding在出题后因为刚好有写过,我马上就给出最佳解,但似乎跟一个英文欠佳的
interviewer理想中的解法有一点出入,那个L5 interviewer说他很久没写code,也花了
很多时间来理解我的解释,我超级傻眼……到底是谁在面谁。
总之面完后我非常自信的认为应该会过,recruiter送HC前也算他觉得strong enough所以
不用先team match。没想到后面HC却说我是borderline L4 feedback,决定给我L3而且无
法再加面或是找manager appeal。当下听到其实很不满,有点被recruiter雷的感觉,但
后来跟很多也在面Google的朋友和网友聊过后发现其实1年yoe被down-grade似乎才是常态
…(同期同事真的强)
Team match阶段我运气不错,两周就有七个组对我有兴趣,我应该在这间段quick chat了
有10通以上的…因为对GCP和infra有一点排斥所以最后选了个ML/backend相关的组,老板
人非常nice甚至还多找skip manager和tech lead来跟我介绍组和大力游说我加入!虽然他
们可能对每个candidate都这样,但如此用心也让我对他们以及组的印象加很多分。
2. TikTok
当初是抖音的recruiter主动reach out介绍我Cloud infra software engineer,听完之
后决定还算有兴趣,虽然人家说心脏与字节只有一个能跳动(just kidding),但$$看起来
实在太多了,想说拿来当练手也不错就答应了。
抖音的VO是一关过了才有下一关的,共三关VO且都十分相似,都是过履历/探讨
project/k8s concept/coding。因为面试官都在中国所以面试都在我的晚上,而且都是中
文lol 想当然整个面试充斥着中英夹杂的星星体。神奇的是他们都很爱问Tree相关(easy)
和pod life cycle的题目,前两关过程还算ok但最后一轮VO的面试官看起来十分不友善,
甚至连coding都懒得切到online editor接口要我直接用讲的,不知道在跩什么,惊呆了
我。
最后就吃了拒绝信,这边吐槽一下,我个人跟抖音这几个面试官聊天下来的感想是他们其
实根本就不缺工程师,只是想在美国hire几个来当作consultant/oncall仔的感觉,尤其
是最后一个面试官字里行间都可以嗅到乔不起我这个美国菜鸟,只能说一亩上对抖音的评
价不是一天造成的呀。
3. Databricks
看到一个台湾manager在招人的post请他帮忙内推的,因为在一亩上常常看到对这间很高
的评价所以其实还蛮期待他们家的面试,VO前会先有Tech以及BQ interview。Tech
interview的面试官体验是我遇过最好的,人nice题目也问得很清楚有水准,整个过程挺
愉快。通知pass之后安排了一个random manager的BQ,跟manager聊的也算愉快,还跟我
说帮我内推的manager有先跟他打过招呼XD 不过在他问了我手上有哪些offer后明显态度
变得不像前面那么热情,果然之后就说不move forward了…这里奉劝大家还是在确定拿到
offer后再透漏手上其他offer,算是学到一个教训。
4. Microsoft
在Linkedin找到一个recruiter获得hiring event的机会,因为默认要去Redmond office
所以我其实一开始就没打算要去,只是想当绿卡保底。HE之前要先完成一个OA,题目很简
单。HE似乎每个月都有对应的org,我们其实是无法预先知道的,所以我个人认为不太适
合跳槽的朋友走HE的方式。
当天会有连续四关的VO,每一关几乎都包含BQ/coding/system design,我个人认为整体
都算偏简单,system design一点都不刁难,基本上你能自圆其说就给过。有趣的是当天
面完我自己给自己的评价是有可能fail的,因为早上精神状态不太好。没想到隔天HR就恭
喜我过了,而且还是61(sde2) level的offer! match到的是Bing,但因为他给的deadline
只有一周和薪水都不是太吸引人我到最后一天还是把他拒掉了,HR脸看起来非常臭XD
5. Nvidia
请一亩上的人帮忙refer AI infra sde role,感觉起来比较像是devops的活。但因为跟
manager聊过觉得组还蛮弹性且有自驾车相关的project能做所以就决定面看看。
面试分了两天,第一天4个VO,其中两关专门问past experience和一些CI/CD concept,
另外两关专门问coding。整体难度也算简单,尤其是coding,我甚至5分钟不到就解了他3
题,面试官直接投降说你太强了我们来聊聊天吧XD 面试过程中我发现这个组一定很chill
,有一个面试官一开始先道歉说他还在jet lag所以恍神请见谅,另一个绑着安全带晃来
晃去,很明显在副驾的位置上…
第二天只有一个VO,这关很不像是面试,比较像一个调查你有哪些技能。反正他就问问问
,我就yes/no连答,我还以为在做questionaire lol。面完后我觉得应该会上,然而之后
被recruiter连续ghost了一个月…我每周都会发信询问进度,recruiter就各种四两拨千
金。最后我实在不想等,直接呛我对你们的hiring process感到很失望,要跟你们
manager setup一个meeting要求一个交代,他的回复依然很敷衍。在我打这篇文的时候总
算收到reject了= = 恭喜Nvidia荣登我今年跳槽体验最差公司,有够浪费我时间。
6. Uber
被Linkedin上的recruiter主动reach out的一个backend risk sde2的职位,quick chat
后觉得处理large scale data然后分析pattern这种算是我蛮喜欢的类型,不过傻眼的是
recruiter都主动reach out我了竟然还要我完成一个OA才能继续(? 就在我以为能来面VO
后,又说要先一关tech interview,刚好考了一题我做过的hard所以10分钟就解决后面的
follow up了,剩下就聊天(赚
完成OA后recruiter告诉我原本的职位已经被fill,所以把我介绍给另一个做data
pipeline/kafka的sde2,面试包含四关的VO,设计上我觉得很有门槛。他是
BQ+coding+harder coding+system design,system design明确先说前半段是past
experience任一project后半段是面试官出的题目。
coding方面其实跟每个公司都差不多,但harder coding部分的面试官属于比较追根究柢
的,我有一部分不小心口误把dfs讲成bfs后他就要求我来用两种方式解题,但我当时的确
对那题用bfs解的写法比较杂乱,写到有点没心态XD 被面试官hint了很多才把最后的测资
跑完pass,这里我都想给自己一个no hire了…
system design因为有一半是能事先准备的,前半段算是交流的蛮顺利,后半段他给的题
目我没做过,所以我就拿出grokking的万用模板,画画diagram,定定api,RMDB vs
NoSQL,Sharding和load balancer都拿出来讨论后时间就差不多了,他问的一些trade
off/optimization问题我答了后他看起来也还算满意。
面完后recruiter约了一天说要给decision,这里要赞扬一下Uber的对candidate的售后服
务,一般公司只会告诉你congrat or reject,但Uber详细跟我讲解了我每一关的
feedback和面试官建议我能加强的方向,让我能知道我到底是哪一部分做得不好。跟我想
的一样果然是harder coding这关爆了,而让我意外的是我system design的feedback还蛮
好的,给了我一点信心。唯一让我比较不喜欢的点是他们的interview是真back to back
,每关一小时(一般是45mins)且关跟关之间完全没有buffer,常常会重叠,越后面我的精
神就越差…
7. Amazon
Amazon其实一直在我的印象中不是很好,先不提各大论坛和周围朋友对他的负评,我自己
以前面过他的intern就遇过最后一关BQ的面试官no show后不是帮我reschedule,而是直
接reject我的傻眼事蹟。毕业后有一个recruiter找我面sde1结果我写完OA后(全对)直接
ghost我,隔了一年同一个人又找我面sde2= =我直接呛他你会不会又ghost我。但刚好这
时有个在palo alto的ads组找我面sde2,地点/组/level刚好我都蛮喜欢的所以就还是答
应了!
一开始recruiter跟我聊了经历后本来还跟我说我们sde2要四年以上经验喔~建议我改走
sde1流程(那你一开始找我面sde2干嘛= =),但这时候我因为已经有Google/MSFT offer,
他马上态度180大转变说ok我们可以试试sde2,看来recruiter的嘴真的是骗人的鬼。这里
也是要先完成OA,其中有一题其实还蛮难通过全部testcases的,我一直到最后五分钟才
终于全pass,事后查这题的解法发现网友留的解法都没比我的更optimized…
他们家的VO有四关,coding*2+system design+OOD,每一关都还有额外的BQ。coding都算
是蛮简单的,其中一关也是10分钟解他两题+follow up。而system design那关有配两个
面试官(for shadowing),而其中一个(菜的)竟然又no show了(我怎么每次都在amazon遇
到这种事),等了五分钟后面试官就不等他我们直接开始吧。
被老手面的结果就是....我面爆了XD 类似要我给出一个能log n解决db traffic的方法,
但我当下只想得出linear的方法。经过他给了非常多hint后他才总算放过我。面完后我感
觉没什么救,摸摸鼻子就回头签了Google的offer。他们果然给了我降级sde1的offer,
initial package甚至比我现职的还低lol。 但当我跟他说其他家开给我的offer后他竟然
同意帮我申请pay band exception到多30%的TC!算是当下我拿到最多$$的offer了,当下
十分后悔,后悔的是不该这么早签Google,不然可以compete到更多XD
后记
统整一下这些拿到的3个offer~
Google优点: 绿卡、culture
Microsoft优点: job level
Amazon优点: $$
这里也算是我烦恼蛮久的地方,可能很多人会觉得已经工作了一年又从new grad level开
始蛮可惜,但我觉得工作对我来说是一个可能会要做10年的事情,还是选择自己喜欢、舒
服的工作环境才是上策。三间公司除了Google以外的manager/recruiter真的都看起来很
没热情、压力很大,再加上我不想面临要L1去国外的情况,最终还是选了Google,接下来
因为要走绿卡所以应该近两年不会再跳了…(?
Take Away
1. 一定要好好准备面试,不要侥幸觉得多投几家就能裸面靠赛,多花四周也许就能影响
你日后四年的薪水与level。
2. 有工作经验后请多善用LinkedIn reach out to recruiters/managers,海投与内推效
率太低了。
3. 多找战友一起交流!很多消息都是网络上不会有人分享出来的,例如不到一年面sde2、
什么公司能batch process绿卡without H1B、offer pay band、不同组的文化/升迁难度
都是我本来不知道的。当然交流也是互相的,不要一昧的只想从别人那边获取答案。
4. 薪水永远都可以negotiate! 千万不要被recruiter唬住,什么这是top band、这是我
们
能给出最高的offer,你只要拿得出compete offer什么exception都能为你开出来。周围
有两个朋友甚至连job level都compete成功…
5. 保持一个正面的态度,不要因为一次的失利影响其他面试的表现。每个人大概一开始
前
3次的面试都是最糟的,赶快让自己过度掉这个时期!
最后祝大家都能找到自己喜欢的工作!也记得求职之余也要好好放松!