在招聘过程中,编程测试是否真的有必要?一直以来,编程测试难倒了多少位有志开发者?而你是否有过这样的经历?
作者
GlenMcCallum
译者
弯月,责编
屠敏
出品
CSDN(ID:CSDNnews)
5个月前,我通过层层筛选找到了一份工作,这份工作是朋友帮忙推荐的。我已经很久没有与猎头联系了,而且我很惊讶地发现在过去的5年中,招聘流程发生了很多变化。
在第一次通过最初的视频面试之后,他们让我去访问一家第三方网站(HackerRank),并要求我在一个小时内解决三道编程题。这是我第一次尝试编程测试。前两道题很容易,但最后一个比较棘手。我的解决方案未能通过所有的单元测试。大约通过了8个测试(一共有10个),但我没有时间去调试。
为此,我被这家公司给淘汰了。其实还有一些其他的因素导致了此次失利——因为我不愿前往他们的总部上班。然而,这次经历让我印象非常深刻。
从那以后,我开始做这类的编程题。每周都要做一道题。
很多人都有类似的经历
我有一个好朋友,他也在找工作,他是计算机科学专业的博士,拥有10年的工作经验。在他参加面试的过程中,几乎每一次都要求某种类型的编程测试,要么是第三方网站,要么是个人的网站。无奈之下,他买了一本《crackingthecodinginterview》来加速学习的过程,但是通过这类的编程测试还需要一定时间的练习。在此期间,他一直被一些大公司拒绝。
Megamaker集团也遇到过这样的问题,其中一个人分享了他个人的如下经历:
我快40岁了,12月份刚离开了上一家创业公司(我担任创始CTO一职)。从那以后,我参加了至少10次编程测试和开发面试,但都统统失败了。我有将近20年的开发经验,包括电子、固件(我是一名经过专门培训的电子工程技术专家),以及完整的分布式Web应用程序与物联网集成。我创建的软件可以在全球大批量的专业制造工厂中实现全面的产品可追溯性。然而,我却找不到一份开发的工作,因为我总是无法通过这些编程测试的门槛。几年前,MaxHowell的下面这条推文广为流传。这是个很好笑,又很悲伤和真实的故事。
很多高级开发人员在找新工作的时候,都感觉恍若大梦初醒。
开发人员非常讨厌编程测试
就编程测试体这个话题,有些开发人员说……
“遇到这类情况,通常我都会终止面试。”或者
“做这样的题有意义吗?你能和客户交谈吗?你真的能够构建一个功能强大的Web应用吗?遇到这样的问题时,你不能上网搜吗?别人强加给你的东西也要学习吗?你就找不到有效的方式来处理这类奇怪的数据吗?”有些人则持相反的论点,他们认为水平太次的开发人员不喜欢编程测试,各个公司这样做的目的就是淘汰这些人。但是,一些强大的具有独立思考能力的开发人员不会选择这种面试流程,因为他们还有其他的途径找工作。
我同意,这些编程测试题并不能代表专业软件开发人员的日常工作。这些题目的描述无法做到尽善尽美,我总会遇到含混不清的地方(至少我无法从问题描述中推断出完整的信息)。这些题目大多是数学题。受过正规教育的人有一定的优势。
招聘公司相信他们能够通过这些题目筛选出优秀的团队成员。例如,当DanielBuchmueller遭到Netflix的拒绝时......
很多公司喜欢编程测试
就招聘的编程测试而言,我们需要意识到这个世界发生了变化。在软件行业中,远程工作被广为接受。国际化的团队越来越普遍。
各家公司拥有更广泛的人才库,他们可以招聘到世界各地的优秀开发人员。然而,不利的因素在于,这也大大增加了招聘时需要筛选掉的申请数目,并找到合适的候选人。你能想象从份申请中筛选出一个人的工作量吗?
此外,我听说不够格(甚至连helloworld的程序都不会写)的候选人也进入了面试。这让人感觉非常沮丧。就个人而言,我一直在寻找最简便的方式,同时也给候选人一些鼓励。
编程测试题作为招聘门槛解决了这两方面的问题。对于公司而言,为了简化筛查和挑选的过程,错失一些优秀的候选人也算物有所值。他们手握无数的申请人,损失几个也没什么大不了。大量的申请人数足以表明,他们总能找到更多优秀的开发人员。
出于这个原因,我认为编程测试题作为招聘门槛将继续存在,而且将来还会越来越普遍。
确实,每家公司都在招聘,高级开发人员的需求从未如此之高。但是,你千万不能认为市场的高需求,以及你个人丰富的经历,就可以很轻松地拿下一份工作。现在就开始吧,享受奢侈的休闲时光的同时,开始为编程测试做准备吧。
原文: