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

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

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

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

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

Aamzon: 对任何面试者都非常友好的面试方式了 ,Amazon考的都是来自题库的题目,或者经典高频难题,所以懒惰的白人也能对付了。Amazon是业务驱动的公司,模仿Walmart的“Cheap至上”的经营理念,比如Amazon Music Onsite面试都不管饭,所以Cultural fit 比会做题还重要,去amazon的话好好把题库刷熟了,把Amazon Principles的14章经背熟了,把自己的Story结合这些指南编好了,还是容易的。Amazon的面试要是failed的话,就是准备不足!自己检讨!每次Amazon OA的题目都必然泄露,不管题目多难,不管几维DP,只要题目泄漏了,对中国苦孩子它就变成了送分题!

Google: 白人nerd为主,出的有些新题其实是原题的伪装版本。也有懒人出原题。如果从算法的基本原理出发的话,没见过的题目也有希望作出来, 但是的确新题多, 经常需要现场强推,不如其它家那么好对付,如果实力不是超强刷题过千的话就只能指望运气好了。过程也需要遵循FB强调的三段模版,好几个Googler都说Leetcode刷200多题就可以对付Google的面试了,我认为这样说的人都是运气好加上聪明,我实话实说-只有在刷的200多道全是Hard级别的前提下才有希望碾压Google!刷200道进Google的应该是一方面运气好没有遇到难题,另一方面能从200道题目里总结出套路的。
Google的缺点就是非常傲慢,把面试变成了流水线,对来面试的人缺乏诚意! Google这个公司的脑子里只有算法一件事,其它全是扯淡。 Recruiter说我的背景比较适合Google Home, 之前说好了面试有两轮coding,剩下的三轮是System Design,Engineering Domain knowledge和Behavioral interview。为此面试前我研读了那些经典paper,总结了一堆分布式设计案例,还认真研究了Google Home最可能涉及到的tech stacks,看了How Google Works的前半截,结果来面试的不是迟到的,就是进来就说他是被临时叫来顶替的,顺手想了道题目,结果两个人化了很长时间沟通这个题目到底是要干啥,然后时间就到了,代码也没写几行。最后技术面试整成了四轮coding。其他公司面behavior都是经理出面,Google派出的年轻人简直就是打字员, 按照某个清单上的问题逐一问一遍,中间基本上别指望共鸣了。而且反馈也非常慢,等了半个月后才得到拒信电话。我本来对Google Home非常感兴趣,这个经历让我对Google非常失望,再也没有面它家的兴趣了。我不害怕做题,只要下足够的功夫我也能刷上千题,但是我不喜欢这种漠视应聘者的傲慢做法。
Google的另外一个问题是用人方面太浪费了,千幸万苦面进去,开始打杂。比如我同学就觉得他干的活没有难度,曾经的CS科班博士和软件开发高级经理到了Google干本科的活,缺乏挑战,很快就离职去其他公司搞偏重工程算法的新项目去了。

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

网上老是有国人说被印度人面试的时候给黑了。我个人认为遇到印度人面试官其实是个好事,印度人很懒,爱出高频题目,好好刷题就可以对付。老中应该记住老印也是第三世界来的苦命人,不要想着别人要为难你,主席强调的统一战线也是普通群众事业发展的法宝, 我的印度好兄弟每次跳槽都想着把我也推荐到他的新单位。而且印度人做事挺规范的,有好几次面试人家说话都很客气,问的就是Java的基础题目和常规算法。有一次一个老印Director甚至和我聊了不到十分钟就说可以了,准备去Onsite吧。Onsite的时候虽然Team全是印度人,也挺友好,HM最后还和我聊了聊中国的高铁,经济发展等等。

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

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

老中面老中的事是个热闹话题。 大部分老中还是愿意放水的,有的老中HM就直接用汉语对我明说了,想多找同胞。还有的老中做完题目还可以聊会天,很友善,有的甚至会在最后说我会让你过,但是你需要加强某些地方,回家后看看资料吧。当然了要是常见题做不出来,没法过,这是基本门槛。国人Hire Manager真实的录用决策其实也需要最大化自己的利益,比如印度人的背景和表现比同胞好,当然是录取印度人。另一个是要考虑集体的意见,团队feedback不统一的就不好考虑了,不说谁黑谁的事,面试多检讨自己,起码是个查缺补漏的机会。

老中面老中的最大问题是对彼此太了解了!有时候会觉得中国人最好,有时候会觉得中国人最mean! 我面试这么多家,听到的最赞美的话来自一位很早到就美国读书工作的大哥,说我“平和而自信“! 体验最差的冷漠待遇来自一个从国内Transfer到美国的一位同龄人,充满了怀疑,面试过程像是警察盘问,甚至说他已经事先调查过我的背景了,我估计这种做法是违规的, 我从来没有见过白人或者印度人这么干的。有些Transfer过来的中国人习惯了逢迎上级压榨下级的做法,而且特别不信任别人,和那些到美国读书工作习惯了人人平等就事论事思维方式的同胞冲突很大。这些国人无论面试别人还是领导工作,都是一副我赏你碗饭吃的倨傲态度。我个人在空降兵手下干过,体验奇差!我觉得国内空降过来的中国人本质上不坏,但是缺乏如何做事的训练和人人平等的民主思维。引用Glassdoor上面的一个review总结就是 “pro to blame instead of supporting”。不要小看到美国读书的经历,通过平时学习和生活上打交道,民主平等的作风其实已经潜移默化地影响了从中国来的年轻人。同样是加班赶活,西人领导可以客气地问“不好意思,周末能加下班吗?”,我们的同胞则是苛责“周末为何不加班?”!我曾经在空降兵的领导下晚上6点到9点饿着肚子加班过一段时间,天天如此,匪夷所思!华裔创办的公司在办绿卡方面也不友好,硅谷白人左派办的公司很多是去了马上就开始办绿卡,华人企业是绝对不可能有这种好事的,老中太精明了,可以收留英语烂的一塌糊涂的同胞,但是便宜是绝对不能让同胞占了的。

老中的表达是个极大的问题! 尤其是男生! 我观察到老中的英语表达太缺乏训练了。一个是不知道语言表达需像GRE写作的文章一样结构化,另一个就是英语本身句子语法和词汇很烂,口音太重了。我听过比较明显的有山东英语,浙江英语。有的就算是Top2的,说话也啰嗦的不行,我作为一个来面试的听着都着急。老中男生应该好好抓住一部发音好的美剧听烂,把句子结构和发音表达都学好!
老中知识分子的另一个大的问题就是怂, 患得患失。就知道刷题,拼书面成绩,很多人是当代孔乙己。脑子里装的都是到底精确地刷多少道题目就可以过线的焦虑。任何没有经历过的小事都吓的要死,诚惶诚恐地问大家是不是面试就此打住,前途就此完蛋。比如说有人问上次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类的绿卡说白了就是美国政府给外国技术人才端出来的免费福利, 就像一锅大白馒头摆在众人面前。公司愿不愿伸手给自己的员工去拿这个免费的福利就体现了这个公司的治理观念。没有绿卡就像饿着肚子干活一样。有的公司认为让人才吃饱了才能安心工作,有的则认为一直饿着这帮长工才好控制呢!由此可见,除了审计和金融这些美国人也竞争激烈的行业外,要求一年以后才可以启动绿卡申请的技术类公司都是恶公司!你的H1b时间是单向付出的成本,总共六年,用完滚蛋离开,中间一旦公司发展不行了或者组织变动就得下岗走人,白白付出。我在某个世界五百强干活的时候就吃了这个大亏!基本上我认为一个单位干三个月就大体明白他们的移民态度了,最多忍到六个月。我经历过的最好的公司在H1b transfer期间就开始启动办绿卡,比较一下就明白了,EB类绿卡这事从精力和财力上对公司都是小事,不作为主要是坏,其次才是懒!

2 Likes