我是小有成就,但我过不了白板面试
(点击上方蓝字,快速关注我们)
编译:伯乐在线/MiaLiang
【伯乐在线导读】:关于程序员面试时现场写代码,大家还记得 2015 年 6 月的一个新闻,知名包管理工具 Homebrew 的作者 Max Howell 去 Google 面试。因为他没能写出反转二叉树算法,最后被 Google 拒绝了。后来 9 月份 Howell 入职苹果了。
今年 2 月 21 日,知名程序员博主 Yegor 发布了一篇名为《为什么我再也不想和 Google HR 交谈了》的文章,里面提到了他在亚马逊的一次糟糕的面试经历,他的遭遇与 Max Howell 非常相似,一些完全没看过他简历的程序员,让他在白板上写了近四小时的算法。随后 Yegor 的文章在 Reddit 和 Hacker News 上引发热议。
2 月 22 日,Ruby on Rails 的创立者、著名程序员 David Heinermeier Hansson 在推特上发起了一个反对白板面试的话题。点👍 数 13000+,转发 7000+。
你好,我叫 David 。我没法在白板上写出冒泡排序。我都是在网上找代码的,我不会做脑筋急转弯。— DHH (@dhh) February 21, 2017
“你好,我叫 David ,”他在推特上写到:“我总是在网上找代码。”
很快,其他技术工作者模仿传递开来了。
你好,我叫 Sadiksha 。我从 2011 年开始用 Rails,我不知道怎么用迁移语法添加或者删除列,我一直是用谷歌搜的。— Sadiksha Gautam (@sadikshagautam) February 26, 2017
你好,我叫 Tim 。我是谷歌公司的骨干,有超过 30 年的编程经验,但我要上网查怎样用 python 获取字符串长度。— Tim Dierks (@tdierks) February 26, 2017
你好,我叫 Mike。我是纽约时报的 GDE 和领导。我不知道 NP 完全问题是什么意思。我应该知道吗?— Mike Nakhimovich (@friendlyMikhail) February 21, 2017
伯乐在线注:GDE 是 Google Developer Expert 的缩写,意思就是在一个或多个 Google Developer 产品具有谷歌公司认可的示范性专业知识的专家。
这种情绪显然引起了共鸣。DHH 提到他口中的“白板算法欺辱“惯例,让候选者经受了令人折磨的面试过程,这个面试过程在很大程度上依赖于技术问题。
你好,我叫 Jon 是 Phunware 公司安卓开发的头头。如果不在 StackOverflow 复制粘贴代码,我没办法读懂输入流。— Jon F Hancock
大多数科技公司(包括谷歌和亚马逊)广泛使用这种面试形式,通常在不看推荐材料的情况下,让候选人进行白板测试。有程序员说,这种测试让人丧失信心,并且无法测出实际能力。
“只有在后启示录世界,所有连接到互联网的计算机的硬盘都被炸了,所有基础学术论文和计算机科学教科书都化为灰烬,你才真正需要记住算法。”编程指导者 Quincy Larson 在他的博客里写到。“白板测试是一种离散的技能测试,就好比要记住圆周率 π 小数点后一千位一样。”
谷歌:90% 的工程师用你写的软件(Homebrew),但是你却不能在白板上反转一个二叉树,所以滚吧。— Max Howell (@mxcl) June 10, 2015
候选人花了好几个星期去准备,担心面试官会考他们还没学的、难以理解的算法。“家庭手工业的出现,让我们不安地想起准备 SAT 的时期。 ” Code2040 是一个黑人和拉丁美洲技术人员组织,其项目副总裁 Karla Monterroso 在一段批评白板测试的分析里写到:“为了获得一份科技公司的工作,个体要花数千美元去学习必要的文化规范。”
你好,我叫 Molly 。我是个成功的安卓开发者,但我隔一段时间就会忘记如何在 mainfest 配置文件声明 activities。— Molly King (@MollyATX) February 23, 2017
那些在推特上发言的人现在似乎主要是白人和男性。然而,这种面试形式是否有助于行业多样化,在这点上一直被批判。
你好,我是 Estelle 。我从1998年就开始从事网站开发。作为一个在技术领域工作的女性,我会因为害怕后果严重而选择对代码缺陷闭口不言。— Estelle (@estellevw) February 27, 2017
这种面试过“让很多在软件开发领域没有被充分代表的人懵住了,”Larson 写到:“如果你忙于工作和抚养小孩,你想花尽可能多的时间学习编程,而不是死记硬背那些一旦开始工作就不重要的东西。“
你好,我叫 Erica 。如果我告诉你,我还需用谷歌搜索的东西,你会借此“证明”我不是一个“真正的”工程师。— EricaJoy (@EricaJoy) February 27, 2017
这意味着公司喜欢那些刚刚从顶级计算机学校毕业、有时间死记硬背的毕业生;换句话说,这无法让更多女性、老年人和有色人种加入进来,无法让行业内变得多元化。
这是有根据的。Interviewing.io 是一个可以练习技术面试,甚至为某些公司进行匿名面试的服务机构,其创立者 Aline Lerner 在十二月份发表了一篇博文,标题是“若不改变技术面试的缺陷,无法使技术领域变得多元化。”
“从上千个技术面试提取的数据我们可以清楚地看出,技术面试的结果是不确定的,并且常常武断,”她写到:“我们相信,所有人都认为这个技术面试过程是有问题的,但目前这种有缺陷的体系,给了普通群体最猛烈的打击。”
包括 Foursquare 在内的一些公司已经放弃了白板测试。 DHH 发起这个话题,可能会激励更多公司放弃白板测试。
看完本文有收获?请转发分享给更多人
关注「程序员的那些事」,提升编程技能