登陆注册
1921400000010

第10章 Facebook工程师面试聊什么

Facebook招聘工程师很少针对特定职位进行,大部分都是招进来之后放进新兵训练营集训,六周之后再确定具体的工作职责。

Facebook面试工程师时都安排四位面试官,主要考察编程的能力,也就是技术性问题,还需要考察文化适应性问题和系统设计。

我在Facebook接受的第一次电话面试,是由我后来的老板(黄易山,一位很聪明的ABC ,现在是美国著名社交新闻网站Reddit 的CEO)进行的。时间在30~40分钟,会花10分钟左右谈之前都做过什么,对什么东西感兴趣,来Facebook有什么想法、有什么顾虑等。其余的时间都聚焦在技术性问题上,一般会有一个比较大的问题,需要你给他讲算法,甚至在电话里告诉他一行行代码怎么写(后来Facebook开发了这类工具,应聘者在这边的电脑上做,面试官那边就看得到你写的程序,像collabedit.com或sync.in)。还会有一些知识性的基础问题,看看你在技术积累方面怎么样。通过电话面试后,我就接到了去公司面试(一般电话面试要进行两轮,我是只做了一轮,不知道为什么)的通知,那次见了五个人(后来的标准程序改成只要四个人)。下面我要讲到的内容,基本都是后来的通行做法。

这几个人都是工程师(当时Facebook还没有专门的产品经理,都是工程师兼任。现在Facebook已经有了专门的产品经理,所以在招聘产品类型的工程师时,产品经理也有可能参与面试,后台型的工程师则无此必要),包括我的老板,同组里的三位工程师,还有其他组的一位工程师。当时Facebook的员工在150人左右,工程师有六七十人,客服人员也有六七十人,其余的是人力资源、行政等职能部门的。

在很多公司,招人是一个组的事,针对特定职位招过来的人员直接进某个业务部门开始边做事边熟悉情况。Facebook招聘工程师时,很少是针对特定职位进行具体招聘的(这个招聘概率应该小于10%),大部分都是招进来之后放进新兵训练营(编者注:后面会讲到相关内容),然后再确定具体的工作职责。所以,进行正式面试时,一般都是根据应聘者的大致背景和特点(比如侧重后台开发还是前台开发、熟悉哪些编程语言等),挑出与其情况比较吻合的几位工程师来参与,双方有共同语言,这样就会有比较良好的沟通,避免“驴唇不对马嘴”的现象。当然同样会避免这几位面试官的背景完全一致,因为这样也会有局限性,容易发生偏见。Facebook在招聘中最关心的是如何考察应聘者对一些通用问题的解决能力和交流能力。比如广告后台必然需要数据系统的支撑,所以在面试官中会找对数据存储和读取熟悉的人来提问。他们不大关心广告后台本身的细节,但关心要解决问题所需要的系统知识和应对方案,说不定双方对一个Facebook内部的老问题可以聊出新的火花。Facebook在挑选面试官方面已经形成了一定的机制,原则和目标比较明确,就是找出有甄选能力的人,能与应聘者进行顺畅、有效的沟通,可以验证他的长处和优势。

目前Facebook招聘工程师时都安排四位面试官,每人45分钟时间,其中有2.5人会集中考察编程的情况,也就是技术性问题,0.5人考察文化适应性问题,1个人专注于系统设计方面。

先谈谈文化适应性问题。关注应聘者的性格特点是不是能和Facebook的文化兼容。不求完全共鸣,但不能存在极大差异。这些讨论,基本上基于对应聘者以往项目的讨论。下面是我主导的文化适应性面试的典型过程。

1分钟:我大致描述下本次面试。

4分钟:我先花1分钟介绍自己,什么时候加入Facebook,做过哪些东西,目前在Facebook哪个部门,负责什么。然后给应聘者3分钟进行自我介绍。

3~5分钟:让他回答“为什么对Facebook感兴趣”的问题。我们最不想听到的就是强调潜在的财务回报,虽然大家都知道这肯定是一个因素。但在如此宝贵的时间里去强调这一点,而不是其他更有意思的方面,会让面试人员产生反感。如果Facebook的财务表现在短期内不符合他们的想象,这些人会很快走掉。

10~15分钟:让应聘者谈谈之前最让他感觉骄傲的一个项目。然后我会深入追问很多跟这个项目相关的问题。比如“这个项目最大的挑战是什么”“几个人完成的,你在里面的角色和贡献”“有没有出现你的想法和其他人不同的情况,你是如何应对的”“这个项目让你学习了什么东西,或者锻炼了哪些地方”,我们还会挑一些相关的技术细节提问,等等。

20分钟:文化相关性问题只占一半时间。所以这里我们还是会集中在一个具体的技术问题上。

5分钟:留给应聘者来提问,针对Facebook或者针对我在Facebook所做的事情。我们希望应聘者较为关心的是公司文化、产品或技术,而非财务上的。

说到文化性问题,可能有人会有疑问,认为这样招聘来的都是一种风格的人,会不会限制了公司内部文化的多元化,反而不利于创新?其实,Facebook追求的只是在核心价值上想法一致,如果这方面有冲突,这样的人招过来可能会麻烦不断。Facebook的核心价值,比如把事情完成比完美更重要,这是最关键的,又比如,要做整体上对公司最有影响的事情,而不是做那些可有可无的事情;愿意进行团队合作,而不是习惯于单枪匹马;不要永远只会听你老板的话,要做一些你自己的决定和判断……至于说你喜欢用某种调试工具,他喜欢某种程序编辑器,这都不会造成什么影响,完全依据你个人的喜好。

整个面试流程里最多的要数技术性、编程性相关的问题,比如说很简单的Atoi(ASCII整数Integer的转换),用一段程序将英文字母换算成对应的数字,或者是反过来实现。很多典型的编程问题在网上都能查得到。但需要注意的是,不是所有人都能适应在白板上或纸上写程序,跟你直接在电脑上写并不太一样,最好事先练习一下,研究几十道类似的题目。这样不至于在白板上或者纸上写程序的时候手生。编程问题不仅仅是考察解决问题的能力,还有很重要的一点是沟通能力。我一般希望应聘者和我先谈谈他的思路,如果这个思路靠谱的话再去写程序。最不想看到的就是一上来就写,然后遇到困难就愣在那里。在谈论思路的时候碰上思维的断点不要紧张,可以把困扰说出来,把面试当作一个探讨的机会,而不是考试。在这个探讨的过程中,我们会慢慢地推向正确的解法。如果探讨在某点上僵住的话,我会直接给明显的提示,如果这个提示没有办法被应聘者接受的话,这个面试对他来说就失败了。在有了解决的思路后,接下来最重要的就是把程序写出来。不要求百分之百无漏洞,但基本上要没有大问题。通常我会要求他在写完之后自己再检查一遍,然后向我解释每一行程序要做的事情。往往在这时,他们自己会发现程序中的漏洞并修正。如果这样还有大问题的话,通常这个面试也是失败的。总而言之,在技术讨论中,我是把应聘者当作同事,如果讨论之后留给我的感觉是我不想和他共事,那我就不会给他积极的评价。

设计方面的问题主要是让应聘者针对某个大系统提出自己的设计方案。比如要让你来做Facebook的“动态消息”(News Feed),你会怎么实现,需要哪些部件(Components),数据如何传输,你的设计会有什么优点和缺点,等等。我会希望应聘者先谈论这个系统可以提供的一些性能要求或特点(Specification),因为这些要求会决定设计上的不同。比如动态消息系统是设计成方便读还是方便写,这会让实现方式大不同。每个人都有不同的方式,这没有问题,但这中间的交流可以体现出一些设计思想的深度,这才是面试的目的。系统设计能力考察的权重对于不同职位也不相同,比如后台的要多一些,前台的就少一些;刚从学校出来的要轻一些,有多年经验的要重一些。而Facebook的面试会回避类似脑筋急转弯那种所谓智力型题目,因为那根本体现不出什么智商,重点都放在具体的编程问题上。

还有一点,是对应聘者学习新东西的意愿和能力的判断,这个要求非常高。比如我们希望他知道一些新的技术,即使他不知道,但是在聊的过程中,也能从表情和反应中看出他是否有兴趣去学习。

面试结束后,面试官都会给应聘者打分,依强弱程度分别为:Strong Hire(强烈推荐),Hire(推荐),Weak Hire(一般推荐),Weak No Hire(一般不推荐),No Hire(不推荐),Strong No Hire(强烈不推荐),还会写出具体的评价以及理由(比如,我问了什么问题,应聘者如何回答)。一般要求面试人员在面试的当天提供反馈。这样Facebook可以在尽可能短的时间内完成对应聘者的评估以便给他们一个面试结果。这可以显示出对应聘者的尊重,也同时希望这种高效率能够给应聘者留下好的印象,如果给Offer的话,更能说服应聘者接受。在Facebook,招人是当作第一优先级的工作来对待的。

最理想的评价结果是所有面试官都给出“Hire”以上,其中还带“Strong Hire”。如果有两个面试官觉得不太好的,那就基本没戏了。像我在参与面试时,一般会无视所有带“Weak”的选项,因为我的理念是不需要平庸的同事。针对一段时间内面试的情况,公司每周会召开一个招聘决策会议,所有相关的面试人员和人力资源部门的代表都会参会,所有的应聘者都会被讨论,大家一起讨论应聘者的去留,明显不行的最快,明显行的也比较快,比较费时间的是那种所有人都说行、但没有一个人被震惊到,或者有人说不行、有人说很行的情况。这时候,如果有一个人愿意站出来力挺,一般不会被砍掉,可能会通过,也可能被安排一次后续的面试,再见上1~2个人,专门针对他上次面试中暴露出来的弱点提问题,来看他是如何解决的。总之,整体上的思路就是“请拿亮点来说服我”。

当然,对于到公司面试的应聘者,无论他的表现是否与我们的预期相符,面试官都会很尊重他们。毕竟他们是已经经过挑选的,很多是名校毕业的,而且他们给了Facebook一个雇用他们的机会。另外,他们的朋友当中可能有适合Facebook的优秀工程师,我们希望看到即使应聘者本人不适合Facebook,但他们愿意推荐自己的朋友来试试。所以,尊重每一个应聘者非常重要。因此,在Facebook不会出现原定要见4个人,结果见了两个人就结束面试这种情况。然而,在其他一些公司,这种做法会被当作有效利用时间的方式来推崇。

同类推荐
  • 找对人,做对事,签大单

    找对人,做对事,签大单

    本书立足销售中与客户沟通困难,销售人员付出很大的努力却收效甚微这一现状,以“找对人”、“做对事”、”签大单”为三个部分,多层次、多角度地揭示销售工作中的两大利器-找对人,做对事,给销售人员指出了一条签大单的正确道路。书中提供了许多销售建议、实用机巧、策略,让销售人员能够避开歪路,找到方向,在销售的康庄大道上财源滚滚。
  • 破解企业市场营销风险

    破解企业市场营销风险

    本书指出了营销中最常见的十种风险,精确分析了风险发生的原因,并结合营销成功案例,给出了行之有效的解决方案,集专业化和通俗化于一身,内容丰富,实用性强,是一本可读又不拗口的营销读物。
  • 人力资源开发与管理

    人力资源开发与管理

    本书主要用作国内经济管理类专业应用型本科(专科)教育的教材,同时,也可作为企业管理人员的培训资料和参考,或供管理人员自学使用。全书共十章,包括绪论、人力资源规划、工作分析、人员招聘、绩效管理、薪酬管理、培训与开发、职业生涯管理、劳动关系管理和国际人力资源管理等。本教材充分体现应用实践导向,注重知识结构的全面性、编写体例的新颖性和内容素材的前沿性。
  • 全球顶级企业通用的10种品牌管理方法

    全球顶级企业通用的10种品牌管理方法

    品牌尤其是具有良好知名度和美誉度的品牌是企业获得竞争优势、进占目标市场的有力武器。对于每一位管理者而言,学习顶级的品牌管理艺术,是提高企业管理水平的有效途径。本书是商界品牌管理智慧的荟萃,相信本书能给读者提供新的独特的方法,并成为确保品牌成功的新工具。
  • 给马云一个团队,他会怎么管?

    给马云一个团队,他会怎么管?

    这是一本直接向全中国最牛团队取经的团队管理书籍。如何带好一个团队?这让许多中高层管理者、职业经理人感到困惑!尽管有很多书籍在向我们不厌其烦地传授带团队的方法,但仍无法完全解决带团队过程中诸多潜在而未知的新问题。本书将用直接简单的语言,以“像马云一样带团队”为视角,展现阿里巴巴这支神秘的团队,向广大读者诠释马云及其团队执行力的管理之道和创新理念。本书颠覆了传统经管书说教式的、高深莫测的管理理论,以马云日常工作中如何抓团队的简单实用语录为主线,用这些企业内部的管理理念、企业文化和全新的不落俗套的幽默生动诙谐的小案例作为辅助,力图帮你解决管理团队过程中复杂棘手的问题!
热门推荐
  • 残情绝恋

    残情绝恋

    一个懵懂的学生,一个痴情的少年的悲情之恋,谁会是他最终的爱人
  • 互相折磨到白发,不放手

    互相折磨到白发,不放手

    她对他的爱只停留在了六年前的那天,那天他妈妈和她在楼梯口起了争执,后来,他妈妈一脚踏空从楼梯上滚了下去,他亲眼看到这幕,不分青红皂白的打了她一巴掌......他以为她对他也只有恨了吧。然而她也认为他对她的感情,应该只剩下恨了。但她不知道,他对她从来就只有爱。然而,不知所以的她独自一人去国外整整生活六年。殊不知,他为了她的微笑等了十年了......
  • 决斗吧,总裁大人

    决斗吧,总裁大人

    第一次见面,她救了他,他却吻了他。“啪”顾沁沁一巴掌扇过去,“浑蛋,流氓。”“是嘛,女人,你要为这一巴掌付出代价。”一月后,顾沁沁去医院实习,无意间撞到刚从院长办公室里出来的慕煜琛。“女人,这可是你自己送上门来的。”从此,菜鸟医生和霸道总裁开始了他们之间的相爱想杀。
  • 商业筹码狙击战

    商业筹码狙击战

    本书详尽的披露了国内企业残酷竞争的深层内幕,而且能够客观冷静的剖析在后经济危机时代企业密谋厮杀可能带来的种种利弊,并详尽的展望了企业未来的可能走向,是一部多方位剖析为一体的商场实战手册。该作品用了大量精彩的企业商战案例,阐释了后危机时代中的企业战略、竞争手段、内部博弈。最重要的是站在企业的角度,透过多家国内知名企业的竞争诡道窥探,向大家展示后危机时代国内企业波谲云诡的博弈谋略真相。
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • 踏上神的足迹

    踏上神的足迹

    葛天玉龙,一个在错误的时间站队了位置的上古人物,通过自身的经历,埋藏了一个旧的时代,开启了一个全新的时代。。。。
  • 太已天际线

    太已天际线

    异界闯荡,打怪不升级,强势男主与活泼女主的旅游日记?不为升级,只为旅游,体验异界文化民俗。嗯?你不对劲?紫帝醒来时,已经失去了万年前的记忆,但万古一帝的实力却从未消散。万年时间天下再未孕育帝级强者,独步天下的紫帝又将演绎怎样的神话?
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • 一个人的成仙

    一个人的成仙

    苏南,她是一个修仙的人,一个天生的修仙者。苏南,不知道她自己是谁,也不知道她将要去往何处,她只知道很多仙,很多鬼都知道她,可是她不知道她自己是谁。苏南,这一生都在找寻她自己是谁,可是找到最后,她的心冷了,都没能找到她是谁。有一日,有人告诉苏南,以前的你心是热的,人也是热的。可是,苏南却不认识他,也不曾知晓自己的心热过,她一直便以为她的心是冷的,是一个天生没心没肺的人。
  • 报告大叔请认领你夫人

    报告大叔请认领你夫人

    大叔,这是你家的路?是,我开的。某男人不要脸的说道。大叔,你要点脸好吗?某男听到她左一声又一声的大叔听的有点生气了!尼玛!就差五六岁就把他叫老了!……大叔,你缺夫人吗?你看我像缺的?某女猛地点头…他们发生什么样的火花呢?敬请期待吧