如何进行技术面试

摘要:传统的技术面试基于一种不同于现实世界的人造情境。不仅是智商题本身,把应聘者带进一个房间,在没有任何必要资源的情况下现场拷问技术问题,或者在白板上写代码,这从根本上就是有问题的。

两年前,我写了一篇“为何新人不会编码”的文章来表达我对业内通行的软件工程师面试过程的不屑,其中特别提到了微软和谷歌的那种智商题目和二分查找之类的问题。看吧,这周Google的人力资源老大坦白说:“智商题目纯粹是浪费时间。”

传统的技术面试基于一种不同于现实世界的人造情境。不仅是智商题本身,把应聘者带进一个房间,在没有任何必要资源的情况下现场拷问技术问题,或者在白板上写代码,这从根本上就是有问题的。

跟我持相同观点的人不在少数。他们中许多人都提出了改良的方法,基本大同小异,可以总结如下。

  • 用五六个基础的技术问题快速过滤掉技术不过关的人。理想情况下这一步可以电话进行,被滤掉的人数会多到令你吃惊。
  • 与应聘者面对面(不在本地也可通过电话)交流一下他们曾经遇到的技术问题、用过的工具、做过的决策等。Google的数据证明这种“行为面试”是最有用的。但讨论技术概念时,不要用一些必须准确回答的问题来拷问对方。
  • 最重要的,讨论一下应聘者之前做过的项目。或者如果对方在Github上有代码,让他讲一讲。
  • 尝试建立“文化切合度”。注意,这里仅指工作文化。有的人只是跟你不太像,不要下意识地把他们拒之门外。不要把公司搞成兄弟会。
  • 最后,如果已经到了这一步,那就安排一个“试用项目”。找一个大小合适、自包含、非关键,但成功后将会发布的真实项目,付薪水让应聘者做上一周,密切关注进程。

接下来就是用与不用的问题了。

在这样的过程中,雇主可以了解更多信息,浪费更少时间,甚至可以清理一下项目中那些真正有益,但又总被搁置的小事情。唯一的缺点是这种方式可扩展性不佳,对大公司可能不适用。

好吧,我有点标题党了,技术面试并未死去。面试的全部目的是了解真实的水平和效率,既然现在可以做到,何乐而不为?

本文作者Jon Evan是加拿大小说家、记者和程序员。拥有电子工程背景和十多年软件开发经验,作品被译成多国语言出版。代表作有《Dark Places》、《Beasts of New York》等。

原文地址:http://www.csdn.net/article/2013-08-27/2816720
 


你可能感兴趣的:(IT博文)