一场成功的技术面试的几个关键点

在过去的岁月中,我不但参加过很多场程序员面试,也亲手举办了许多。我清楚的知道搞砸面试的众多因素。最糟糕的情况就是,面试官通过一些晦涩难懂的技术知识以显摆自己的聪明睿智。


“错了!原因是将它类型强制转化为十六进制!“

[“呵呵”,笑着用手指了指]

这件事曾真实地发生在我身上。至今让我记忆犹新。虽然最后他们还是愿意雇佣我,但我婉言拒绝了。这样的互动对双方都是一种折磨:不但封闭了应聘人员的技术思维,也让面试官获取不了他们真正需要的信息。

最好的编码测试可以让应聘人员和面试官一下子就明白将来共事的感觉和情境。所以,专业的编码面试应该具备以下三个特点:

1.开放式对话

良好的编码面试所提出的问题应该是开放式的,不受限制的。为什么呢?我们需要从对话中了解开发人员的喜好、风格和知识。我们的目标不是为了了解琐碎
小事,而是要对该应聘人员如何解决问题有一个整体的把握。具体的技术问题不应该放到编码面试中来,它们应该属于之后的技术面试。

编码测试的真正价值所在,是寻找一个真正的爱好者。

但也不必矫枉过正。

比如说,我对职业棒球大联盟一无所知。然而,关于犯规、投球以及罚球线我也能讲得头头是道。如果不进行开放式对话的话,你或许就会给我打上“对棒球

了解甚深”的标签了。但是,一旦你像一个真正的球迷一样跟我讨论棒球,或者找一个内行人来,那用不了20秒,我大概就会露马脚了:你会发现,我知道的只是
一些规则,一些皮毛。

编码面试也应当如此。你的知识是不是只停留在表面,要像照妖镜一样立马现出原形:不是因为我问的是棘手的问题,而是因为一旦我们讨论起创造性的解决

方案,是金子的才会发光。当然应聘人员偶尔说一句——“我不知道”也是完全可以接受的(总比信誓旦旦地给出错误答案要好!)。但是,如果应聘人员不能对他
们的解决方案说出个子丑寅卯来,那就必然不是一个真正的爱好者。这也是为什么对话的目的并不局限于单纯的测量知识层面上。

2.模拟现实

允许应聘人员选择技术和方法。他们的选择能说明很多问题。如果你正在寻找JavaScript开发人员,而对方恰巧通过创建服务器来呈现解决方案,

那就值得好好地谈一谈。允许应聘人员选择自己惯用的IDE。允许他们谷歌不知道的东西,就像他们在现实生活中那样。尽量模拟现实情境。在白板上用铅笔写代
码是不现实的。它会导致优秀人才的压力从而增加遗漏人才的风险。

接下来就让我在我的IDE上搞一个小时?呵呵,这也不现实。

相反,考虑到结对编程对实际问题的重要性,你也不必特意难为应聘人员。不妨将对方当成是帮你解决问题的同事。在此过程中,你还可以看到他如何使用IDE,搜索了哪些内容,以及攻克的重点是什么。

如果你正在创建一个标准化的测试,那么请确保它与岗位是相关的。例如,如果你正在为医疗行业构建Web应用,那么编码测试就应该是使用Web应用程
序来解决医疗相关的问题。一个好的编码测试能够让人预览今后的日常工作。无论是应聘人员还是面试官都应该对彼此成为同事有着美好的期许。

3.不要设定正确答案

创建一个简单的编码测试是很容易的,比如说, 反向字符串,计算斐波纳契数,或者打印fizzbuzz。但从这些链接上面我们可以发现,这些问题都是没有价值的。因为它们不鼓励对话,也不能代表我们在工作中需要解决的实际问题,而且谷歌或百度一下,答案就有了。

当然,你也可以在测试时禁止网上搜索,但是,请记住,一个良好的编码测试应该力求模拟真实的工作场景。在编码时禁止访问谷歌就像不允许厨师翻阅食谱

一样,都是很逗比的行径。事实上,良好的编码面试应该是开放式的,没有局限的,同样也没有所谓的“正确答案”。这样一来,不但解决方案不容易在网上找到,
还可以讨论应聘人员所选方法的优缺点。

就是这样。也不是那么难,对吧?

来源:51CTO

时间: 2024-09-24 03:22:15

一场成功的技术面试的几个关键点的相关文章

如何通过一个问题,完成最成功的技术面试(转)

招聘过程 我之前的主要工作是参与招聘并进行技术面试,招聘的总过程如下: 1. HR所进行的面试:判断候选人是不是一个连环杀手或精神病. 2. 技术专家进行的面试:判断候选人是不是一个优秀的程序员. 3. 大老板进行的面试:判断候选人愿意接受多少报酬. 我面试过两种类型的人:实习生和准员工.实习生只需要经历以上第二条步骤即可,其他人则需要经历所有的步骤.在那个公司工作的两年多时间里,我进行了超过200次技术面试,这对我来说是一种丰富的学习经历,我逐步弄清了这一过程的实质.这里有一个很重要的前提,请

Amazon 前技术副总裁解剖完美技术面试

编者按:本文来自First Round Review,他们准备的文章既讲故事,还同时向创业者提供可操作的建议,以助力打造优秀的公司. Neil Roseman 厌倦了硅谷公司"我们只要最优秀和最闪亮人才"的口号.因为无论怎样强调,在真正招新时,多数人还是凭借自己的直觉,和应聘者的基本资格而定,例如 GPA,是否来自藤校,有无大公司的工作经历-甚至是 SAT 成绩. Roseman 对这样的考核标准不以为意.对曾在 Amazon 和 Zynga 任技术副总裁,面试过数百人的 Rosema

分析3000份技术面试数据:这几大指标比你毕业于哪所学校更要紧

导读 到底在一次技术面试中,什么因素最为重要? 本文作者 Aline Lerner从interviewing.io(关于面试的输入输出流)中导出了3000份技术面试数据进行分析,并发现了对面试影响最大的几大因素.并且,他还得到了一个鸡血满满的结论:在求职技术面试中,毕业后做什么比毕业于哪所学校更要紧. 相关背景:interviewing.io是一个平台,人们可以在上面匿名练习技术性面试,并在这个过程中找到工作 - 在练习中做得好的话,您能(匿名!)得到像Uber.Twitch.Lyft或其他大公

传统的技术面试基于一种不同于现实世界的人造情境

不仅是智商题本身,把应聘者带进一个房间,在没有任何必要资源的情况下现场拷问技术问题,或者在白板上写代码,这从根本上就是有问题的. 两年前,我写了一篇"为何新人不会编码"的文章来表达我对业内通行的软件工程师面试过程的不屑,其中特别提到了微软和谷歌的那种智商题目和二分查找之类的问题.看吧,这周Google的人力资源老大坦白说:"智商题目纯粹是浪费时间." 传统的技术面试基于一种不同于现实世界的人造情境.不仅是智商题本身,把应聘者带进一个房间,在没有任何必要资源的情况下现

谈谈技术面试

只要是招一个技术人员,不管是初级的程序员还是高级软件工程师,技术上的考核都必不可少.很荣幸作为面试官参与过公司的一些技术面试,从中也体会到了一些东西. 首先,我 觉得技术面试是需要讲究技巧的,不是随随便便拉一个技术不错的人就可以,因为面试的过程是双方相互交流的过程,你需要给 对方营造一个 轻松的气氛,并在不断的提问与回答的过程中,进行"合理的引导","适时的追问"与"正确的判断". 所以我觉得一个公司的技术面试需要有良好的经验传承,不光光只是留来

谈谈对于技术面试的心得体验

导读:作者lzprgmr写了一篇<谈谈技术面试>文章,他在文中讲述了自己对于技术人员面试的经验和心得,以下是文章内容: 只要是招一个技术人员,不管是初级的程序员还是高级软件工程师,技术上的考核都必不可少.很荣幸作为面试官参与过公司的一些技术面试,从中也体会到了一些东西. 首先,我觉得技术面试是需要讲究技巧的,不是随随便便拉一个技术不错的人就可以,因为面试的过程是双方相互交流的过程,你需要给对方营造一个轻松的气氛,并在不断的提问与回答的过程中,进行"合理的引导","

web2.0,一场成功的预热会!

2006年是Blog最热闹的一年,新浪.网易.搜狐各大门户全面推出博 客服务,纷纷投入到普及Blog市场的大军中.Blog的兴起,也使个人网站的繁荣重新抬头.没有Blog之前,有谁会想到自己诉诸笔端的心情日记会拥有众多的读者,在享受了网络这样的快捷交流平台后,欲罢不能,人们不满足于仅仅是一个书面的展示,人们想花心思在网上打造一个个性平台,不仅仅分享,交流而且发布信息.网络是一个神气的平台,给了小人物施展才华的机会,个人的努力可以在瞬间产生巨大的影响.在这个平台之上,每一个人,都可以对全世界发言.

各位大神和兄弟姐妹,小弟有技术面试,不知如何应对,请大家出出主意,急急急!!!!

问题描述 小弟前段时间申请了一个职位,职位要求是:1.VisualStudio.Net2.熟悉VB或者C#.我投了这个职位是因为我自学了Asp.(C#)Net,主要还是做网站的那一套.我申请了这个职位,主要我对C#还有点了解.昨天我去面试,与面试官聊的很不错.他介绍了他们主要工作的系统,是用十几年前用VB写的系统.昨天通知我明天去技术面试,说会有技术人员详细介绍他们系统(他的话是打满补丁的系统),并会问任何技术问题.现在问题来了,小弟是自学了C#(根基很浅),但对VB几乎没有碰过,也不知道他们会

图书推荐:《编程之美——微软技术面试心得》

问题描述 想知道微软面人的内幕吗?--<编程之美--微软技术面试心得>通过分析微软面试中经常出现的题目,给您解答微软面试疑惑.写程序真的没有意思?为什么许多微软的员工乐此不疲?--<编程之美--微软技术面试心得>将告诉您:编程和生活一样是富于激情和艺术性的!<编程之美>一书中包含了约60道算法和程序设计的题目,是微软的工程师写的.这些题目大部分在近年的笔试,面试中出现过,或者是被微软员工热烈讨论过.作者试图从书中各种有趣的问题出发,引导读者发现问题,分析问题,解决问题,