Nicholas Zakas:我最中意的面试题
程序员文章站
2022-06-10 23:14:26
...
Nicholas C. Zakas是著名JavaScript工程师,曾任雅虎前端技术主管,是YUI库的作者之一,著有《编写可维护的JavaScript》、《JavaScript高级程序设计(第3版)》、《高性能JavaScript》。他最近在博客分享了有关面试方面的经验。
招新员工和面试比表面上看起来难得多。雇了不合适的员工的代价是很高的,虽然公司往往在这方面觉得宜早不宜迟,不愿意花很长时间来选择一位合适的员工。Nicholas认为,招错了人,造成的损失比招不到人更大。
基于这条理念,Nicholas有一个很好的问题,来帮助他在几年来做出了很多是否录用的决定。读到这里,肯定会有人想:“天呐,他马上就要分享一个面试问题,然后这个问题以后就没用了。”但Nicholas认为,一个好的面试问题应该在候选人事先知道问题时也能起到很好的效果。所以这里分享的问题将会对面试官和面试者都有帮助。
好的面试提问
问题不会和下面一模一样,但是形式大体类似:
假设你可以*选择工作,星期一就开始上班。进入理想的公司,获得期望的头衔和薪水。只要谈谈自己具体想做什么,就可以得到这份工作。你具体想做什么呢?
星期一开始上班
这里指出一个具体的日期,是强调这份工作不是说你希望将来的某一天能做的工作,也不是什么不现实的工作。就是星期一开始——你没有时间学习新的知识,或者工作经验,你就是现在的你,在这方面要有下周一就可以胜任工作的水平。
理想的公司,头衔和薪水
这三点是应聘者真正想得到的,却对面试官的决定影响很小。Nicholas说,公司我们控制不了,头衔通常都是没意义的,薪水也说明不了什么。提出这三点只是代入应聘者的思考,因为这是他们真正关心的东西。
讨论
显而易见,这个问题并没有标准答案,而只是一个谈话的引子,围绕这个话题,你能发现应聘者到底适合不适合这个职位。Nicholas建议面试官最好能自己有更深入的问题,这样对自己的判断效果更佳。
话题卡壳
有些人可能因为这个问题太宽泛了而不知从何说起,这时候我通常会问下面这样的问题打开他们的思路:
上面这些问题是帮助应聘者指引思路的(无论什么情况,Nicholas从来不跳过这个问题)。通过以上问题缩小讨论的范围,大多数应聘者就能畅所欲言了。
自我评价的准确性
这个问题的第一任务是判断应聘者的能力是否适合岗位。比如,一个22岁的小伙子告诉你下个周他想做Google的CEO,那要么是他对自己的能力估计不准确,要么就是他不理解你的意思。这时候应该试着提醒一下:下周一就要开始上班,你准备好要去Google做CEO了吗?“如果回答是Yes,那么我就会自娱自乐地问一下他想怎么运营整个公司,然后心里想着面试下一个了。”Nicholas说。
做开发还是做管理
Nicholas经常需要面试一些开发岗位,通过这个问题可以看出来面试者是喜欢管理还是喜欢开发。这一点很关键,因为如果不是他们真正想要的工作,他们就不会快乐,而不快乐就可能导致麻烦,有些麻烦小,有些就大了。Nicholas说当他发现应聘者可能面试的不是他偏爱的工作时,一般会求证地问一下:“你喜欢在别人的管理下工作吗?”或者“这份理想的工作和管理没有关系?”
领导者与服从者
开发者和经理的一个明显的区别是:一个是领导者,一个是服从者。辨别的一个小技巧:领导者可能会告诉你他们有能力做什么,但是不适合做领导的人永远不会说自己喜欢服从别人。当然,你可以不可能直接问他们,因为人天生就不喜欢受别人管束,所以每个人都会说自己适合领导。Nicholas认为,最好的方式是倾听他们的表达方式,然后自己做决定。如果一个人适合领导,那么下面的句子会用的更频繁:
顺便提一下,如果你觉得特意使用这些句子,来让别人以为你适合领导,就大错特错了。这只是更深层次讨论的引子,你不可能骗得了知道自己想要问什么的面试官。
重要:领导者和服从者同样重要。将服从者放到领导者的岗位上会对整个团队造成麻烦,将领导者放到服从者的岗位上同样会造成浪费。我们的目的不是挑出来领导者,而是将人们分配到适合他们的岗位上。
时间花费
讨论的时候Nicholas也会问应聘者,他们愿意在某种工作上花多少的时间。比如,愿意将编码和管理的工作五五开吗?愿意花费70%的时间来构思然后只用30%的时间去实现吗?或者真的想做一个产品经理,只有10%的时间来写代码?这些都可以帮助你来了解一个人。
结论
最后,通常需要重复一下应聘者的陈述,例如这样:
好,我来试着描述一下你的工作。在你理想的岗位上,你将有75%的时间在写代码(如果可能的话,是javascript语言),25%的时间来和其他人讨论技术和代码。你喜欢在一个5人左右的团队中工作,最好有一个比你有经验的人来领导,对吗?
如果有哪里理解不到位,就需要他们纠正。等得到了正确答案,你可以解释一下为什么问这个问题了:
我问这个问题,是因为我觉得将每个人安排到合适的岗位上非常重要。我想要了解你和你的职业理想,来确保我们的岗位对你来说合适。现在,我要告诉你我们在招什么样的人才,然后我们一起决定双方是否合适,可以吗?
这样,你描述了应聘者希望找的工作是什么样的,然后说一下你们的岗位和这份工作匹配的地方,不匹配的地方。最后,给出你的观点,关于他们是否适合这份工作,再询问他们的观点。无外乎下面三种情况:
1.看起来我们的岗位不适合你,你觉得呢?
2.从你的描述看,我们的岗位大部分都满足你的条件,你觉得呢?
3.这就是你要找的工作啊!你认为呢?
如果真的合适的话,应聘者就会对接来下的面试程序更有信心。因为他们知道你的话不是简单地奉承,而是你真的了解他们,知道这份工作是真的合适。
Nicholas说,用这样的方式,即使最后他告诉面试者他们的岗位和面试者的期望并不匹配,也从来没有和任何人吵过架。很多人都表示了感谢,因为这次面试帮助他们知道了自己真正喜欢的工作是什么,自己的激情在哪里。Nicholas也无数次地鼓励面试者去找一些真正符合他们期待的工作。所有的面试者最后都无一例外地告诉他说他们太喜欢这次面试经历了。
总结
Nicholas认为,了解一个面试者,比评估他们的价值更困难。他见过很多因为职位不合适而造成的损失,希望自己能避免这些损失。所以他想让面试者明白,他没有在鼓吹什么,不会做不切实际的承诺,也不会吹嘘这份工作的前途多么光明云云。相反,他会给出这份工作的概况,也希望能了解到应聘者期望工作的信息。
Nicholas本人喜欢这个问题的原因,在于这让面试者表现得更多,淡化了结果,让面试者觉得自己被倾听,可以有一个机会来表达自己期望融入到一个怎样的公司。
最后,面试官应该对雇主和面试者有一份责任,确保双方都对工作和员工的匹配满意。这个问题可以快速地告诉你匹配的程度,同时又可以深入地了解面试者的资质和能力。如果面试只能问一个问题的话,那么这个问题再好不过了。
译注:在Nicholas的博客下面有人问他,“有人告诉你他们的理想是做个摄影师,或者慈善工作者吗?这种情况你怎么把他们的思路带回来?” Nicholas风趣地回答到:“暂时没有,不过我会问他们为什么来面试我的工作,而不去做这些。”
原文链接:My favorite interview question
编译:赖信涛,关注Python,喜欢编程和电子游戏。个人博客:http://www.kawabangga.com/
招新员工和面试比表面上看起来难得多。雇了不合适的员工的代价是很高的,虽然公司往往在这方面觉得宜早不宜迟,不愿意花很长时间来选择一位合适的员工。Nicholas认为,招错了人,造成的损失比招不到人更大。
基于这条理念,Nicholas有一个很好的问题,来帮助他在几年来做出了很多是否录用的决定。读到这里,肯定会有人想:“天呐,他马上就要分享一个面试问题,然后这个问题以后就没用了。”但Nicholas认为,一个好的面试问题应该在候选人事先知道问题时也能起到很好的效果。所以这里分享的问题将会对面试官和面试者都有帮助。
好的面试提问
问题不会和下面一模一样,但是形式大体类似:
引用
假设你可以*选择工作,星期一就开始上班。进入理想的公司,获得期望的头衔和薪水。只要谈谈自己具体想做什么,就可以得到这份工作。你具体想做什么呢?
星期一开始上班
这里指出一个具体的日期,是强调这份工作不是说你希望将来的某一天能做的工作,也不是什么不现实的工作。就是星期一开始——你没有时间学习新的知识,或者工作经验,你就是现在的你,在这方面要有下周一就可以胜任工作的水平。
理想的公司,头衔和薪水
这三点是应聘者真正想得到的,却对面试官的决定影响很小。Nicholas说,公司我们控制不了,头衔通常都是没意义的,薪水也说明不了什么。提出这三点只是代入应聘者的思考,因为这是他们真正关心的东西。
讨论
显而易见,这个问题并没有标准答案,而只是一个谈话的引子,围绕这个话题,你能发现应聘者到底适合不适合这个职位。Nicholas建议面试官最好能自己有更深入的问题,这样对自己的判断效果更佳。
话题卡壳
有些人可能因为这个问题太宽泛了而不知从何说起,这时候我通常会问下面这样的问题打开他们的思路:
- 可以从简单的问题开始:比如你喜欢整天写代码吗?如果不是,你喜欢做什么呢?
- 你愿意单独工作还是和团队一起,你愿意在团队中扮演什么角色?
- 你最喜欢用什么编程语言?你希望工作中有多少时间是使用这门语言的?
- 或者想想相反的方面,你最不喜欢做什么?
- 关于你的新工作,你愿意花时间去学习哪些东西?
上面这些问题是帮助应聘者指引思路的(无论什么情况,Nicholas从来不跳过这个问题)。通过以上问题缩小讨论的范围,大多数应聘者就能畅所欲言了。
自我评价的准确性
这个问题的第一任务是判断应聘者的能力是否适合岗位。比如,一个22岁的小伙子告诉你下个周他想做Google的CEO,那要么是他对自己的能力估计不准确,要么就是他不理解你的意思。这时候应该试着提醒一下:下周一就要开始上班,你准备好要去Google做CEO了吗?“如果回答是Yes,那么我就会自娱自乐地问一下他想怎么运营整个公司,然后心里想着面试下一个了。”Nicholas说。
做开发还是做管理
Nicholas经常需要面试一些开发岗位,通过这个问题可以看出来面试者是喜欢管理还是喜欢开发。这一点很关键,因为如果不是他们真正想要的工作,他们就不会快乐,而不快乐就可能导致麻烦,有些麻烦小,有些就大了。Nicholas说当他发现应聘者可能面试的不是他偏爱的工作时,一般会求证地问一下:“你喜欢在别人的管理下工作吗?”或者“这份理想的工作和管理没有关系?”
领导者与服从者
开发者和经理的一个明显的区别是:一个是领导者,一个是服从者。辨别的一个小技巧:领导者可能会告诉你他们有能力做什么,但是不适合做领导的人永远不会说自己喜欢服从别人。当然,你可以不可能直接问他们,因为人天生就不喜欢受别人管束,所以每个人都会说自己适合领导。Nicholas认为,最好的方式是倾听他们的表达方式,然后自己做决定。如果一个人适合领导,那么下面的句子会用的更频繁:
- 我喜欢帮助别人
- 我感觉有很多经验可以分享给别人
- 没关系/我喜欢指导别人
顺便提一下,如果你觉得特意使用这些句子,来让别人以为你适合领导,就大错特错了。这只是更深层次讨论的引子,你不可能骗得了知道自己想要问什么的面试官。
重要:领导者和服从者同样重要。将服从者放到领导者的岗位上会对整个团队造成麻烦,将领导者放到服从者的岗位上同样会造成浪费。我们的目的不是挑出来领导者,而是将人们分配到适合他们的岗位上。
时间花费
讨论的时候Nicholas也会问应聘者,他们愿意在某种工作上花多少的时间。比如,愿意将编码和管理的工作五五开吗?愿意花费70%的时间来构思然后只用30%的时间去实现吗?或者真的想做一个产品经理,只有10%的时间来写代码?这些都可以帮助你来了解一个人。
结论
最后,通常需要重复一下应聘者的陈述,例如这样:
引用
好,我来试着描述一下你的工作。在你理想的岗位上,你将有75%的时间在写代码(如果可能的话,是javascript语言),25%的时间来和其他人讨论技术和代码。你喜欢在一个5人左右的团队中工作,最好有一个比你有经验的人来领导,对吗?
如果有哪里理解不到位,就需要他们纠正。等得到了正确答案,你可以解释一下为什么问这个问题了:
引用
我问这个问题,是因为我觉得将每个人安排到合适的岗位上非常重要。我想要了解你和你的职业理想,来确保我们的岗位对你来说合适。现在,我要告诉你我们在招什么样的人才,然后我们一起决定双方是否合适,可以吗?
这样,你描述了应聘者希望找的工作是什么样的,然后说一下你们的岗位和这份工作匹配的地方,不匹配的地方。最后,给出你的观点,关于他们是否适合这份工作,再询问他们的观点。无外乎下面三种情况:
1.看起来我们的岗位不适合你,你觉得呢?
2.从你的描述看,我们的岗位大部分都满足你的条件,你觉得呢?
3.这就是你要找的工作啊!你认为呢?
如果真的合适的话,应聘者就会对接来下的面试程序更有信心。因为他们知道你的话不是简单地奉承,而是你真的了解他们,知道这份工作是真的合适。
Nicholas说,用这样的方式,即使最后他告诉面试者他们的岗位和面试者的期望并不匹配,也从来没有和任何人吵过架。很多人都表示了感谢,因为这次面试帮助他们知道了自己真正喜欢的工作是什么,自己的激情在哪里。Nicholas也无数次地鼓励面试者去找一些真正符合他们期待的工作。所有的面试者最后都无一例外地告诉他说他们太喜欢这次面试经历了。
总结
Nicholas认为,了解一个面试者,比评估他们的价值更困难。他见过很多因为职位不合适而造成的损失,希望自己能避免这些损失。所以他想让面试者明白,他没有在鼓吹什么,不会做不切实际的承诺,也不会吹嘘这份工作的前途多么光明云云。相反,他会给出这份工作的概况,也希望能了解到应聘者期望工作的信息。
Nicholas本人喜欢这个问题的原因,在于这让面试者表现得更多,淡化了结果,让面试者觉得自己被倾听,可以有一个机会来表达自己期望融入到一个怎样的公司。
最后,面试官应该对雇主和面试者有一份责任,确保双方都对工作和员工的匹配满意。这个问题可以快速地告诉你匹配的程度,同时又可以深入地了解面试者的资质和能力。如果面试只能问一个问题的话,那么这个问题再好不过了。
译注:在Nicholas的博客下面有人问他,“有人告诉你他们的理想是做个摄影师,或者慈善工作者吗?这种情况你怎么把他们的思路带回来?” Nicholas风趣地回答到:“暂时没有,不过我会问他们为什么来面试我的工作,而不去做这些。”
原文链接:My favorite interview question
编译:赖信涛,关注Python,喜欢编程和电子游戏。个人博客:http://www.kawabangga.com/
上一篇: python 模块定义、导入、优化详解
下一篇: 飞得更高: (一)陌生电话