面对白板上写代码,能了解真实水平吗?

面对白板上写代码,能了解真实水平吗?

面对白板上写代码,能了解真实水平吗?
Latest posts by K.R. (see all)

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

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

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

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

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

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

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

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

本文由 Favo8.com 精选自 国际互联网(或者原创),仅供个人学习使用。任何经过我们许可的转载,也请同时转载文章版权的原文信息!我们禁止一切未经我们许可的转载!
Tagged: