Amazon 前技术副总裁解剖完美技术面试

简介: Neil Roseman 厌倦了硅谷公司“我们只要最优秀和最闪亮人才”的口号。因为无论怎样强调,在真正招新时,多数人还是凭借自己的直觉,和应聘者的基本资格而定,例如 GPA,是否来自藤校,有无大公司的工作经历—甚至是 SAT 成绩。

Neil Roseman 厌倦了硅谷公司“我们只要最优秀和最闪亮人才”的口号。因为无论怎样强调,在真正招新时,多数人还是凭借自己的直觉,和应聘者的基本资格而定,例如 GPA,是否来自藤校,有无大公司的工作经历—甚至是 SAT 成绩。


Roseman 对这样的考核标准不以为意。对曾在 Amazon 和 Zynga 任技术副总裁,面试过数百人的 Roseman 来说,面试的每个环节都需要被一丝不苟地设计。只有这样,才能从面试中挖掘出有真才实学的,契合企业文化的,且有领导者潜质的应试者。下面,Roseman 分享了他的面试哲学,解析他是如何挑选人才的。


在10,000英尺的高度上

关于面试,有一些需要遵循的基本组织原则,能帮你拟定一个清晰的计划。

  • 在每个面试结束时,你都应该对这个应试者是否会对公司带来帮助有基本的评估。
  • 成功的面试要花功夫。从面试前对简历的了解,到面试本身,再到后期总结讨论,都要当其是工作一样认真对待。
  • 在面试开始的1分钟内,你会对应聘者形成初步印象。在剩下的时间里则要使这个印象无效。
  • 大量做笔记,以得到强有力的证据选择或放弃应聘者。
  • 多数情况下“最优秀和最闪亮”的人都已经有工作了。因而你真正要做的是在可选人才中挑出最好的。另外,因为你无法对招聘结果进行A/B测试,你无从得知是否挑到了对的人。
  • 依然力求将巨星式人物纳入麾下,但也明确并非所有人都有“水上飘”的功夫。只要他们在某些方面超越现有员工且有潜力就足够了。
  • 要找那些聪明的,能完成任务的,对特定职位有相应技能的人。


筛选简历和设计问题的正确方法

简历通常都是第一步。然而,简历并不能完全反应出应聘者的真实水平。Roseman 建议一个深入地筛选简历阶段。

“多数团队在如何阅读简历,如何找到目标条目并对其深挖方面知之甚少。”

在筛选简历时,Roseman 会关注那些应聘者未来能够提高的领域。他会去寻找简历上能被量化的条目,例如“将营业额提高 50%”。


Roseman 认为,要去发现应聘者真正完成的东西,而不仅仅作为观察者或是参与者。即使是在一个伟大的公司,主心骨和起辅助作用的员工间有很大差异。


很多情况下,这也能立刻显现应聘者对他们自己和其职责的认识。假如现在要雇用一个系统工程师,那么你需要知道他简历上”将系统可用性提高 50%”这一条他究竟参与了多少。一个优秀的候选人,无论你把问题挖掘地多深,都能够言之有物地解释清楚他声称自己完成的事。


一个具体的例子是,在 Roseman 看到简历上有这么一句”带领一组 3 人工程师团队完成了可大规模扩展的存储基础设施,并被广泛用于 Google 的多种产品上”时,Roseman 选择让应试者在白板上绘制出基础设施的结构图,并划出哪些是由他完成的,接着 Roseman 再就那些方面提问测试应聘者究竟知道多少。


总结起来,在技术面试中,要就能证明其贡献,行为以及决策的方面进行提问。具体操作如下:

  • 抛出问题:给我一个关于…的例子
  • 深入挖掘:对于每一个处细小成果完成的时间,地点,合作者,细节,为什么采取这种方式及其如何执行的进行提问。
  • 区分出:优秀vs.卓越;有所涉猎vs.专家;参与者vs.领头羊。
    Roseman 补充,他会去寻找那些足够有分量和深度的项目按照 STAR 的方法进行提问—STAR 代表”情况”(Situation),”任务”(Task),”行动” (Actions) 和”结果“(Results)。具体问题就是:
  • 你从事的这个项目的背景是什么
  • 你的具体任务是什么
  • 你采取了怎样的行动* 你是如何评估结果的

此外,在面试前阅读简历的时候也应当弄清楚,简历上列出的这些项目或产品,无论成功与否,是否会对你自己的公司有益。

image.png

技术问题与面试

Roseman 常常听到招聘主管的第一个问题是让应聘者介绍一下自己的简历。Roseman 并不认为这是个有价值的问题。Roseman 的建议是面试官先介绍自己,并陈述这次面试的目的,通过这种方式,双方同样可以消除紧张,令应聘者进入状态。


简介之后,Roseman 会直接进入技术问题的面试。他认为,对于一个工程师职位来说,落选的主要原因多为技术不过关,因此,摸清应试者的技术水平是首要的。


Roseman 首先会把注意力放在候选人所擅长的领域上。例如,如果他擅长写代码,那就问一个编程问题。重点要注意的是,不要提出一个全新的你没在非面试情况下问过别人的问题。因为你会无从得知如何引导对方来完成这个问题,也会很难判断答案的好坏。


尤其在当下,网络上的面试题库丰富。候选人完全可以从 Glassdoor 或者 Quora 等网站上得到大量信息。Roseman 认为从这些资源中找问题是可以的,但要能将其雕琢成自己的问题。对于问题的选择和修改,整个团队都应该坐下来讨论。提出的问题要能从高处开始不断向下挖掘,即使应聘者曾见过这个问题,你的深入提问也能得到不一样的信息。

而对于原创问题,Roseman 的建议则是让应聘者试着解决一些你的公司实际面临的难题。在 Amazon 时,Roseman 经常会提一个关于”推荐”系统(根据用户的购买历史而向他们推荐他们更有可能会买的其他产品产品)的设计问题。Roseman 认为,一个人们都有所熟悉的产品的问题,能看出应聘者是否既关注产品又关注解决方案。


Roseman 尤其关注产品设计方面的问题。他认为,卓越的工程师不仅只会接任务,更应该能够参与到产品开发的过程中来。而设计上的问题则能让你得知应聘者的思考方式。Roseman 会让应聘者给他们曾参与过的项目写一个小的项目管理计划, 或是提出一个通用的设计问题例如,怎样设计一台给盲人用的 ATM/ 电梯。


技术面试还需要掌握好时间分配与节奏。一个 60 分钟的面试里,在一个特别复杂的查询语句上花 45 分钟是很稀松平常的。


至于企业文化的契合和软技能,Roseman 最喜欢的一个问题是:你认为自己是个幸运的人吗?无论职位如何,这都是他的必问问题。


Roseman 的解释是,他遇到过许多不认为自己幸运的人。那些人会抱怨,自己差一点就升职,可惜最后一刻被上级取消了自己在做的项目;或是会找到一些失败的其他原因。而 Roseman 要寻找的则是坚信”机会只给有准备的人”的求职者。他们懂得未雨绸缪,继而抓住一切能够展示自己的机会。对于创业公司而言这点尤其可贵。


在“幸运”的问题之后,Roseman 通常有个后续问题。不同于常规的”你认为自己的优势和劣势在哪儿“,Roseman 换了一种思路去提问。他会让应聘者试想,如果让他的师长,同事,或是上级用三个形容词去形容他,他们会选择什么,并具体例证。对与经典的“自我评估优势,劣势问题”一些人会回答,自己的缺点是工作太努力了。这种提问方式就规避了很多“优势,劣势”问题的弊端。


另外一点 Roseman 坚持的是,不要轻易缩短面试的时间。即使你在 15 分钟的时候已经决定这不是个合适的候选人,也应该完成整个面试过程。对应聘者来说,他们依然会有所受益。


相反,如果这个应征者明显是这个职位的绝佳人选,结束时则应进一步增加他对职位的兴趣。在面试时,能够很好地回答应试者的问题并传达出你对公司的热忱是很重要的两点。

image.png

招聘团队

招聘团队的质量会直接影响到所招员工的整体质素。Roseman 认为,多数公司都没有花时间训练当前雇员的面试技巧。


Roseman 要求招聘团队中的每个人都和应征者见面,并在面试过程中做详细的笔记。当最后所有人聚在一起时, 每人投票并反馈信息。这个最后商议时间不能被无限拉长,每个面试官在言之有物的前提下要精简。Roseman 对于他自己的招聘团队的要求是:1)如果他们无法综合地反馈信息,例如面试后对应聘者的评价仅仅是 “这人还不错”, 那他们则是在浪费所有人的时间。2)如果你无法学会成为优秀的面试官,要么你去学会如何成为优秀的面试官,就不要面试别人。Roseman 在面试中不会给应征者施压,却对他自己团队成员在面试新人上的表现要求严格。


成为一个好的面试者也是现有雇员展示自己能承担更多责任,对公司有深刻思考的好机会。


在做出招聘决策时,提出的观点要能够令人信服。Roseman 认为,这是个团体的决定,并不能是来自招聘经理的压倒性意见。


无论硅谷标准有多高,你都不应该要求每位新员工有“水上飘”的超能力。最简单的衡量标准是只要新招比在同等职位上现有员工的水平高足矣。长远看来你想要实现的是在每一次招聘中逐渐提高标准。


至于员工推荐,Roseman 十分欢迎,他十分乐意给员工推荐奖金。他认为这是找到优秀人才最有效和最经济的方式。


Roseman的招聘哲学总结

  • 自我介绍让大家放松进入状态。
  • “简单介绍你自自己”在技术面试中不是个有用的问题。
  • 通过深度提问以辨别应聘者的对项目的参与程度。
  • 不要尝试无从辨别答案好坏的新问题。
  • 现场写代码。
  • 探究算法,数据结构,代码组织和简洁性。
  • 故意提出指示不明的问题,观察应聘者是否发问。
  • 通过设计问题考察其全局思考的能力。
  • 确认应聘者具备公司所需要的核心才能。
  • 让面试变得有难度却不失趣味。优秀的研发人员只想和聪明人对话。
相关文章
|
3天前
|
存储 网络协议 安全
30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场
本文精选了 30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场。
13 2
|
3月前
|
消息中间件 缓存 NoSQL
再也不怕面试官问零拷贝技术
该文章主要讨论了零拷贝技术的相关概念、传统IO读写操作的过程以及零拷贝技术的两种实现方法。
再也不怕面试官问零拷贝技术
|
3月前
|
C语言
【Amazon 面试题1】一个数组,里面得数出现的次数是偶数次,只有一个数出现的次数是奇数次,找出那个出现奇数次的数
本文介绍了解决Amazon面试题的一种方法,即在一个所有数字出现次数都是偶数,除了一个数字出现奇数次的数组中,利用异或运算的性质找出出现奇数次的数字,并提供了C语言实现的代码示例。
67 1
|
3月前
|
Linux 数据安全/隐私保护 Perl
解锁Linux高手秘籍:文件操作+命令解析大揭秘,面试场上让你光芒万丈,技术实力惊艳四座!
【8月更文挑战第5天】Linux作为服务器与嵌入式系统的基石,其文件管理和命令行操作是技术人员必备技能。本文从文件操作和基础命令两大方面,深入浅出地解析Linux核心要义,助你在面试中脱颖而出。首先探索文件系统的树状结构及操作,包括使用`ls -la`浏览文件详情、`touch`创建文件、`rm -r`慎删目录、`cp`与`mv`复制移动文件、以及利用`find`搜索文件。接着掌握命令行技巧,如用`cat`、`more`和`less`查看文件内容;借助`grep`、`sed`与`awk`处理文本;运用`ps`、`top`和`kill`管理进程;并通过`chmod`和`chown`管理文件权限。
79 8
|
3月前
|
监控 Linux 数据安全/隐私保护
Linux大神养成记:掌握这些逆天命令与快捷方式,面试秒变MVP,让你的技术实力燃爆全场!
【8月更文挑战第5天】Linux作为开源领域的核心,熟悉其基本命令对系统管理员和技术人员至关重要。本文精选了面试中常考的Linux命令,覆盖文件管理、文本处理、进程监控及权限调整等关键领域,并介绍了提高效率的快捷方式。通过掌握如`ls -l`、`grep "error"`、`top`、`chmod 755`等实用命令,以及Tab自动补全、历史命令浏览等功能,不仅能显著提升日常工作效能,还能在求职面试时展现出扎实的技术功底。
64 4
|
4月前
|
存储 搜索推荐 数据库
面试题MySQL问题之个性化推荐广告系统中ETL技术与Aerospike的结合使用如何解决
面试题MySQL问题之个性化推荐广告系统中ETL技术与Aerospike的结合使用如何解决
50 2
|
4月前
|
Java 应用服务中间件 持续交付
Java面试题:简述Docker等容器化技术的原理及其在Java应用部署中的作用。
Java面试题:简述Docker等容器化技术的原理及其在Java应用部署中的作用。
70 0
|
4月前
|
搜索推荐 算法 网络协议
如何做好IT类的技术面试?
如何做好IT类的技术面试?
51 0
|
3月前
|
存储 Java
【IO面试题 四】、介绍一下Java的序列化与反序列化
Java的序列化与反序列化允许对象通过实现Serializable接口转换成字节序列并存储或传输,之后可以通过ObjectInputStream和ObjectOutputStream的方法将这些字节序列恢复成对象。
|
8天前
|
存储 算法 Java
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
本文详解自旋锁的概念、优缺点、使用场景及Java实现。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?