阅读更多

2顶
1踩

非技术
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/
来自: CSDN
2
1
评论 共 1 条 请登录后发表评论
1 楼 snakeaiyu 2015-10-29 13:45
 

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 项目成本核算表.xls

    一份很好的项目成本构成明细清单,对于项目成本核算,高新认证会计算加计扣除都有很好的指导作用。也是公司会计可以参考的资料。

  • 不计成本的项目总结

    google_ad_client = "pub-1713472117536005";google_ad_width = 728;google_ad_height = 90;google_ad_format = "728x90_as";google_ad_type = "text_image";google_ad_channel ="";google_colo

  • 不计成本的项目进展

     我知道我的下级无法承受我的上级的压力,重新制定一个看起来不错的计划,投入人力,开始战斗.第一周:几乎没有进度,因为大部分人需要熟悉业务知识和开发环境第二周:根据进度要求,还滞后3天(这是大家天天加班的结果),和项目负责人商量后,我立刻决定将其中拖后腿一个人待岗,补充两个程序员第三周:滞后1天,补充的人手很及时第四周:根据报告,已经追上进度,只是项目负责人很小心的说,BUG数量可能比预计的

  • 项目成本管理

    项目成本管理

  • 我最中意的面试题

    Nicholas C. Zakas是著名JavaScript工程师,曾任雅虎前端技术主管,是YUI库的作者之一,著有《编写可维护的JavaScript》、《JavaScript高级程序设计(第3版)》、《高性能JavaScript》。他最近在博客分享了有关面试...

  • Nicholas C. Zakas如何面试前端工程师

    面试前端工程师对我来说是一件非常有意思的事,因为面试过程很大程度上也是自我提升的过程。无论大公司还是小公司,之所以在如何招聘到真正有能力的前端工程师方面会遇到同样的问题,就是因为负责招聘的那些人不知道...

  • 面试题整理|50个NodeJS面试题

    面试整理|50个NodeJS面试题初级NodeJS面试题中级NodeJS面试题高级NodeJS面试题《Nodejs仿微博网站》 Node.js是一种服务器端脚本工具,使用它可以轻松构建从简单的命令行程序到复杂的企业级 Web 应用程序的所有内容...

  • 转载:Nicholas C. Zakas如何面试前端工程师

    面试前端工程师对我来说是一件非常有意思的事,因为面试过程很大程度上也是自我提升的过程。无论大公司还是小公司,之所以在如何招聘到真正有能力的前端工程师方面会遇到同样的问题,就是因为负责招聘的那些人不知道...

  • (转载)Nicholas C. Zakas如何面试前端工程师

    面试前端工程师对我来说是一件非常有意思的事,因为面试过程很大程度上也是自我提升的过程。无论大公司还是小公司,之所以在如何招聘到真正有能力的 前端工程师方面会遇到同样的问题,就是因为负责招聘的那些人不...

  • Nicholas C. Zakas(javascript高级程序设计作者)如何面试前端工程师

    面试前端工程师对我来说是一件非常有意思的事,因为面试过程很大程度上也是自我提升的过程。无论大公司还是小公司,之所以在如何招聘到真正有能力的前端工程师方面会遇到同样的问题,就是因为负责招聘的那些人不知道...

  • Nicholas C. Zakas(JS圣经:JavaScript高级程序设计作者)如何面试前端工程师

    Original Post:Interviewing the ...面试前端工程师对我来说是一件非常有意思的事,因为面试过程很大程度上也是自我提升的过程。无论大公司还是小公司,之所以在如何招聘到真正有能力的前端工程师方面会遇到同样...

  • Nicholas C. Zakas如何面试前端工程师(转)

    面试前端工程师对我来说是一件非常有意思的事,因为面试过程很大程度上也是自我提升的过程。无论大公司还是小公司,之所以在如何招聘到真正有能力的前端工程师方面会遇到同样的问题,就是因为负责招聘的那些人不知道...

  • 不计成本项目的验收

    不计成本项目的验收有时候,只能说服从领导命令真是一件大坏事。好事情总是能预计到,坏事情总是以你想不到的方式来到,不管你如何准备。    最近,有市场人员介入到验收的事情,汇报说,有很多问题。虽然我对项目有所了解,但是仍然非常吃惊。    项目负责人表现出犹豫的神情,我也紧张了。仔细看了BUG LIST,应该说变更的问题不能批评项目负责人,但是还有三分之一的BUG,确实比我估计中的BUG要多一倍

  • 为什么项目进展不甚满意?

    在项目中最大的工作量是沟通,真的是沟通了就能保证进度? 我做过的项目不算少,也是一个开发的爱好者,我想我从事开发的热情绝对是发自内心的,而且针对问题也是非常有耐心的人.我也带过30人的团队进行开发,但是现在6个人的团队却感到非常疲备,为什么? 确实沟通了,我喜欢就问题进行讨论,倾听别人的意见,寻找出项目的缺点,确定解决的方法,确切的说,我希望听到建议,那怕是错误的建议呢. 我听到的是这个我不会,那

  • 现在的年轻人怎么了?

    今天我正好有点时间,因此我决定检查我的另外一个项目组的工作.和负责人交换了意见之后,我对正在进行技能学习的程序员进行了检查,我的问题无非是最近做了什么,看了什么,有什么问题,需要什么样的帮助,对即将进行的工作有没有信心.对于新参加工作的同事,我倒是没有指望他们有什么样的表现,我希望通过这样的谈话,考虑一下以后的工作应该注意哪些问题.只有两个人回答了我的问题,不是很满意,也没有做什么事情,问题问的也

  • 为什么不考虑考虑我的心情

     和一个组员单独谈话,指出目前工作上存在的种种不足.组员:你总是说我这有问题,那儿有问题,为什么不考虑考虑我的心情,不要老说我好不好.我:.....我:我要完成整个部门的工作,是啊,谁来考虑我的心情.

  • 看见问题,必须采取行动

    看见问题,必须采取行动 我已经观察并检查了项目组的代码,出人意料,我以为不能胜任工作的同事居然代码写的有板有眼,注释也清清楚楚,虽然工作量并没有完成.真让我喜出望外,是不是我上次批评的过分了? 幸好我没有立即表态,将我检查的情况和项目负责人一一核对,这才发现我们那位同事的代码原来是项目负责人写的,因为他写不出来就去问,一直问道项目负责人帮他写两行后,过一段时间再来问,就这样,他一行代码都没有写!!

  • 一个用于配置移动应用开发环境的自动化脚本

    可以帮助开发者自动安装Android SDK、Android NDK、Java开发工具包(JDK)以及Flutter SDK,这些都是移动应用开发(特别是Android和Flutter应用)所必需的。 脚本首先定义了一些变量,用于存储工具的安装路径和版本。然后,定义了一个install_tool函数,用于检查工具是否已安装,如果没有安装则执行安装命令。 接着,脚本定义了install_android_sdk、install_android_ndk、install_java_jdk、set_java_env和install_flutter_sdk等函数,分别用于安装Android SDK、Android NDK、Java JDK、设置Java环境变量以及安装Flutter SDK。 在主程序部分,脚本按照顺序调用这些函数来安装和配置各个工具。安装完成后,脚本会输出一条消息表示配置已完成。

  • AI Agent智能应用从0到1定制开发

    AI Agent智能应用从0到1定制开发 关键特点: 自动化:AI Agent可以自动执行重复性任务,提高效率并减少人力成本。 智能决策:基于复杂的算法,AI Agent能够进行决策支持,分析数据并提供洞察。 自然语言处理:许多AI Agent具备理解和生成自然语言的能力,使其能够与人类用户进行交流。 机器学习:AI Agent可以利用机器学习技术从经验中学习,不断优化其性能。 个性化:AI Agent能够根据用户的行为和偏好提供个性化的体验。 可扩展性:AI Agent可以设计成模块化,方便扩展新功能或适应不同规模的需求。 实时响应:AI Agent能够提供快速的实时响应,满足紧急任务的需求。

Global site tag (gtag.js) - Google Analytics