为什么企业都喜欢用白板测试程序员?原因在这!
James 2019-10-17 来源 : 阅读 1980 评论 0

摘要:在面试过程中,有些应聘者往往显得智力超群、自信过人;他们在一流的公司的工作经历往往为他们披上了一层“光环”,散发出超凡的魅力,俗称“面霸/精”。

相信很多程序员都经历过白板测试的环节,而这个环节也是很多程序员不解的环节,此前Max Howell面试时因没有通过白板测试而被Google拒绝,引发了一阵关于白板测试的争议。事情是这样子的:


为什么企业都喜欢用白板测试程序员?原因在这!



Homebrew是苹果OSX下面的软件包管理工具,Max Howell是Homebrew的作者(由于国外大量程序员使用苹果电脑进行软件开发,Homebrew在程序员里是人人皆知的著名软件)。这样一位颇有名气的程序员,在参加Google面试时,却因为无法在白板上写出翻转二叉树的代码,惨遭淘汰。随后Max Howell发推文怼Google,表达了自已对白板测试的不满。

不过,Max Howell被Google拒绝之后,Apple向他抛出了橄榄枝,如今Max Howell已经成为Apple的一员大将,不知道他现在能不能在白板上写出翻转二叉树的代码?

上个月这个问题又被知乎送上热榜,所以,呼声又起:“白板测试究竟是不是面试程序员最好的方法?”“为什么有人喜欢用白板测试面试程序员?”


实际上,面试官喜欢采用白板测试,主要有两个目的:一方面考察应聘者的个人能力与简历是否相符;另一方面,了解应聘者的职业素养,以及与岗位的契合程度。


一、考察应聘者简历的真实性

任何一家公司都希望能够聘请到最优秀的人才,简历关通过后,企业首先要确认的是应聘者的个人能力是否与简历相符。通常来说,纸笔编程的题目都是较为简单的基础算法题或者常见小规模设计题,一般来说不会专门考察某些框架API(至少正常情况下不会让拿个Spring框架套着写功能),并且通常是针对招聘要求而设计。我们举几个简单的例子:

如果个人材料里写着自己熟悉C++11,有两三年工作经验,那么,自己封装一个RAII的、使用智能指针的简单FIFO Queue不会特别困难,并且能一并考察如下知识点:

• 什么是FIFO Queue(基础数据结构知识)

• 会不会用模板设计(C++基础)

• 会不会RAII设计(C++经验)

• 会不会用智能指针(C++11功能)

• 会不会顺带考虑到线程安全等相关问题(其它与岗位相关的知识)

如果个人材料里写着自己本科毕业,成绩优秀,那么,简单的冒泡排序或者插入排序,甚至写个快排不会太难,一个简单的面试能够确认:

• 基础数据结构和算法知识

• 课程基础是否扎实

• 是否有基本的算法思想(如快排包含的分治、递归思想)

如果个人材料说自己曾获ACM竞赛区域赛银牌,由于ACM竞赛三人一组,而Regional银牌在自己能力一般,但队友比较给力的情况下也能取得,那么,需要区分此人的实际能力。而对比ACM Regional,Leetcode上的简单题,仅仅相当于现场赛签到题,不会太难,同时能够确认:

• 基础算法知识是否达到了自己所述的水平

• 思维是否灵活足以驾驭一般的基础算法问题

• 对问题分析的细致程度

因此,这类题目,能够在尽量简单的前提下,基本评估应聘者实际水平是否与其简历有较大出入。白板测试过程中,小失误并不会太过降低评价,但如果号称自己熟悉C++11却不会用、号称自己本科毕业成绩优秀却写不出最基本的冒泡排序/插入排序,这种情况下简历的可信度就需要打折扣了。

(你看,魔笛手的工程师们即使在酒店里也是备着白板的,而且还不止一块。图片截自视频。)


二、验证应聘者与岗位的契合程度

很多人会提出,如果要考察简历的真实性,完全可以在机器上考,没必要进行白板测试,实际上,笔写能够了解到更多细节,包括:

• 在有限的空间、时间,且氛围相对紧张的情况下,考察应聘者冷静处理问题的能力;

• 能否快速分解、明确思路,考察应聘者思考问题的方式及工作效率;

• 是否能在没有参考或辅助的情况下减少修改,考察应聘者的功底及严谨程度;

• 在拿到代码后即刻询问其思路和思考过程,了解其表述能力;

• 笔写程序一般来说不容易做到完全正确,出现小的错误恰恰给后续面试过程做铺垫,面试官可以就错误部分进行针对性交流。


所以,总的来说,通过纸笔写代码,可以在短时间内对应聘者简历的真实性、个人基础水平、思维方式以及沟通能力进行考察和评估。

尽管白板测试能够检测出应聘者的部分技能,大多数情况下,应聘者对于这种形式还是会感到不爽:

正常工作环境中,可以访问API,也可以通过搜索找到自已想要的答案,但是白纸与白板杜绝了这些可能;而且白板测试并不能说明应聘者的所有技能,要求一位有多年编程经验的程序员突然在纸上或白板上写代码,可能会让他直接懵掉。这也是为什么有时应届生可以做出白板测试,而身为技术大牛的Max Howell却栽了的原因。

还有一些面试官滥用白板测试,根据测试结果片面的定位应聘者的水平,加重了应聘者的抵触情绪。因此,在效仿Google白板测试刷掉大牛之前,面试官至少要先考虑一下你的应聘者队伍是否像Google那么长,同时,也需要考虑面试官能否驾驭这一面试形式。


当然,如果你的目标公司目前还采用白板测试的方式,而你也乐于接受这项挑战,那不妨提前做些准备,以便在面试时游刃有余的发挥。这里提供几个练习建议:

1、虽然很难猜出面试官究竟要出什么问题,但是你可以根据现有的面试资料列出一份练习提纲;

2、给自己限定一个时间,随机选取一个问题,开始模拟测试;

3、一边做一边把自己的思路讲出来;

4、查漏补缺,搜索相关资料,看别人怎么做,进行思路完善;

5、让朋友做面试官,随机出题,自己在白板上演示出来,并解释给朋友听。

事实上,你可以进行选择是否要进行白板环节的测试,但是一张白板并不能阻挡我们成为程序员的绊脚石,可以把其当做一个挑战,不要惧怕。

       科技引领新发展,学计算机就来职坐标。

本文由 @职坐标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论
本文作者 联系TA

应对失败和挫折,一笑而过是一种乐观自信,然后重振旗鼓,这是一种勇气心。应对误解和仇恨,一笑而过是一种坦然宽容,然后持续本色,这是一种达观心。

  • 1
    推荐岗位
  • 2322
    人气
  • 100%
    受欢迎度

已有3人表明态度,100%喜欢该职业规划老师!

进入TA的空间
求职秘籍 直通车
  • 索取资料 索取资料 索取资料
  • 答疑解惑 答疑解惑 答疑解惑
  • 技术交流 技术交流 技术交流
  • 职业测评 职业测评 职业测评
  • 面试技巧 面试技巧 面试技巧
  • 高薪秘笈 高薪秘笈 高薪秘笈
TA的其他文章 更多>>
新手如何零基础学习JavaScript,从这几步做起!
就业趋势 100% 的用户喜欢
web前端能做到多少岁?2年能发展到前端技术大牛吗?
就业趋势 100% 的用户喜欢
互联网未来发展趋势,何为产业互联网?
就业趋势 100% 的用户喜欢
想成为优秀领导者?先把手弄脏!
面试技巧 100% 的用户喜欢
开源物联网平台有哪些?这11个工具告诉你!
就业趋势 0% 的用户喜欢

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程