FAANG 高级工程师面试终极指南(一)

  编者按:关于 FAANG 面试流程的指南有千千万。但这是最彻底、最详细的一份指南,因为这是面试官为面试者制作的唯一一份 —— 编撰者花了数百个小时,与数十位现任及前任 FAANG 面试官讨论了他们的面试流程。在本指南中,你会看到对这些面试官的大量直接引用,他们用自己的话描述了每家公司流程和标准的特质,这些第一手的资料是特别有价值的。文章来自编译,篇幅关系我们分七部分刊出,此为第一部分。

  

  FAANG 面试是一场挑战,但即便你怀疑自己,你也可以通过面试——一旦你了解了一家公司的运营隐喻,面试就会变得更容易。George Lakoff(神经科学和人工智能研究员)表示,每个人类组织都有自己运营方式的隐喻。如果你直接问 FAANG 公司员工他们的隐喻是什么,对方可能会一脸茫然。但如果你看一下同一家 FAANG 公司的面试数据,就会发现隐喻在数据集当中跃然纸上,就像面包从烤面包机里跳出来一样。

  本指南将引导你了解各家 FAANG 公司的隐喻以及这些隐喻的不成文法典:他们奖励什么,惩罚什么,以及对什么视而不见。为了向他们表明你显然是他们部落的一员,模仿他们的隐喻和不成文的规定。

  除了隐喻以外,本指南还将引导你了解每家 FAANG 公司乏味的面试流程逻辑,以便知道需要经历多少步骤、这些步骤需要什么以及他们会问什么类型的问题。我们的目标是让你走进去时能满怀信心地面对眼前的过程,因为你已经知道前面有什么在等着你。

  当然,就算你已经掌握了全世界所有的内幕信息,如果没有为技术面试做好准备,你也一样会失败,因此,如果我们不分享一些关于实践的有用见解来帮助你走好面试之旅,那就是失职了。

  要想拿到 FAANG 极具吸引力地offer,需要 3 个步骤。

  第 1 步:获得面试。

  第2步:进行面试。

  第3步:谈判。

  步骤 1 和 3 超出了本文的范围,本文仅关注步骤 2。

  此外,本指南是为经验丰富的后端工程师编写的——初级工程师的面试过程通常有所不同,但我们不会讨论这些差异。最后,我们不会讨论前端工程师、SRE 等面试的流程差异。也就是说,如果你的目标是这些角色,你仍然可以从本指南中受益匪浅。

  在本指南的第 1 部分中,我们将重点介绍 FAANG 公司之间的主要异同,FAANG也就是:

  Meta/Facebook

  Apple(苹果)

  Amazon(亚马逊)

  Netflix(奈飞)

  Google(谷歌)

  微软(不是 FAANG的正式成员,但我们仍然把微软列入其中 —— 从现在开始,当我们说“FAANG”时,其中也包括微软)

  在后续部分里,我们会一一介绍每一家公司,并告诉你他们各自的面试流程是如何运作的,以及如何为各家的面试流程做好准备。

  如果你计划面试多家 FAANG 公司,我们建议你先阅读第 1 部分。如果你想直接跳到具体公司的面试指南,可以去看我们的第2-7部分!具体指南包括有关公司特定的编程面试、行为面试以及实际面试经历等方面的更详细信息。

  所有这些大型科技公司面试流程都很辛苦,但初始薪酬方案都很丰厚,福利都高于平均水平。他们互相都在竞争同样一批工程师。如果说科技圈有食物链的话,那么它们就位于食物链的顶端。大多数其他科技公司都会效仿 FAANG 的做法或受到其影响。

  关于 FAANG 面试过程还存在一些误解。其中两个比较大的误解是亚马逊的门槛最低,谷歌的门槛最高。这不是真的,我们有数据可以证明。事实上,各家公司的标准各不相同。不能够按照线性比较。而应该从多维度去比较。因此,不可能说“谷歌的面试过程要比亚马逊的更艰难”之类的话。它们只是不同的过程。

  Facebook 面试官的提示

  “我的朋友去面试了谷歌和 Facebook,两家面试都通过了。在谷歌他拿到了 L6 级的职位。在 Facebook,他拿到了 L4 级的职位。说说运气:同一个人,同样的经历。科技领域两个最值得信赖的名字之间差了2个岗级。

  大型科技公司有一个普遍看法,谷歌的流程比 Facebook 的流程更容易些。但从刚才的例子可以看出:这确实要看情况。毕竟,这个人拿到了 Facebook 的 L4 职级,其薪酬方案比谷歌的 L6 职级要高。 ”

  长话短说:情况很复杂。这正是我们要编写本指南的原因:揭开差异的神秘面纱,把这 6 头怪物解耦,并说如何各个击破这些怪物。

  这是 FAANG 技术面试的终极内部指南。然而,即使拥有世界上所有的内幕信息,如果你没有为技术面试做好准备,你也会失败,因此,如果我们不分享一些关于实践的有用见解来帮助你完成你的旅程,那我们就失职了。是的,我们知道我们是一个练习平台,而且,你看,你不必跟我们一起练习。但你应该练习!原因如下。

  有三家不同的初创公司在软件工程面试方面拥有强大的数据集,关于在进行五次技术面试后所发生的事情,它们发现这些数据点出奇的相似。我在这三个公司都工作过,并且亲眼看到了这些数据。

  在之前的文章中,我们分享了完成 5 次技术面试(模拟面试或真实面试)后可以让你通过后续技术面试的机会增加一倍。

  Triplebyte 发现,每进行一次现场面试,获得至少 1 个offer的机会就会增加,这个效应可以持续到5次面试。不过在进行过5次面试之后,你获得offer的机会就稳定在 80-85%左右了。

  Pathrise 发现,他们的大多数工程师在获得offer之前都曾失败过 4 到 5 次。

  请注意,这些数据集非常不同:Triplebyte 偏向于具有非传统背景的人,interviewing.io 偏向于高级后端工程师,而 Pathrise 主要是面向初级工程师。尽管如此,这些数据集都出现了数字5,显然,在完成了五次技术面试后会发生一些事情。我们还不能解释发生了什么。但数据令人尖叫:数据强烈地提示某种规律或现象的存在。还有一点:理想情况下,这五次面试应该尽可能模仿真实情况。比方说,如果你想要拿到一份 FAANG 的工作,但你的五次面试都是去不问算法问题的初创公司的话,那你通过这些面试练习获得的收获并不大。你的练习越逼真越好。

  如果你没有准备好参加 FAANG 面试,请要求重新安排。我们发现,不要求重新安排面试是面试者犯的第一个错误!在大多数情况下,明天(而不是 1-3 个月后)面试对公司来说没有什么不同……但对你来说却非常不一样了 —— 如果你面试失败了,你可能会被冻结几个月不得再面试。在极少数情况下,重新安排面试可能会影响你的机会,因为有时候对方要招聘的是特定团队的特定角色,具体情况招聘人员会告诉你的。不管怎样,多问问总没坏处。

  FAANG 各家公司的招聘人员来电基本上大同小异,所以我们决定将招聘人员来电的所有内容集中到一个地方。如果有哪一家公司的招聘人员来电存在明显偏离的话,我们会指出来的。否则的话,就当是没有区别吧。

  招聘人员来电几乎是每个流程的第一步。在这次来电中,招聘人员会询问你过去的经历、你的薪资期望以及你为什么对那家公司感兴趣。他们还会询问你的时间表(你预期多快收到offer)、你与其他公司的合作进展如何、你是不是已经收到了其他offer等等。

  在这次来电中,关键要简明扼要地介绍自己过往履历、你在那些职位上所做的主要贡献(你个人做了什么,跟团队做了什么)以及它们对企业的影响。请记住,大多数招聘人员没有技术背景,也不是软件开发人员,因此能够用通俗易懂的语言描述你的技术贡献非常重要。

  在这个阶段,还要一点很重要,那就是不要透露你的薪资预期、你的薪资历史或你面试其他公司的进展情况。关于这个问题我们之前写了一篇详细文章了,尤其要强调地是,如果你在面试的早期阶段早早透露这些信息,你已经把未来的自己逼到了墙角。

  本节将让你了解这些公司的流程有何不同。现在,不要担心这些知识该如何转化为对面试的准备——稍后我们会在描述如何为每家公司做准备时介绍这一点。

  先看看下面的图。我们根据 “混乱分数”( Chaos Score)对FAANG进行排名。一家公司的分数越高,就表示这家公司越混乱。

  我们把“混乱”定义为面试过程及其结果的不确定性和不可预测性程度。如果一家公司始终遵循相同的流程,提出相同的问题,并对面试官进行彻底的培训,则面试过程和结果就不会混乱。如果公司的过程完全是非标准的、非确定性的以及主观的,则面试过程和结果就是混乱的。

  

  正如你所见,苹果和Netflix因面试过程在 FAANG 当中是最混乱的而拔得头筹。微软获得第二名。亚马逊排名第三,谷歌排名第四,Facebook 排名第五。

  混乱可能会带来痛苦也可以带来快乐,这取决于你对不确定性的容忍度。混乱可能带来可怕的损害,也可能给面试带来巨大的优势。比方说,在 LeetCode 上花了很长时间刷题的面试者可能更喜欢不那么混乱的公司。更混乱的公司也可以为面试者所利用,原因如下:a)小众技能组合可以更容易匹配到小众的面试流程,b)实际面试更有可能是这种情况,c)面试过程可以向他们展示要加盟的这家公司的团队是如何运作的。

  为了计算每家公司的混乱得分,我们选择了四个类别,并按照从 0 到 5 分的等级分别对每家公司进行评分,其中 5 表示最混乱,0 表示最不混乱。

  他们决策过程中的“北极星”是什么(他们更关心“What”、还是“Why”还是“How”?)

  他们在全公司范围内进行的面试是不是都是一样的,还是说面试会因面试团队而变异

  他们对面试官进行了多少培训

  他们对面试问题的标准化程度如何

  我们将每家公司的得分相加,Chaos Score最高为 20。

  

  一家公司在每个类别上的得分越多,它们就越混乱。

  所谓的“北极星”,是指一家公司最看重的是什么。因此,我们将公司分为三类:主要关心的是“Why”的公司、主要关心的是“How”的公司以及主要关心的是“What”的公司。

  “Why”型公司最混乱,因为判断动机是最主观的方法。 “How”型公司混乱指数第二高,因为判断思维过程也很主观,仅次于判断动机。 “What”混乱指数最低,因为判断最终结果是最不主观的方法。

  “Why”型公司无法就什么是好的“Why”达成一致,因为这属于“直觉/朋友测试”。你认为谁是自己的朋友以及谁能给你好的直觉没法量化。这完全是主观的。 “Why”型公司最容易产生偏见。如果你讲他们的话并模仿他们鼓励去做的行为,你就会显得像他们的朋友,并给他们很好的直觉。如果你不这样做,那你就不会。

  如果说混乱是地狱,那么“Why”型公司正在为面试者和他们自己制造混乱。

  “How”型公司主要关心你的思维过程:你没有找到最佳解决方案,没关系,但是你是怎么考虑的?谷歌和微软一次又一次地重复着这句口号——他们想知道你的想法。你可能会被问到一个非常困难或具体的问题,但你未必需要给出最佳答案才能获得通过。他们更看重你展示出扎实的思维过程的能力。

  “What”型公司主要关心你的结果,比如:你获得了最优解了吗? Facebook 和亚马逊希望你能够快速实现这一目标。 “What”对于面试者来说是最直接的:他们的要求就是尽快得到结果。

  谷歌或 Facebook 的面试不会因为面试的团队而不同。这家两家公司都制订了大型、集中的面试流程,这个流程独立于你最终可能加入的团队。如果你在与团队无关的流程中表现出色,面试结束后还会有一个团队匹配的环节。不过,你不会面试你未来的同事的。

  (注:据说谷歌正在变更流程,改成流程因团队而异,不过我们暂时先不管这个了。)

  至于微软、Netflix、苹果以及亚马逊,他们的面试流程是与团队相关的。面试你的不仅是将来你有可能要一起共事的人,面试过程也要混乱得多。每一支团队都会定义自己的工作方式:提出的问题类型、面试轮次的类型,甚至如何做出招聘决定都不一样。

  依赖于团队的流程更具挑战性,因为你思想固化的可能型更高。因为每一支团队都有不同的流程,面试者可能本来是为拿到 X 职位做好准备,但最终却拿到了(显著不同的)Y。

  不过,由于体系的原因,独立于团队的流程反而挑战性更大。因为你的面试官离你太远了。这种超然态度会影响他们怎么对待你、怎么判断你以及怎么谈论你。

  可以这样想:在 Netflix、苹果、亚马逊以及微软这里,你是在跟人类开展面试访谈。在谷歌和 Facebook 这里,你是在跟机器进行面试访谈。

  Facebook 是这一类别当中混乱指数最低的一个,因为在 FAANG 当中,他们的面试官培训最为深入。他们的流程很严格且是有选择性的。尽管大多数想成为面试官的人在 6 个月内都能通过,但也有人从未通过面试官标准的。 Facebook 是FAANG当中唯一符合这一条的公司。

  Facebook 和亚马逊对面试官候选人的要求大致相同,但 Facebook 更为严格。比方说,在培训过程中两者都会要求面试官通过类似模块。但亚马逊的模块更可能是一个复选框:如果你做了,就可以通过了。在Facebook,你不只是因为做了而通过:你通过达到预定的标准。此外,Facebook 模块更有可能有一个标题。

  谷歌原先的面试官培训流程比现在还要深入。不管是出于什么原因了,反正他们大约在 2010 年代的某个时候开始减少对面试官的培训。现在谷歌的员工也能接受一些面试官培训,但一般力度比不上 Facebook 或亚马逊的。

  Netflix、微软和苹果都不会对面试官进行培训;某些团队可能是例外,但全公司范围内必需的面试官培训是没有的。你从一开始就可以去面试别人。所以这几家公司是本类别当中最混乱的。

  对于应聘者来说,这意味着他们对面试官进行的培训越少,自己就越有可能遇到不好的面试官。就像老话所说那样:“为最坏情况做准备,祈求最好的结果”。

  把面试问题标准化的公司会降低面试官的自由度;没有标准化的团体有更多的自由支配权。所有公司都会有不按常理出牌的面试官。不过,每一家公司都有自己的规范。

  Facebook 再次因最不混乱/最可预测而获胜。在行为面试当中,Facebook 的面试官可以问他们想要问的任何行为问题。不过,在技术面试轮次,他们只能提出预先获得批准的编码问题。他们还可以修改预先获批准的编码挑战。就是这样。

  谷歌在这方面排名倒数第二。他们的面试官在面试的技术轮次拥有自由支配权。谷歌有一个很庞大的技术问题库,但面试官却经常会自己提出一些模棱两可、自成一派的问题。在行为面试时,他们只能提出或修改预先批准的问题。

  在不混乱程度上亚马逊并列第二,但原因不同。从技术上而言,任何一轮(技术或行为面试)都没有标准化。不过,他们确实往往会反复提出内部问题库里面的问题(公司并没有要求面试官使用这些问题。)

  微软、苹果和Netflix是FAANG当中最混乱的。问什么完全由团队自己决定。问题往往是根据招聘经理的偏好、资深个人贡献者的尽职度、团队的日常工作或该团队所处的特定领域量身定制的。

  拿到offer的机会只有一次还是无限次会改变你做好面试准备的方式。以下是各家公司在这方面的详细信息。

  

  如果你可以同时跟多支团队进行面试访谈的话,那他们就是没有冷却期的。所以,你这次面试失败后,根本不需要等待一段时间才能重新面试。有两家公司只给你一次获胜的机会,而而剩下的四家公司则会给你无限次的机会。

  由于面试过程是集中进行的,谷歌和 Facebook 是仅有的两家组织得足够好的公司,他们不会让应聘者有“二次面试”的机会。

  摆脱困境的技巧

  如果你真的想在 Netflix、苹果、亚马逊或微软找到一份工作:尽量增加获得梦想工作的机会,并接受多支团队的面试。最好没有冷却期,以便如果你被团队 A拒绝的话,明天就可以去找团队 B 面试。

  在第 2-7 部分当中,我们会帮助你对每家公司有更深入的了解,并告诉你该怎么做。每家公司自成一派,但内容均可分为这几部分:

  面试流程(包括预期中的招聘人员电话面试以及技术电话面试内容)

  面试过程会发生什么

  他们是如何做出招聘决定的

  译者:boxi。

  举报/反馈