FAANG 高级工程师面试终极指南(五)
编者按:关于 FAANG 面试流程的指南有千千万。但这是最彻底、最详细的一份指南,因为这是面试官为面试者制作的唯一一份 —— 编撰者花了数百个小时,与数十位现任及前任 FAANG 面试官讨论了他们的面试流程。在本指南中,你会看到对这些面试官的大量直接引用,他们用自己的话描述了每家公司流程和标准的特质,这些第一手的资料是特别有价值的。文章来自编译,篇幅关系我们分七部分刊出,此为第五部分。
Netflix 的面试流程包括以下步骤:
招聘人员电话面试
招聘经理筛选
技术电话面试
现场面试(时间很长)
在我们详细介绍每个步骤之前,以下是关于 Netflix 流程、评估标准以及面试官的一些一般说明。
每个人类组织都有自己的隐喻; Netflix 并不像其他一些科技公司那样将自己看作是一个家庭,他们把自己看作是一支高素质的运动队(事实上,Netflix 把自己的员工叫做“梦之队”)。他们在其著名的文化备忘录里面对这个隐喻做出了解释。
最后,Netflix 的面试流程是去中心化的,且依赖于团队。此外,你可以同时去面试 Netflix 的多支团队,这可以帮助你增加获得工作机会的几率。
请参阅第一部分“有关招聘人员电话面试的说明”
这是一次 30 分钟的通话。 Netflix 的一位前员工称这一轮面试“非常轻松,尤其是与现场面试相比。”问到的都是些比较基本的问题,而且可以是双向的。
招聘经理还会向你推销 Netflix。当然了,招聘经理宣传自己公司是可以理解的,但在这种情况下,它还有一个额外的目的——因为他们的现场面试是迄今为止最紧张激烈的,所以他们必须预先加倍努力推销自己,好让应聘者在现场面试的时候更加投入。
Netflix 技术电话面试属于编码面试,通常持续 45-60 分钟。这些面试涵盖的内容在不同团队之间存在着显著差异,并且在这些面试中用到的工具也因团队而异。
现场面试的结构因团队而异,但你大概要进行8 次左右的面试,主要关注系统设计,然后是行为面试,然后是编码面试。
根据现场时间的长短,Netflix 招聘人员可能会问你是否愿意把现场面试分两天进行,鉴于行为面试和系统设计面试的任务比较繁重,我们建议你主动要求这样!
Netflix 是FAANG 公司里面唯一一家经常在现场面试时安排 1-2 名主管的公司。如果有两名主管面试你,则一名主管来自你的组织,另一名主管来自合作伙伴组织。 Netflix 这样做是为了减少偏见。一位主管可能会负责系统设计面试,另一位主管可能会负责行为面试。
摆脱困境的秘诀
“不要因必须与主管交谈而感到困惑。只需坚持以下原则:当你谈论所从事的技术内容时,请重点关注规模、可用性和安全性。在讨论行为问题时:利用他们文化宣传材料里面的一些共同想法,对你的成功和失败负责,并展示指标和影响。”
Netflix 面试官的提示
“ HRBP(人力资源业务合作伙伴,基本上属于非常高级的招聘职能)和主管一般重点关注行为面试。我看到主管会花时间(30 分钟)让应聘者提问,就团队、Netflix 文化、职业发展路径或任何其他方面提出问题,然后由他们澄清。因此,强烈建议你准备好真正的问题清单,并在此类面试中获得澄清。开诚布公地对话是 Netflix 的关键价值观之一,应聘者如果有任何疑虑和顾虑,主动提出来会被看作是正面表现,因为这在一定程度上体现了应聘者对这个角色的严肃性和责任感。”
Netflix 提出的技术问题因团队而异。有些团队不会问 LeetCode 问题。有的团队则会提出具有创造性/实用性的,中等难度 LeetCode 风格的编码问题。
这些面试轮次也会因团队而异,但我们注意到一个模式, Netflix 的编码问题通常分为两部分。
通常他们只有一个问题,在边缘案例和测试提前完成的场景下,比如在 45 分钟内完成的情况下,面试官可能会选择花一些时间讨论一般的大规模工程概念与分布式系统(如微服务、可扩展性等)。比方说,一些扩展可以是:
基于编码问题扩展到系统设计,比方说实际应用,他们要求你将刚刚找到的解决方案应用到他们的现实系统当中
深入研究特定的技能集(比方说,如果该团队用 Java 编写代码:他们会专门针对 Java 多线程进行全面讨论)
这是 Netflix 最重要的一轮面试。编码面试所占权重最小,行为面试的权重很大,系统设计的权重最大。
Netflix 的系统设计面试轮次非常独特且极具挑战性。系统设计之于Netflix,就像编码之于Google;这些技术面试的问题是最困难的,且是定制的。
与亚马逊热爱领导力原则类似,Netflix 也非常热爱系统设计,有时甚至编码面试轮次也会放入一些系统设计问题——首先,你得解决一个 LeetCode 风格的问题。然后他们要求你将其应用到现实世界的用例当中。
尽管如此,如果你知道模式的话,Netflix 系统设计面试轮次准备起来会更容易些:Netflix 喜欢规模化。 Netflix 永远都不希望崩溃,而且 Netflix 讨厌不安全的情况。可用性对他们来说非常重要;他们会提出系统扩展、保持系统高可用性以及维护安全系统的策略的问题,并希望听到你的意见。
在 Netflix 这里,你可能会遇到在其他地方看不到的独特问题,而系统设计轮次是 Netflix 面试官最引以为豪的流程的一部分,因此他们会提出很困难的、独一无二的问题。需要从零开始的那种问题。就主题而言,他们的问题更有可能集中在扩展性上。他们还喜欢询问安全性和可用性问题。
事实上,与其他 FAANG公司相比,Netflix的系统设计面试环节更有可能只关注安全性问题。比方说,你可能会被问到如果系统遭到 DDoS 攻击,你会做什么,整个会话都将花在深入挖掘研究细节上。而且由于他们也非常注重可用性,因此你可能会遇到有关备份以及服务出现故障时该怎么办的问题。
此外,与他们的编码面试一样,Netflix 更喜欢实际应用相关的问题,他们提出的问题很可能与他们现在正在做的事情有关。如果你深入过研究他们的架构 —— 尤其是特定团队负责的服务的架构 —— 以及与该服务交互的其他服务的情况,你的准备会比较充分。
你还可能会看到“逆向系统设计”轮次,面试官会提出一些十分尖锐的问题,问你之前做过的系统的情况,比方说,你之前做过的规模最大的系统是什么,你是如何管理的,你是如何对系统进行伸缩的,等等。
以产品为中心的问题他们提问的可能性最低,比方说“设计出 Spotify”。
摆脱困境的秘诀
了解 Netflix 的整体架构,这样你就可以 a) 用他们的语言讲话,b) 开发或讨论与 Netflix 已经开发的东西类似,但更简单一些的东西(在面试过程中)。
对于面试你的团队:要了解他们的技术栈是什么?他们做了哪些开源的东西?他们的服务可以与哪些其他服务交互?最后一个问题最关键。如果你能认真思考他们当前系统的运作方式,就可以取得巨大优势;那么,你要做的就是与他们的面试官讨论你对他们的系统的了解,从而让胜利的天平向自己倾斜。
你在这些面试中使用什么工具取决于面试你的团队。
在 Netflix,对行为问题的回答几乎与系统设计一样重要。如果行为面试这一关你过不了,你会被拒掉。
这些面试非常强调求职者是否适合那里的企业文化、是否能够跟团队一起工作、有没有好奇心、产品意识、高度积极性,以及有没有能力推动产品向前发展。
Netflix 行为面试的一个独特之处是他们有“梦之队”面试。这是由主管主导的面试,气氛会稍微紧张一些。 “强度”体现在你在 Netflix 的典型行为面试当中可能看到的所有事情上(规模、责任、开诚布公的问题讨论、高风险与高回报)。
Netflix 面试官的提示
“ Netflix 不像其他 FAANG 公司那样雇那么多的人,所以他们希望确保你是明星。这就是‘梦之队’面试的目的。”
在 Netflix 行为面试之前,有件很关键的事情你得先做,那就是看他们的文化备忘录。我们的面试官告诉我们,如果你不这么做,行为面试就没法通过。
Netflix 工程师的提示
“文化备忘录里面讲述的文化还是有点准的,但Netflix实际的企业文化表现得没那么强烈。团队成员之间往往相处得很好。不会出现像在 Facebook 这样的公司那种情况,同事之间在绩效评估时要与其他人竞争。我们没有做同行排名,因此大家更愿意互相帮助。”
Netflix 会问你做过哪些令人印象深刻的事情,并深入了解你的动机(你的“why”)。这一轮会让你感觉像是在自我推销。典型的问题会问你最喜欢的项目、最新项目和最重要的项目是什么,还会问你打算通过下一个职位找到什么,以及你为什么会对 Netflix 感兴趣等开放式问题。
摆脱困境的秘诀
在 Netflix 行为面试轮次,要尽早并且多一点宣传自己。主动推销自己。要强调自己所做事情的量化成果(指标)和影响,这样可以展示自己工作的规模和复杂程度,让面试官对自己有更深刻的了解和印象。
与主管交谈 45-60 分钟可能会让人伤脑筋。尤其是当他们一开口就要你描述曾经做过的最重要的事情时,那就更让人紧张了。跟主管交谈时,更重要的是要陈述指标和影响。
Netflix 的面试官都没有接受过训练,他们的问题也不够标准化,他们的面试依赖于团队,他们的决策北极星是“Why”。你可以同时找多支团队面试,从而有效地提高受聘的机会。
Netflix 也没有具体的公司级的表现结论。这跟谷歌不一样,谷歌对所有应聘者都按照相同的等级打分:强烈推荐录用(Strong Hire)、推荐录用(Hire)、中立(Neutral)、不推荐录用(No Hire)、强烈不推荐录用(Strong No-Hire)。不同的团队有不同的流程,但大多数决策都是根据现场后的讨论做出的。
Netflix 面试官的提示
“ Netflix 的招聘决策一般都黑白分明:通过或不通过。然后大家会讨论愿不愿改变主意。苹果和 Netflix 之间的唯一区别在于如何定义文化契合度。除此之外,招聘决定都是以同样的方式做出的:非正式的,主要基于现场讨论,二元决策,并争取共识。”
摆脱困境的秘诀
对于靠实时反馈讨论做决定的公司来说,印象管理的作用更为强大。
Netflix 流程的一个独特之处是他们不会做降级处理。如果你没有达到高级的标准,你就不会被雇用……因为他们永远不会雇用任何低于高级级别的工程师。所有应聘者都应该注意并重视这条招聘策略!
举报/反馈