编者按:关于 FAANG 面试流程的指南有千千万。但这是最彻底、最详细的一份指南,因为这是面试官为面试者制作的唯一一份 —— 编撰者花了数百个小时,与数十位现任及前任 FAANG 面试官讨论了他们的面试流程。在本指南中,你会看到对这些面试官的大量直接引用,他们用自己的话描述了每家公司流程和标准的特质,这些第一手的资料是特别有价值的。文章来自编译,篇幅关系我们分七部分刊出,此为第四部分。
苹果的面试流程与问题
苹果的面试流程包括以下步骤:
招聘人员电话面试或在线评估
技术电话面试(如果没有进行在线评估的话)
现场面试
在详细介绍每个步骤之前,先看看关于苹果招聘流程、评估标准以及面试经验的一般说明。
人类群体的行动会体现出自己选定的隐喻;苹果不是一支运动队。他们是一支军队。他们的军队是由痴迷于制造出伟大产品的人组成的。他们希望雇用那些能将苹果产品融入到自己生活的人。相对于运动队,军队更看重忠诚,奖励更积极。 苹果员工的平均任期在FAANG 当中是最长的(本指南也将微软纳入到 FAANG 的范畴)。
苹果的面试是去中心化的,允许应聘者同时接受不同团队的面试;如果你想最大限度提高自己的胜算,可以尽量多找几支团队去面试。
苹果面试者的提示
“我面试过大约 12 支团队,总共收到了 2 个offer。在此期间,我曾告诉苹果的一位招聘人员我正在面试另一支苹果团队,但他们并不在乎这个。”
与其他 FAANG 公司相比,苹果的面试流程更像是初创公司的面试流程——从安排要问什么问题,到面试官培训,再到如何做出招聘决定都很有初创企业的风格。团队间存在显著差异是常态,每一支团队本质上都像一家初创公司一样,有自己的面试方式。
苹果面试官的提示
在苹果公司,没有正式的面试官培训。面试是非常临时的活动。每一支团队都不一样。实际上没有任何流程可研。每一支团队所做的事情都要靠团队内部有一位非常高级的工程师或非常有经验的人。苹果公司有很多任期很长的人,比如 15 年。我的一位同事已经在那里工作了 22 年。在苹果,你的职位越高,团队就越相信你能提出自己的问题。苹果的面试官通常会做的事情是:提出一个在网上找不到的问题,并确保这个问题与你的团队正在做的事情相关。然后你把这个问题推销给你的经理或技术主管。然后你就经常会拿这个问题去问应聘者。
苹果面试官的提示
“知道这件事的应聘者不是很多:不存在所谓的苹果面试这样的事情。你要面试的是一支团队。不是苹果公司。当别人问我“如何准备苹果的面试?”时,我说去问招聘人员。因为他们通常知道会问什么类型的问题。招聘人员每次汇报会花费 30 分钟或一个小时,而工程师则会讨论有关代码的详细信息。因此,如果招聘人员很关注或者至少懂一点技术,他们应该知道这是LeetCode风格的问题还是嵌入式风格的问题。因此,你可以向苹果的招聘人员提出一个强制选择问题,比方说“这次面试的风格是 X 多一点还是 Y 多一点?”
苹果面试官的提示
“让应聘者把任务带回家做,我是这个建议的提出者之一。苹果公司的流程当中,这是我最喜欢的地方。我们正在招聘全栈人才,但不仅仅是什么全栈人才都行——我们想要的是后端能用 Python 编码,但前端懂用某个特定框架的人。我们制作了一项可以带回家的任务,其实就是他们今后在工作当中要做的事情的缩小版:一个基于这些技术的内部工具。我们让应聘者把任务带回家,给对方一周的时间来做。然后我们现场讨论,现场调试并讨论相关架构。我很喜欢“先试后买”这种风格的面试流程。因为苹果确实希望你在第二周(那篇不是在第一周结束时)也能保持高效。”
苹果是最有可能让你震惊到的公司;他们更有可能问你一些你没有做好准备的问题。在FAANG 公司当中,他们更有可能会做出一些你意想不到的事情,而且他们的一些策略可能看起来有点为达目的不择手段。在所有FAANG公司里面,苹果是唯一一家有时候会在应聘者明显没有达到标准的情况下缩短面试时间的公司——如果你在面试的前半部分表现没有超过标准,他们就会取消剩下的面试流程。
苹果面试官的提示
“如果到了面试第四轮,招聘经理得到的一致反馈说对方不符合标准的话,那么他们会提前结束现场面试,并拒掉应聘者。”
苹果既不是结果导向也不是过程导向。他们是动机导向。换句话说,他们更关心“Why”而不是“What”或“How”,因此,他们更重视行为面试而不是编码面试。
苹果员工非常注重隐私。这不仅仅是说说而已。当被问及“隐私”是否是苹果的流行词时,我们的面试官说……
苹果面试官的提示
隐私不只是个热词。我们对此很着迷。苹果十分强调这一点。因为它实在是太重要了。正如我所提到那样,我是一个专门收集用户数据的小组成员 (这里的用户是苹果内部员工)为未来的产品提供信息。
就算在苹果内部,就算只是从内部员工获取数据,我们也会对数据进行匿名处理。这么做只是为了知行合一。隐私是天大的事。还有一个例子可以说明这一点,那就是员工会因为下载音乐而被解雇。”
苹果面试官的提示
除非你面试的是安全职位,否则这种情况很少发生。 苹果聘请技术人员进来是为了让他们做自己最擅长的事情。他们有一大批合规人员和律师来处理这些事情。他们还有一支叫做“InfoSec”的内部警察部队,负责保密工作。工程师只需要做他们受聘要做的事情:开发。”
第 1 步:招聘人员电话面试
请参阅第一部分的“有关招聘人员电话面试的说明”,去了解预期会出现什么。我们鼓励你询问招聘人员对整个流程的其余部分有何期望,因为正如你将看到的那样,团队之间存在着很大的差异。
摆脱困境的秘诀
“询问苹果招聘人员带有两个选项的强制选择问题,比方说,‘这一轮编码面试更像是典型的LeetCode问题,还是更像领域相关,针对特定技术的开放式深入研究?’”
第 2 步:技术电话面试
跟苹果的其他一切一样,苹果在进行技术电话面试时呈现的格式和技术问题也可能有很大的差异。务必询问招聘人员来验证这一点!
技术电话面试是持续 30 分钟到 1 小时不等的编码面试。这种技术面试有可能在你和一位面试官之间进行,有时候也可能在你与一群面试官之间进行。甚至招聘经理都有可能参与,问题会包括行为问题和编码问题。
不管怎样,通用的格式是共享的编码环境,通过这个环节,面试官可以评估你利用基本数据结构和算法概念的能力。能够提供编码问题的解决方案,并快速分析解决方案的运行时复杂性,这些属于面试的关键技能。
苹果技术面试使用什么工具要取决于面试你的团队是谁。
(在某些情况下)步骤 2.5:把任务带回家
有些团队会给应聘者布置带回家做的任务。他们可以在安排电话面试的同时进行此操作。招聘经理通常是决定应聘者是否可获得一份职位的人。
第3步:现场面试
大约会有六到八轮面对面的面试,每轮面试都将与你将要共事的团队成员进行。每轮面试都会有至少一名(也可能是两名)面试官参与。
请注意,苹果不同团队之间的现场面试流程有可能非常不一样。
苹果面试类型详解
面试官可以提出任何行为、编码或系统设计问题;苹果的面试问题没有标准化。不过,在进入面试轮次之前,有些团队会快速地、非正式地给每个面试官分配应该问什么类型的问题,这样可以避免问到同样的问题。
此外,苹果的面试官是没有受过训练的,只要被聘为高级工程师就有资格面试别人。
苹果公司的不可预测性导致他们的一些面试没法归类成行为、编码或系统设计中的任何一个。关于产品的哲学问题算行为问题吗?其实不算。但他们可能会在行为面试的时候问你。聚焦基础设施的开放式连续提问属于系统设计问题还是编码问题?要看情况。
比方说,对于即将到来的现场面试幕后自上而下的指令,一位苹果面试官是这么描述的。 “去找一个适合我们团队问的问题。”然后,那位面试官会向上级工程师汇报一遍。然后,这个问题在下一次面试的时候马上就会被问到。
在苹果这里,每个面试周期都会针对各个招聘经理的需求而设计——没有规范的“苹果面试”,一切都是为每一支团队“定制”的。这使得应聘者很难做好准备。
编码面试
苹果的一些团队更喜欢实践性强的方式。有时候,他们会让你用自己的笔记本电脑和 IDE编写程序。其他一些时候,他们会把所有面试时间都用来深入研究与其团队相关的特定技术/用例上。比方说,一支用 Java 编写代码并在并发方面做了大量工作的团队,会把整整一轮的时间都聚焦在 Java 的并发处理上!
其他一些则会提出中规中矩的 LeetCode风格的问题。
归根结底,面试的差异很大,很难给出具体的指示,除了:询问招聘人员。对于高级及以上的应聘者来说,更多的是要展示能力而不是回答问题。
系统设计面试
苹果面试官往往会询问一些与特定团队的工作相关的问题。比方说,专注于开发 Web 服务的团队往往会提出相关问题,而前端团队可能会提出与 UI 相关的问题。试着从招聘人员/招聘经理那里了解他们的日常工作可能会很好,因为岗位描述未必是最有帮助的(记住:隐私问题!)。
摆脱困境的秘诀
在系统设计面试轮次,苹果面试官喜欢听到可靠性。如果你不知道还能谈点什么,那就再深入探讨一下可靠性吧。
行为面试
苹果最重要的一轮面试通常是行为面试或系统设计面试。行为面试比编码面试更重要。
苹果面试官的提示
“在行为面试的时候,你必须是摇滚明星。你必须是一名领导者。如果你脾气暴躁,或者你跟他们的文化不配,你又怎么领导后辈?系统设计面试比行为面试还要重要。如果你不懂编码或者有点生疏——但系统设计和行为面试表现出色的话——编码面试不合格也是可以原谅的。”
苹果这里有个有趣的悖论:他们高度重视行为面试,但却没有标准化的方法来评估这些面试中的应聘者。
苹果面试官的提示
“在我在苹果的职业生涯即将结束的时候,我们对移动开发人员的需求很大。能够开发 iOS app的人。我是研发团队的一员。一开始我们主要开发web产品,但在我职业生涯的末期,我们开始开发更多的移动产品。我们不想雇只会做移动开发的人。我们想要半擅长移动开发,半擅长web开发的人,这样的人去到哪里都能干活。
如果整个公司的面试流程都是标准化的 —— 你可以想象专门针对我们所需的小众技能进行测试会有多困难。在两天之内,我们专门为ios应聘者准备了一套全新的家庭作业,我们准备了一套全新的面试问题。行为面试部分还跟原来一样,但技术部分已经完全不一样了。效果确实很好。我们改变了评分方式,我们得以根据新的问题集去遴选应聘者。速度很快。我们没有收到 HR 的任何反对。我们不需要遵守什么规定。做就行了。这样的效率确实高。确实很灵活。”
因为苹果没有对面试标准化,所以特别容易出现偏见。有时候,苹果面试官获得的自上而下的指导是这样的:“行为面试的时候,看看你是不是喜欢他们。看看你是不是愿意跟他们一起喝啤酒。 ”
苹果面试官的提示
从来没有。我会告诉你为什么。苹果是一家保密意识很强的公司。一切都建立在需要知情的基础上。此外,这个地方非常的政治化。这对我有好处,因为我知道这场游戏怎么玩。我不怪参与这场游戏的玩家。对于那些了解政治的错综复杂,并且平静接受这样一个事实的人来说:当所有那些 A 型人格的人拿到了巨额报酬去做一些卑鄙无耻的事情的时候,就会发生这种情况,肯定会这样。你必须接受,否则你就玩不起这个游戏。苹果的一切都是非常烟囱式的。甚至连成本中心都是。这里的一切都超级独立。这其实既是苹果的优势,也是苹果的劣势。做一些重复无用功在所难免。但这对蒂姆·库克来说并不重要。他们负担得起,有好几十亿美元呢——这不是问题。其实我也非常喜欢这种独立的方式,因为团队和他们的优先事项变了,领导层变了,很多东西都变了。可以跟更大的公司脱钩,使这让他们得以成为全世上最大的科技公司之一,如果说不是最大的科技公司的话。”
即使面试没有标准化,你肯定也会被问到“为什么选择苹果?”这个问题,你的回答也必须切中要点。一些面试官会仅仅因为没有回答好这个问题而拒绝应聘者。 “为什么是苹果?”未必就是一个问题;他们可以把它分解成多个问题,并在行为面试的大部分时间里深入研究这个问题。你还可以预期会有其他基于动机(或“为什么”)的问题。
苹果面试官的提示
“一个常见的危险信号是对‘为什么是苹果?’这个问题给出通用答案。如果我感受不到他们的热情,或者他们只是把苹果看作是另一份工作,那不管他们的技术能力如何,在我看来这通常都是一个危险信号。说真的,他们必须设法说服我——他们必须让我产生情绪反应——他们必须让我相信,他们真的想在苹果工作,他们真的想撸起袖子干,他们真心相信我们的价值观:让客户满意,注重细节。制造出色产品……我们只关心这一点。我们不关心其他任何事情。这种情绪反应必须是我发自内心的,如果他们做不到,那么我可能会说,‘他们不错,但仅此而已。’”
苹果面试官的提示
“我可以告诉你,有位应聘者对‘为什么是苹果?’这个问题给出了一个很好的回答。他大概是这么说的……他和妻子都是大学生,他们的异地恋跨越了两大洲。然后他说他们分享了苹果的一个最新功能——大概是当你进行视频通话时,就可以跟对方同步观看视频——他向我们分享了这如何改变了他的生活。因为这个功能,他跟妻子维系了一段国际关系。这极大地促进了他们的关系。”
苹果公司希望聘用的人的生活与苹果产品是融为一体的。反之亦然。应聘者如果说“我从来都没用过 iPhone、 Macbook或 iPad”的话,那就是致命缺陷,因为这些人显然并没有将苹果产品深深融入自己的生活当中。
苹果知道他们喜欢什么,他们也喜欢苹果的产品!但这并不意味着在行为面试的时候滔滔不绝地讨论苹果产品就可以通过。这意味着你必须讲述一个将你与苹果产品或服务联系在一起的真实故事。理想情况下,这应该是一个他们能记住的故事。
苹果面试官争论的另一个行为因素是他们是否同意苹果是“邪教”的观点。(编者按:不问还好)
苹果面试官的提示
“苹果最关心‘Why’。这一点已经深深植根到每个苹果人的 DNA 之中。 “为什么是苹果?”对吧?我想这就是大家认为苹果是一家“邪教”性质的公司的原因。其实这跟特斯拉很像。他们拥有大量的客户粉丝,但你在他们的员工当中也能看到同样的模式。事实上,我完全认同这种意识形态。因为你希望日复一日与你一同工作的人也有同样的热情。有时候你被迫要加班。你不会因此获得额外报酬。有时候周末你得去工作。有时候事情会糟糕透顶。如果对此有怨言得话,你是不会想跟这种人一起工作的。
我们的理论是,苹果更有可能奖励表现得像领导者的员工(和应聘者)。如果你听一下对史蒂夫·乔布斯采访的 1:00:36 - 1:02:05 那段视频,你会发现苹果面试官讨论该组织的方式跟那段说法有着明显的相似之处。在这段视频里,他说:“你知道我们有多少个委员会吗?一个都没有。我们的组织方式就像一家初创公司。”然后他描述了孤岛与分治的好处。
对于一个被刻意设计为孤立、分割和分离的地方来说,隐私和政治是自然结果。苹果接受了这种成本,因为相应收益是生产力的提高。将人员置于封闭系统(不与其他团队和组织交流的团队和组织)内,然后看着他们完成了更多的工作。这种系统的工作原理就像给赛马套上眼罩:让赛马的视线集中在赛道上、目标上,最大限度地减少外围干扰。这就是他们需要看到的一切,所以才会跑得更快/工作得更快。
关于苹果的行为面试,最后一点是他们会询问你有关相关技能的具体问题。比方说,如果一支团队是负责大数据处理的话,他们会针对你的回答具体询问什么时候用过大型分布式系统。如果你没有这个领域的直接经验,他们会试着挑尽可能接近的领域来问,比方说问你在选择存储系统的时候做出了哪些权衡。这些行为面试问题有两个目的:表明你具备团队招聘所需岗位的相关经验,并试着让你讨论一一下特定的行为技能(比方说,领导力、冲突解决)。
苹果是如何做出招聘决策的
正如最高的混乱指数所证明那样,苹果整家公司在招聘方面并没有一致的措施。其中的一种趋势是,苹果团队依靠面试后的现场讨论来做出招聘决定。跟其他FAANG公司相比,苹果的做法多少有点不够正式,甚至到了到可笑的地步。
苹果面试官的提示
“我的组织现场面试后反馈 100% 都是现场讨论。在苹果,我从来不需要写反馈。所以我可以做更多的面试。我们在当天就做决定。每个人都必须在当天结束时做出决定。先是现场面试,然后到了下午 5 点,我们聚在会议室里,数到3时:大拇指或者朝上、或者朝下、或者横着。在看到大拇指的情况后我们开始发言。试图说服不同意见的人。如果大拇指朝上的个数少于 5 个,则此人可能会马上被拒掉。如果有 6 个、7 个或更多的人竖起大拇指,那么“竖起大拇指”的人就会试图说服对方。或者在同样的情况下,三四个人反对的人会试图说服对方。”
由于决策过程的非正式以及对现场讨论的依赖,在苹果这里,管理好面试官对你的印象尤其重要,比在其他 FAANG 公司都要重要。在这些决策会议上,如果有不同意见,他们会努力寻求共识。一方的人试图说服另一方。这个过程平均可以持续15-30分钟;所有的 FAANG 公司都表示,面试官会为要不要聘用应聘者而争吵,但在苹果这里,争吵往往比大多数其他公司都要激烈。
鉴于苹果的模式是面试官现场讨论,力求达成共识,他们的态度比任何其他 FAANG 公司的面试官可能都要鲜明,要么支持你,要么反对你(如果你的表现犹豫不决的话),也许除了 Netflix 。
到头来,最有发言权的是该特定职位的招聘经理,这意味着你应该努力给他留下最深刻的印象。
苹果面试官的提示
“我的经理想雇这个人。但他在面试过程中表现得很糟糕。我不想跟我的经理吵,但一方面我也不想跟这个人一起工作。因为我们招聘的是每天都要一起共事的人。所以我们会经常吵。在这种情况下,我是里面唯一说‘不’的人,应聘者被拒绝了。”