英文原文:How Effective are Technical Interviews?
我所在的创业公司Pulse一直希望能多招聘几个开发人员。因此,最近我想了很多招聘过程的有关事项,以及自己的一些面试经验。
我参加过的面试中,最糟糕的要数之前去电话面试实习的那次,那时有两个面试官对着扬声器和我谈到关于Java程序方面细枝末节的一些笑话。起初,我听的一头雾水,因为他们提到的那些点我之前都没碰到过,所以我觉得在那次面试中自己表现太差了。后来我想,我不想在一个不注重员工解决问题能力的公司实习。这就是我那次面试的最终结果,可我还是常常怀疑人们到底是怎样通过技术面试来为相应的工作挑选出合适的人选。我的猜测是,在面试中表现出色的人往往都是优秀的。但是,技术面试也可能会将在面试中表现不佳,而实际工作能力却很强的应聘者淘汰。
我认为技术面试是这样的一种形式,与面试官一同进入一个房间,再花上一个钟的时间在白板上解决问题。这样一天下来,在白板上反复涂划刷洗的次数多达4-8次,这得取决于公司的制度及其工作类型。我钦佩那些能在这样的面试中头脑冷静,自信应答的应聘者。在起初参加的几个实习岗位的面试中,我记得当时自己太紧张了,实在无法正常思考。我的脑袋一片空白,就想着“天呐!我得解决这个问题,要想办法要想办法……”在别人盯着你看时,精神上告诉自己要想出办法只会给自己徒增压力,这肯定是不利于解决问题的。
压力的问题暂且放在一边,技术面试中的问题真的能够直接反映在职工作吗?很多的技术面试都太理论化,模糊了计算机科学与软件工程这两者间的区别。我并不是要标榜自己在面试和招聘方面如何内行,但是在我看来,即使是一个典型的面试也不能衡量应聘者将会在一个团队中工作得多出色,他们的编码风格有多出类拔萃,或是他们对公司是多么的充满激情,他们的职业道德是多么的高尚。
几个月之前,我积累了一些很实用的招聘经验,相信这些经验能为应聘者创造更多机会,去展示他们的技能,同时也能使企业得到更多有用和相关的反馈信息。
第一次让我感触颇深的面试,要数那次在当地一家创业公司的面试了。起先,我和那家公司中的某位职员约去喝咖啡,他跟我介绍了有关公司的一些情况。然后他们给了我一份Andriod程序的书面说明(需求说明书),让我编码实现。几个小时后,我做完编码就送回去给他们。逐字查看后,他们让我去参加面试,在此期间,他们除了问到我自己对于Android应用程序的总体设计,还问及传统的技术问题,并让我在白板上编写解决方案的代码,这与之前让我编码相得益彰,都是为了考验我的能力。作为一个应聘者,我觉得,这让我有一个很好的机会去展示自己的一些技能,而这些技能在现场面试中是未必能被人所发现的,比如好的编码风格和设计。
在Pulse所经历的招聘过程,也确实很实用,在那里我最终得到了录用。一天,我和开发团队的3位职员一起去吃午饭,然后我们接下来的一周都在现场操作一些小型项目。我全心地投入到代码库中,在团队中展示自己的才华(这一周的工作是有报酬的),当我得到了这份全职工作时,我已经知道这份新的工作将是有趣而令人充实的。我的一位朋友最近发表意见说,找到合适的企业就如同找到正确的关系。一次“试用期”(也许类似于约会,代表双向选择过程)使应聘者和现有团队都有机会测试彼此关系是否合适。
注:在《面试开发人员的有效方法》这篇文章中,AlanSkorkin也是推荐把应聘者安排到团队里工作一天,观察他们是否合适,而不是再对他们进行一轮又一轮的面试。这一天的工作结束之后,把你的团队成员召集起来,然后让他们告诉你是否应该雇佣这个人。当然,也许这在国内似乎有点不现实,因为好多公司都是批量招聘。
这两种类型的招聘程序都会让应聘者按自己的进度编写一些重要的代码。对于已经在具体工作平台实践过的软件工程师来说,人们能够看到他们的专业能力。而对于聪明却缺乏经验的人来说,他们也有机会能够展示自己学习能力很强,也能够完成任务,并不用担心在现场面试中编程出错。针对越来越多的创业公司到硅谷去招聘开发人员,可是在缺乏有工作经验的应聘者的情况下,这类招聘可能会是一种带来“出奇致意的想法”的有效方式。
我没有太多的面试经验(不管是面试,还是被面试),所以我不确定这些招聘策略到底是否可行。对于大公司,它们也有可能在逻辑上就行不通。有人碰到过一种不同于较常规技术面试的招聘程序吗?对于你们中那些拥有更多面试经验的应聘者来说,你们认为长达一小时的技术面试能发挥多大效用呢?