白板测试有什么好处?为什么有人喜欢用白板测试面试程序员?
只有纸和笔能做什么?
把你大脑中的想法搬运到纸上。
此前Max Howell面试时因没有通过白板测试而被Google拒绝,引发了一阵关于白板测试的争议。事情是酱婶儿的:
Homebrew在参加Google面试时,因为无法在白板上写出翻转二叉树的代码,惨遭淘汰。随后Max Howell发推文怼Google,表达了自已对白板测试的不满。
那么白板测试究竟是不是面试程序员最好的方法?为什么有的面试官喜欢用白板测试面试程序员? 白板测试有什么好处呢?
实际上,面试官喜欢采用白板测试,主要有以下几个原因:
1. 表达能力
很多时候你以为你很懂,但让你不借助其他资源清楚地表达出来,就没那么简单了。只有在你真正地了解,拥有那个知识体系心智模型之后你才能更容易地表达出来。
纸和笔虽然是最简单的工具,但它也最自由,可以完全释放你的大脑,任你自由表达。纸和笔可以帮助建立面试官和应聘者的心智沟通桥梁。所以,当一个人可以把问题解决思路条理清晰地在纸上表达出来,那足以说明他的能力。
2.双向选择
反过来再看面试官,他也是通过纸和笔来表达他的问题,以及在应聘者解决问题过程中沟通交流中产生的子问题。整个过程不是那种考试,更像是团队协作。
所以,这种面试只有在应聘者和面试官心智水平和技术水平对等的状况下才可以更好地持续交流。这也是一个双向选择的过程。
除了技术之外,面试官更看重的是将来这个人是否可以很好地融入团队,是否可以容易沟通。而应聘者同样也需要注意这点,如果面试的时候和面试官都无法交流,那到时候工作中岂不是会有很多沟通阻碍?这都是有可能的。
3.考察应聘者简历的真实性
任何一家公司都希望能够聘请到最优秀的人才,简历关通过后,企业首先要确认的是应聘者的个人能力是否与简历相符。通常来说,纸笔编程的题目都是较为简单的基础算法题或者常见小规模设计题,一般来说不会专门考察某些框架API(至少正常情况下不会让拿个Spring框架套着写功能),并且通常是针对招聘要求而设计。
4.验证应聘者与岗位的契合程度
很多人会提出,如果要考察简历的真实性,完全可以在机器上考,没必要进行白板测试,实际上,笔写能够了解到更多细节,包括:
在有限的空间、时间,且氛围相对紧张的情况下,考察应聘者冷静处理问题的能力;
能否快速分解、明确思路,考察应聘者思考问题的方式及工作效率;
是否能在没有参考或辅助的情况下减少修改,考察应聘者的功底及严谨程度;
在拿到代码后即刻询问其思路和思考过程,了解其表述能力;
笔写程序一般来说不容易做到完全正确,出现小的错误恰恰给后续面试过程做铺垫,面试官可以就错误部分进行针对性交流。
所以,总的来说,通过纸笔写代码,可以在短时间内对应聘者简历的真实性、个人基础水平、思维方式以及沟通能力进行考察和评估。
各位技术大神对白板测试怎么看呢?