湾区面试了FLAG在内五十家公司的得与失

发布于 2021-11-24 12:20 ,所属分类:2021面试经验技巧分享

作者:学以解忧

链接:https://zhuanlan.zhihu.com/p/69887003
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

从电面,到Onsite,我面试了五十多家,不管是大牌还是虾米,我都体验过了,分享一下。

Facebook:这家公司采用的其实是对中国的苦孩子最友好的面试方式了- 背题!FB有几个特点,第一是一轮要尽量考两道题,所以不能考难题,难了就做不完了;第二是考原题,相当于已经提前漏题了。第三 做题的过程强调模版。前两个特点非常非常适合中国人。中国人的两大特点就是吃苦耐劳+缺乏专业兴趣。吃苦耐劳是儒家从小教育的结果,缺乏专业兴趣也是题海战术下的蛋。FB的面试准备简单说就是疯狂地刷Medium题,背到最优解盲打的地步,我被FB拒的原因一个是因为题做得不熟练,磕磕巴巴地做两道题是拿不到Strong Hire的,我自己一直对Domain knowledge更感兴趣,平时在刷题方面下得功夫不够要检讨。另一个是按模版做题的习惯还没有建立起来,feedback特意指出了这个问题,我认为点题-展开-收拢三部曲这个模版其实是挺好的训练风格。

Facebook以年轻人为主,我观察到的Facebook员工有两个特点, 一个是中国人比印度人多,另一个是中国女生长相分布非常正常,这也说明了FB就是用题海筛选人的,公平!我觉得另外某家就是偏好漂亮的女生,会故意降低门槛,比如面试女生考考HashMap, 面试男生烤烤线段树。所以有些极端的女留学生竟然在求人推荐工作的时候打出来“颜值高”的口号来了,无语!还有的女生声称只要精通LC的前150道题目就可以横扫湾区了,呵呵。

顺便说,要想用算法题把人卡住太容易了,只要没见过的都不容易短时间做出来。我自己手边就有东欧人编的习题集,随便选一道估计刷题不上千的人都得卡住,45钟内出想不来正确思路,更不说Bug Free。所以说FB筛选出来的其实就是某种特质的群体。

Aamzon:对任何面试者都非常友好的面试方式了 ,Amazon考的都是来自题库的题目,或者经典高频难题,所以懒惰的白人也能对付了。Amazon是业务驱动的公司,模仿Walmart的“Frugal至上”的经营理念,比如说去Amazon或者其下属公司Onsite面试都不管饭,故意安排你单单上午或者下午去面试。所以亚麻家的面试Cultural fit 比会做题还重要,想去amazon的话如果好好把题库刷熟了,把Amazon Principles的14章经背熟了,把自己的Story结合这些原则编好了,还是容易的。Amazon的面试要是failed的话,就是准备不足!自己检讨!每次Amazon OA的题目都必然泄露,不管题目多难,不管几维DP,只要题目泄漏了,对中国苦孩子它就变成了送分题!从题库的角度看,FB和Amazon的面试理念其实挺像的。

Google:白人nerd为主,出的有些新题其实是原题的伪装版本。也有懒人出原题。如果从算法的基本原理出发的话,没见过的题目也有希望作出来, 但是的确新题多, 经常需要现场强推,不如其它家那么好对付,如果实力不是超强刷题过千的话就只能指望运气好了。过程也需要遵循FB强调的三段模版,好几个Googler都说Leetcode刷200多题就可以对付Google的面试了,我认为这样说的人都是运气好加上聪明,我实话实说-只有在刷的200多道全是Hard级别的前提下才有希望碾压Google!刷200道进Google的应该是一方面运气好没有遇到难题,另一方面能从200道题目里总结出套路的。

Microsoft:微软最近几年转型很成功,Azure很火,股价飞涨 。MS的面试非常有诚意,hiring event那天专场专人面试,面试Senior的职位就全是经验丰富的资深员工来面,而且面试反馈迅速,从电面到onsite,最终出结果不到一周。但是MS的bar其实比Facebook还难缠,对Senior的candidate既要求Bug free,还要求做题快,最后还得background match,有相关的工作经验。这三个要是都能满足了,也是横扫西海岸的牛人了。MS的好处就是像Facebook一样不考难题,而且BQ轮是真的Manager认真地和你聊天来了解你的背景和气质。反正我对MS的印象非常好!

网上老是有国人说被印度人面试的时候给黑了。我个人认为遇到印度人面试官其实是个好事,印度人很懒,爱出高频题目,好好刷题就可以对付。老中应该记住老印也是第三世界来的苦命人,而且印度人做事挺规范的,有好几次面试人家说话都很客气,问的就是Java的基础题目和常规算法。有一次一个老印Director甚至和我聊了不到十分钟就说可以了,准备去Onsite吧。Onsite的时候虽然Team全是印度人,也挺友好,HM最后还和我聊了聊中国的高铁,经济发展等等。

白人面试官对沟通表达的能力特别在意,他们也刷题,但是不疯狂刷题,所以面的题目倒是不难,要么是quicksort这样的基础题,要么是偏向实现的应用题,但是表达不好的话反而很容易被据。我看人家给我写的feedback特意说我表达专业词汇有限,估计也比就雷军强一点。白人从小就特别注重沟通能力的培养,所以老中那种会做题就行的思路完全不灵,有好多同学题刷得太熟了,看到做过的题目一边心中窃喜一边飞快敲代码,想着写完coding后再跟面试官解释。人家往往拿一道题面过了几十上百号人,对答案正确考察之外,很看重看你是不是个平时能把事情解释清楚的人!面试过程应该是讲课,而不是默写。

俄罗斯人喜欢问数学应用题。这个和老美白人问的应用题不一样。老美喜欢问你模拟实际问题的情况,比如如何通过购物者的不同爱好求出类似推荐算法的交集这类问题,俄罗斯人喜欢问的是鸡鸭兔几个头几个脚能推断出到底几个鸡鸭兔的奥赛题。我其实挺讨厌这种题的,花了好大功夫才排除干扰搞明白简化抽象的模型。我和俄罗斯人在不同的公司当过同事。他们没有中国人那么多心眼,有点一根筋的感觉,好相处, 但是俄罗斯爷们英语口音奇差的同时编程水平偏高,作风凌厉,面试出的题目偏难,令人头疼!记得去某家面试的时候,一道题目几行code刚刚写完,往后退身一步正要检查,俄罗斯大哥就说“你的code有三个bug,要我提醒吗?”

老中面老中的事是个热闹话题。一般情况下老中还是愿意放水的,有的老中HM就直接用汉语对我明说了,想多找同胞。还有的老中做完题目还可以聊会天,很友善,有的甚至会在最后说我会让你过,但是你需要加强某些地方,回家后看看资料吧。当然了要是常见题做不出来,没法过,这是基本门槛。

不过我注意到很多老中的确出题喜欢选那些细节比较Tricky的题目,典型的是Rotate Image这种,这种题目做完了如果一段时间不看也会忘掉tricky的细节。我无法理解这些同胞是咋想的,难道故意等着别人在这些tricky的地方卡壳?我遇到的印度人出题就比较偏爱从算法基本原理出发的,比如基于DFS或者BFS,哪怕不是原题,也能当场推导出来。

当然了国人Hire Manager真实的录用决策其实也需要最大化自己的利益,比如印度人的背景和表现比同胞好,当然是录取印度人。另一个是要考虑集体的意见,团队feedback不统一的就不好考虑了,不说谁黑谁的事,面试多检讨自己,起码是个查缺补漏的机会。我每次面试回来都要把面试的过程回忆记下来反思总结,甚至发现了一些有意思的pattern。我们华人找工作的最好是有硬实力,别老指望同胞放水,就算败了也要知耻而后勇。我从刷100道题目面试屡屡被涮,到刷300题目后能看穿套路,自己能感觉到水平明显有了飞跃。

老中面老中的最大问题是对彼此太了解了!有时候会觉得中国人最好,有时候会觉得中国人最mean!我面试这么多家,听到的最赞美的话来自一位很早到就美国读书工作的大哥,说我“平和而自信“!体验最差的冷漠待遇来自一个从国内Transfer到美国的一位同龄人,充满了怀疑,面试过程像是警察盘问,甚至说他已经事先通过国人同事调查过我的背景了,我估计这种做法是违规的, 我从来没有见过白人或者印度人这么干的。有些Transfer过来的中国人习惯了逢迎上级压榨下级的做法,而且特别不信任别人,和那些到美国读书工作习惯了人人平等就事论事思维方式的同胞冲突很大。这些国人无论面试别人还是领导工作,都是一副我赏你碗饭吃的倨傲态度。

我觉得国内空降过来的中国人本质上不坏,但是缺乏如何做事的训练和人人平等的民主思维。引用Glassdoor上面的一个review总结就是 "pro to blame instead of supporting"。不要小看到美国读书的经历,通过平时学习和生活上打交道,民主平等的作风其实已经潜移默化地影响了从中国来的年轻人。同样是加班赶活,西人领导可以客气地问“不好意思,周末能加下班吗?”,我们的同胞则是苛责“周末为何不加班?”!华裔创办的公司在办绿卡方面也不友好,硅谷白人左派办的公司很多是去了上班马上就开始办绿卡,华人企业是绝对不可能有这种好事的,老中太精明了,可以收留英语烂的一塌糊涂的同胞,但是便宜是绝对不能让同胞占了的。

老中的表达是个极大的问题!尤其是男生!我观察到老中的英语表达太缺乏训练了。一个是不知道语言表达需像GRE写作的文章一样结构化,另一个就是英语本身句子语法和词汇很烂,口音太重了。我听过比较明显的有山东英语,浙江英语。有的就算是Top2的,说话也啰嗦的不行,我作为一个来面试的听着都着急。老中男生应该好好抓住一部发音标准和表达优雅的美剧,比如This is us,听上五十编,烂熟于心,把句子结构和发音表达都学好!

老中知识分子的另一个大的问题就是怂, 患得患失。就知道刷题,拼书面成绩,很多人是当代孔乙己。脑子里装的都是到底精确地刷多少道题目就可以过线的焦虑。任何没有经历过的小事都吓得要死,诚惶诚恐地问大家是不是面试就此打住,前途就此完蛋。比如说有人问上次onsite挂了,下次再申请的话会有负面影响吗?这都是一些不值得考虑的东西,实话说你的运气最有影响了,万一面试的时候刚好考到了你的“脚后跟”,此轮就黄了。老中知识分子要多发展Street Smart, 即使面试出了问题也要勇敢地向HR反馈。我遇到过印度人面试官出了不合适非英语母语者的题目,放下电话马上给HR写信投诉,一天后HR就回应说说换人重面。

书呆子们要早日明白勇气其实比知识积累更重要!相对中国人而已,印度人的情商优势比英语还要厉害。二线公司的一线manager好多都是印度人,连印度女生都大把大把的manager。我去Pandora面试的时候特意注意到印度女HM的英语真的是优雅呀!长句多,表达非常地道!我有个以前的印度人同事成了好朋友,他爸爸在印度是厂长,和他聊天后我觉得原因是印度长期是阶级社会,来美国留学的印度孩子出身于中产阶级家庭,特别注意察言观色,从小训练这个事,工作中经常是他点拨我。中国孩子好多都是草根家庭出身,成绩好就是天,别的不是没时间,就是没有意识去可以培养。我觉得这是真的。我自己有高干亲属,我和他家的表弟出去,他就常常教育我说话的时机和方式如何最合适。我自己一个是情商低的典型,一个是从小光花时间精力搞学习,另一个是穷人家庭,接触的都是走卒贩夫,没有需求去注意这些东西了,而且最后去读书的某著名技校也是出了名的故意压制学生情商的培养,可怜啊,情商发展在年轻的时候都给耽误了。我认为真正的高情商并不是有些中国人搞的那套东西,而是如何在规则之内合理的做事。同样是push下属完成任务,manage up上级领导,留美印度人和西方教育体制下出来的人做得非常规范,而有些中国年轻人,尤其是底层出身的,有时候会出现吃相难看的情况,比如特别谦卑和盛气凌人地破口大骂这两种行为出现在同一个人身上,就是因为从小爹妈就没有教过这些事。

关于面试的feedback,由于存在法律风险,一般情况下我们面试的人是得不到的,不过我在一年以后第二次面试FB的时候特意问上次失败是因为那些地方做得不好,所以还是被提醒了需要改进的地方,其实这个feedback非常重要。人家一说我就明白了问题出在哪里了- 比如人家说我有时候沉默不说话,这其实就是刷题遍数少的结果-现场想思路呢!

题海战术还有一个常见的毛病是即使题做对了也缺乏Wrap-up环节,其实这个说得是在思路正确的情况下如何能follow三段式模版表达清楚!这方面的提高我推荐Udemy上面的Stephen Grider的Code interview课程,他的讲解方式非常好。

如果收到拒信的话,抓住一切机会和Recruiter电话交流,虽然她们不愿意透露feedback,但是我们诚恳要求的话还是会稍微说点的。比如Google的recruiter在电话中问我是不是没有CS的学位呀,我就明白了面试的哪个环节出问题了-对算法性能的理论分析没说好,这些不难改进,但是你得首先知道问题在哪里。这是我一直强调的,定义问题比解决问题更重要!去不了FB或者Google不是大事,但是若没有学会事后复盘,不能持续改善就真是的人生Bug了!在面试Google的时候和一个很好玩的老美白人面试官聊天,他直接坐在桌子上,说来面试的人最应该好好学的语言不是Java or C++ ,而是英语,他在Code review的时候花了很多时间在comments上面,而不是code本身,显然,那些comments是在google的非英语母语者commit 代码的时候写的。

我发现面试过程如果和对方没有感觉,那么很难拿到好的评价,这东西就像恋爱一样,实力是一回事,缘分也很重要。凡是面试最后能愉快聊天的都是好的结果。我记得有些面试中间的时候,我强调我之所以投简历,是因为我喜欢他们的业务,对方听了非常高兴,对我不知道的技术细节现场点拨。相反,有几次老中面试我,从他/她们的不耐烦语气中我就知道结果不妙,所以当他/她们例行公事在面试结束前的五分钟问我有何提问的时候,我都是直接说没有问题,气场不合,何必勉强呢!会不会做一道题真的说明不了啥,有些东西更重要。

有些公司格外重视behavior的情况,比如Riot Games第一轮面试竟然是behavior,而不是coding,他家认为对某种事业没有激情的一律不予考虑。奇葩的地方是他家如果拒了你也要特意安排一个post- interview, 仔细地复盘整个面试过程,指出了为何决定不move forward,令人非常感动!Amazon也是一半的时间在面behavior。这个需要精心地准备,不过behavior本身是长期养成的结果,你面试的时候说得再好只能是当场糊弄人家,工作了以后还是会原形毕露,除非有意长期改进!

绿卡的问题。其实很简单,EB类的绿卡说白了就是美国政府给外国技术人才端出来的免费福利, 就像一锅大白馒头摆在众人面前。公司愿不愿伸手给自己的员工去拿这个免费的福利就体现了这个公司的治理观念。没有绿卡就像饿着肚子干活一样。同样是世界五百强,微软这样的西海岸软件公司认为人才最重要,让人才吃饱了才能安心工作,所以员工一入职就开始办绿卡,一年可以申请超过1500个绿卡。而施耐德电气这样的传统制造业公司则认为一直饿着这帮长工才好控制呢,公司刻意把员工拖到H1b的第四年才启动绿卡程序,一年才办理30个绿卡。其实有些小型科技公司本来绿卡政策很好,可是被其它大型公司收购后就被改成很差的政策,员工在前后两家的工作内容当然是没有任何区别的!由此可见,除了审计和金融这些美国人也竞争激烈的行业外,要求一年以后才可以启动绿卡申请的技术类公司都是故意做恶!所以从绿卡这事可以看出西海岸的公司治理理念是把员工当成partner,态度诚恳,尽量与人方便;而东海岸的公司还是那套把员工当雇工,态度傲慢,唯恐失去管理控制的手腕,我强烈推荐年轻人去西海岸的IT企业打工,各方面的待遇优厚都多了!

对于H1b六年满了延期这事,很多人实际上传播着不精确的法律知识。事实就是只有当前公司的140批了但是排期没到, 或者当前perm/140 pending 365天以上才能延期。务必注意“批了&&没排到 “|| “pending && 365天”这些逻辑关系。所以总结起来就是你的H1b时间是单向付出的成本,总共六年(尤其第六年必需保存下来做最后的努力),按照目前的新移民法规定用完六年了就得滚蛋离开,中间一旦公司裁员或者组织变动就得下岗走人,白白付出!

特别要注意那些Manager或者HR的承诺都是扯淡,只有移民律师开始处理你的案例才算数。否则就是忽悠你来干活,别的都压根儿不管。我自己就吃了这个大亏!基本上我认为一个单位干三个月就大体明白他们的移民态度了,最多忍到六个月。千万不要挥霍自己宝贵的H1b时间, 遇到了麻烦的情况宁可下岗花钱去读书,也不要浪费份额。有些公司在给员工申请H1b期间就可以开始启动绿卡程序,比较一下就明白了,EB类绿卡这事从精力和财力上对公司都是小事,不作为主要是坏,其次才是懒!

另外如果因为某些原因没有赢得老板信任,入职一年之后也很难生存下去,压根熬不到提交绿卡的日子。所以三个月,六个月,12个月都是工作的关键点,开始要全力以赴出活,后期不匹配的时候必须坚决做决断,否则纯属浪费时间。Jobs希望人生的经历会联络成为成功的珍珠链,其实决断不及时的话得到的不是珍珠链,反而给自己的将来埋下地雷阵。

结论:“德智体逆”四方面全面发展才能在湾区生存下来。

相关资源