我是小有成就,但我过不了白板面试

【伯乐在线导读】:关于程序员面试时现场写代码,大家还记得 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,我不知道怎么用迁移语法添加或者删除列,我一直是用谷歌搜的。”一个程序员说。“你好,我叫 Tim 。我是谷歌公司的骨干,有超过 30 年的编程经验,但是我要上网查怎样用 Python 获取字符串长度。”另一个人发推说。

你好,我叫 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 发起这个话题,可能会激励更多公司放弃白板测试。

2 收藏 11 评论

关于作者:MiaLiang

Hello我是Mia Liang,关注前端,期望成为前端开发工程师 个人主页 · 我的文章 · 13 ·   

相关文章

可能感兴趣的话题



直接登录
最新评论
  • 可以我很喜欢

  • Jackie   04/09

    习惯了面向谷歌开发

  • Singee77 PHP/Python开发 04/10

    这意味着公司喜欢那些刚刚从顶级计算机学校毕业、有时间死记硬背的毕业生;

    好像大公司都这样?

  • 李青山 Python/运营 04/10

    程序代码那么多,大家看过都知道意思,用编辑器也能写出好的程序出来。

    比如:你是一个做了2年的程序,让你在TXT文档里写代码,你会有什么感觉。

    “谷歌:90% 的工程师用你写的软件(Homebrew),但是你却不能在白板上反转一个二叉树,所以滚吧。”

    我感觉这句话说的没有道理,代码编辑器的作用就是为编写代码节省时间,谷歌你也可以不用Homebrew。

     

  • Dawnton   04/10

    从来都是google或者百度怎么办

  • Mr.Shawn 软件开发 04/10

    国内程序猿大部分面向百度开发 哈哈

  • BurnellLiu 程序员 04/13

    人为刀俎,我为鱼肉,只能面试前突击一下了。

  • dhqcl 程序员 04/17

    我天天在A3纸上写草稿

  • netChen   04/19

    公司一般为了筛选出来自认为能力强的人的唯一办法就是:让他们造一个重复的轮子。如果造出来,说明这个能力肯定没问题,即使对公司的业务层没有多大帮助;如果造不出来,说明基础肯定不牢固或者见解不透彻,即使能力出众,也要拉低你的薪资。所以老的程序猿经常看到一些新进的程序猿什么都不会,甚至于连简单的业务逻辑都没有,但是仅仅会很熟练的造一个重复的轮子,结果工资比他的还高!这些是IT届最大的“合乎逻辑”的玩笑!

  • Bruce   05/02

    考察思想

  • 紫藤回忆   05/22

    有些大公司喜欢会背书、会谈模式、会高谈阔论吹牛逼的项目经理,但工作中他们却不能带领团队解决问题,实现需求。

跳到底部
返回顶部