面试前快速测试 IT 专家能力的 7 种方法

聘请 IT 专家并不是一件容易的事。 首先,目前市场上缺乏有经验的人才,他们明白这一点。 如果候选人首先不感兴趣,他们往往不愿意花大量时间参加雇主的“选拔活动”。 以前流行的“我们给你测试8个小时以上”的做法已经不再适用。 对于在进行全面技术面试之前对知识的初步评估和筛选候选人,有必要使用其他更快的方法。 其次,为了对知识和技能进行高质量的评估,您需要自己拥有此类技能或吸引具有此类技能的同事。 这些困难可以使用我将在本文中讨论的方法来解决。 我自己也使用这些方法,并为自己编制了一种评级。

因此,我在面试前快速测试 IT 专家能力的 7 种主要方法:

7. 研究候选人的作品集、代码示例和开放存储库。

6. 短时测试任务(30-60分钟完成)。

5. 通过电话/Skype 进行关于技能的简短快速访谈(类似于问卷,仅在线且通过语音)。

4. 现场实践(编码)——我们通过共享屏幕实时解决一个简单的问题。

3. 包含有关经验的开放式问题的问卷。

2. 多项选择题测试时间短,完成时间有限。

1.多阶段测试任务,第一阶段在面试前完成。

接下来,我详细考虑这些方法,它们的优缺点,以及我使用一种或另一种方法来快速测试程序员能力的情况。

面试前快速测试 IT 专家能力的 7 种方法

在上一篇关于招聘渠道的文章中 habr.com/en/post/447826 我对读者进行了一项关于快速测试 IT 专家技能的方法的调查。 在这篇文章中,我将讨论我个人喜欢的方法、为什么喜欢它们以及如何使用它们。 我以第一名开始,以第七名结束。

1.多阶段测试任务,第一阶段在面试前完成

我认为这种测试开发人员能力的方法是最好的。 与传统的测试任务不同,当你说“接受任务并去做”时,在我的版本中,完成测试任务的过程分为几个阶段 - 讨论和理解任务,设计解决方案并评估所需的资源、实施解决方案、记录并提交对决定的接受的几个阶段。 这种方法更接近正常的现代软件开发技术,而不仅仅是“拿来就做”。 详细信息如下。

我在什么情况下使用这个方法?

对于我的项目,我通常会聘请远程工作人员,他们开发项目中单独的、独立的且相对独立的部分。 这减少了员工之间的沟通需求,通常为零。 员工之间不是相互沟通,而是与项目经理沟通。 因此,对我来说,立即评估一个人快速理解问题、提出澄清问题、独立制定解决问题的行动计划以及估计必要的资源和时间的能力非常重要。 多阶段测试任务可以很好地帮助我做到这一点。

如何实施

我们确定并制定与开发人员必须处理的项目相关的独立且原创的任务。 我通常将主要任务或未来产品的简化原型描述为任务,为了实现该任务,开发人员必须面对项目的主要问题和技术。

测试任务的第一阶段是熟悉问题、澄清不清楚的内容、设计解决方案、规划解决问题的步骤以及估计完成各个步骤和整个测试任务的时间。 在退出时,我期望一份 1-2 页的文件,概述开发人员的行动计划和时间估计。 我还要求候选人表明他们想要完全实施哪个阶段,以确认他们的实践技能。 目前还不需要编程任何东西。

这项任务(同一个)被分配给几个候选人。 预计第二天就会收到候选人的回复。 接下来,2-3 天后,当收到所有答案后,我们会分析候选人发送给我们的内容以及他们在开始任务之前提出的澄清问题。 根据此信息,您可以邀请任意数量的候选人进入下一阶段。

下一阶段是简短的采访。 我们已经有话要谈了。 候选人已经对他将从事的项目的主题领域有了一个粗略的了解。 这次面试的主要目的是回答候选人的技术问题并激励他完成主要测试任务——对他自己选择的任务部分进行编程。 或者您希望看到实现的部分。

了解开发人员想要实现任务的哪一部分总是非常有趣的。 有些人喜欢解压项目结构,将解决方案分解为模块和类,即从上到下移动。 有些人强调了一个单独的子任务,这是他们认为最重要的,但没有规定整个解决方案。 也就是说,它们是自下而上的——从最复杂的子任务到整个解决方案。

优点

我们可以看到候选人的博学、他的知识对我们项目的适用性以及沟通技巧的发展。 我们也很容易对候选人进行比较。 我通常会拒绝对完成任务所需时间给出过于乐观或过于悲观估计的候选人。 当然,我对时间有自己的估计。 考生的低分很可能表明该人没有正确理解任务并肤浅地完成了这项测试。 过多的时间估计通常表明候选人对主题领域的理解很差,并且没有我需要的主题的经验。 我不会根据候选人的分数立即拒绝他们,而是要求他们在评估尚未充分激发的情况下证明其评估的合理性。

对于某些人来说,这种方法可能看起来复杂且昂贵。 我对使用这种方法的劳动强度的评估是:描述测试任务需要30-60分钟,然后检查每个考生的答案需要15-20分钟。 对于考生来说,完成这样的测试任务通常不会超过1-2个小时,同时他们沉浸在未来要解决的问题的本质中。 到了这个阶段,候选人可能会变得不感兴趣,并且拒绝与你沟通,浪费了一点时间。

限制

首先,您需要提出一个原创的、孤立的和广泛的测试任务;这并不总是可能的。 其次,并非所有候选人都会立即明白第一阶段不需要编程。 有些人立即开始编程并消失几天,然后向他们发送完整完成的测试任务。 从形式上来说,他们未能通过这项测试任务,因为他们没有按照要求去做。 但与此同时,如果他们为整个测试任务提供了适当的解决方案,他们就成功了。 为了杜绝此类事件的发生,我通常会在作业发出后两天给所有收到任务的候选人打电话,了解他们的情况。

2. 有时间限制的简短多项选择测试

我不经常使用这种方法,尽管我真的很喜欢它并且发现它是快速测试能力的最佳方法之一。 我会在不久的将来单独写一篇文章来介绍这个方法。 此类测试广泛应用于各个知识领域。 最引人注目、最典型的例子就是考取驾照的理论考试。 在俄罗斯,这项考试包含 20 个问题,必须在 20 分钟内回答。 允许有一个错误。 如果你犯了两个错误,你必须正确回答另外 10 个问题。 这种方法是高度自动化的。

不幸的是,我还没有看到针对程序员的此类测试的良好实现。 如果您知道程序员可以使用此类测试的现成实现,请在评论中写下。

如何实施

作为外包招聘人员,我在履行订单时曾与雇主自行实施类似的测试。 实施这样的测试是很有可能的。 例如,使用 Google 表单。 主要问题在于撰写问题和答案选项。 通常情况下,雇主的想象力足以回答 10 个问题。 不幸的是,在 Google Forms 中,无法实现池中问题的轮换和时间限制。 如果您知道一个很好的在线工具来创建自己的测试,可以限制参加测试的时间并为不同的考生组织不同的问题选择,那么请在评论中写下此类服务。

我在什么情况下使用这个方法?

现在,如果雇主有现成的测试可以提供给候选人,我就应雇主的要求使用这种方法。 也可以将此类测试与我评分中的第四种方法结合起来 - 我们要求候选人共享他的屏幕并参加测试。 同时,您可以与他讨论问题并回答选项。

优点

如果实施得好,该方法是自主的。 考生可以选择自己方便的时间参加考试,您不需要浪费很多时间。

限制

这种方法的高质量实施成本相当高,而且对于偶尔雇用新员工的小公司来说并不是很方便。

3. 包含有关经验的开放式问题的问卷

这是一组开放式问题,邀请候选人反思他们的经历。 但是,我们不提供答案选项。 开放性问题是那些不能简单地、单音节地回答的问题。 例如,还记得您使用某某框架解决的最困难的问题吗? 您遇到的主要困难是什么? 此类问题无法用单音节词来回答。 更准确地说,唯一简单的答案是我没有这样的经验,我没有使用过这个工具。

如何实施

使用 Google Forms 可以轻松实现。 最重要的是提出问题。 我使用了几种标准设计。

告诉我们您在 XXX 的帮助下完成的上一个项目,在这个项目中对您来说最困难的事情是什么?

XXX技术对您来说主要有哪些优势,请举例说明您的经验?
选择 XXX 技术后,您还考虑过哪些其他替代方案?为什么选择 XXX?

在什么情况下您会选择 AAA 技术而不是 BBB?
告诉我们您使用 XXX 解决的最困难的问题,主要困难是什么?

因此,这些构造可以应用于工作堆栈中的许多技术。 用互联网上的模板短语来回答此类问题并不容易,因为它们是个人的,并且与个人经历有关。 在回答这些问题时,应聘者通常会记住这样一个想法:在面试中,他的任何答案都可以以附加问题的形式提出。 因此,如果没有经验,候选人常常会退缩,意识到进一步的谈话可能毫无意义。

我在什么情况下使用这个方法?

在处理选择专家的订单时,如果客户没有提出自己的主要能力测试方法,我会使用此方法。 我已经准备了有关多个主题的调查问卷,并且对新客户使用这种方法不需要花费任何费用。

优点

使用 Google 表单易于实施。 此外,还可以在前一次调查的基础上进行新的调查,将技术和工具的名称替换为其他名称。 例如,关于 React 体验的调查与关于 Angular 体验的调查没有太大区别。

编制这样一份问卷需要15-20分钟,候选人通常会花15-30分钟作答。 时间投入虽少,但我们会收到有关候选人个人经历的信息,从中我们可以构建并使每次与候选人的面试变得独特且更有趣。 通常,此类问卷调查后的访谈持续时间较短,因为您不必提出简单、类似的问题。

限制

为了区分候选人自己的答案和“谷歌搜索”的答案,你需要了解这个主题。 但这很快就会带来经验。 查看 10-20 个答案后,您将学会区分考生自己的原始答案和互联网上找到的答案。

4. Live-Doing(编码)——使用共享屏幕实时解决简单问题

这种方法的本质是要求考生解决一个简单的问题并观察其过程。 候选人可以使用任何东西;不禁止在互联网上搜索信息。 候选人可能会因为在工作中被观察而感到压力。 并非所有候选人都同意使用此选项来评估其技能。 但是,另一方面,这种方法可以让你看到一个人脑子里有什么知识,即使在有压力的情况下他也能使用什么,以及他会去搜索引擎寻找什么信息。 候选人的水平几乎立即可见。 初学者使用该语言最基本的甚至原始的功能,并且经常开始手动实现基本库的功能。 更有经验的候选人精通基本的类、方法、函数,并且可以使用他们熟悉的基本语言库的功能快速解决简单的问题 - 比初学者快 2-3 倍。 即使是更有经验的候选人通常也会首先讨论解决问题的不同方法并提出几种解决方案选项,询问我希望实施哪个选项。 候选人所做的一切都可以讨论。 即使基于相同的任务,面试结果也会有很大不同,候选人的解决方案也是如此。

作为此方法的一种变体,您可以要求候选人参加一些测试来测试专业能力,证明选择一个或另一个答案选项的合理性。 与常规测试不同,你会发现答案的选择有多合理。 您可以根据自己职位空缺的特点,自行设计该方法的变体。

如何实施

使用 Skype 或其他允许共享屏幕的类似视频通信系统可以轻松实现此方法。 您可以自己提出问题,也可以使用 Code Wars 等网站和各种现成的测试。

我在什么情况下使用这个方法?

当我选择程序员时,从简历中根本不清楚候选人的知识水平,我会以这种形式为候选人提供面试。 根据我的经验,大约 90% 的开发人员并不介意。 他们很高兴从第一次面试开始就开始了有关编程的交流,而不是诸如“你认为 5 年后的自己会怎样”之类的愚蠢问题。

优点

尽管候选人有压力和焦虑,但候选人的整体技能水平是立即清晰可见的。 候选人的沟通技巧也变得清晰可见——他如何推理、如何解释和激励他的决定。 如果您需要与同事讨论候选人,可以轻松录制屏幕视频,然后向其他人展示面试内容。

限制

通讯可能会中断。 由于焦虑,候选人可能会开始变得愚蠢。 在这种情况下,你可以休息一下,给他时间独自思考任务,10分钟后打电话继续。 如果在此之后候选人表现得很奇怪,那么值得尝试另一种评估技能的方法。

5. 通过电话/Skype进行简短的技能面试

这只是通过电话、Skype 或其他语音通信系统进行的语音对话。 同时,我们还可以评估候选人的沟通能力、博学和视野。 您可以使用调查问卷作为对话计划。 或者,您可以与候选人更详细地讨论他对调查问卷的回答。

如何实施

我们同意与候选人进行对话并致电。 我们提出问题并记录答案。

我在什么情况下使用这个方法?

当候选人的答案对我来说似乎是原创的或不够令人信服时,我通常将这种方法与调查问卷结合使用。 我与候选人讨论问卷中的问题,并更详细地了解他的意见。 当候选人的沟通技巧和简单清晰地表达自己的想法的能力很重要时,我认为这样的对话是强制性的。

优点

如果不以声音谈论专业话题,通常无法确定候选人能在多大程度上表达自己的想法。

限制

主要缺点是花费额外的时间。 因此,如果有必要,我除了使用其他方法外,还会使用此方法。 此外,还有一些考生专业话题讲得很好,但实践知识却很少。 如果您需要一个能够持续有效地解决问题的程序员,那么最好选择另一种主要能力测试方法。 如果您需要一名经理或分析师,即从人类语言翻译为“程序员”并返回的专家,那么这种测试能力的方法将非常有用。

6、短时测试任务(30-60分钟完成)

对于许多职业来说,专家能够快速找到问题的解决方案非常重要。 一般来说,问题并不难解决,但解决问题所花费的时间很重要。

如何实施

我们与考生同意完成测试任务的时间。 在指定的时间,我们向候选人发送任务条款,并了解他是否理解对他的要求。 我们记录候选人解决​​问题所花费的时间。 我们分析解决方案和时间。

我在什么情况下使用这个方法?

在我的实践中,这种方法被用来测试技术支持专家、SQL程序员和测试人员(QA)的能力。 这些任务类似于“找到问题区域并找出解决问题的方法”、“优化 SQL 查询,使其运行速度提高 3 倍”等。 当然,您可以提出自己的任务。 对于新手开发者来说,也可以使用这个方法。

优点

我们只把时间花在起草和检查作业上。 候选人可以选择自己方便的时间来完成任务。

限制

主要缺点是您的问题或类似问题的解决方案可能会发布在互联网上,因此您需要有多种选择并定期提出新任务。 如果需要测试你的反应速度和视野,我个人选择定时测试(方法二)。

7. 研究候选人的作品集、代码示例、开放存储库

这可能是测试能力的最直接的方法,前提是您的候选人有一个作品集,并且您的选拔团队中有可以评估该作品集的专家。

如何实施

我们研究候选人的简历。 如果我们找到作品集的链接,我们就会研究它们。 如果简历中没有注明作品集,那么我们会要求候选人提供作品集。

我在什么情况下使用这个方法?

在我的实践中,这种方法很少被使用。 候选人的作品集中包含所需主题的作品并不常见。 有经验的候选人通常更喜欢这种方法,而不是典型且无趣的测试任务。 他们说,“看看我的说唱,有几十个我解决各种问题的例子,你就会看到我是如何写代码的。”

优点

节省了考生的时间。 如果您团队中的专业人员有时间,则可以在不与候选人沟通的情况下快速淘汰不合适的人选。 当招聘人员寻找候选人时,他的同事正在评估作品集。 结果是相当快速且并行的工作。

限制

这种方法并不能适用于所有IT职业。 要评估投资组合,您需要自己掌握技能。 如果您不是专家,那么您将无法定性评估投资组合。

同事们,我邀请您在评论中讨论您所读到的内容。 告诉我们,您还使用哪些其他方法来快速测试能力?

来源: habr.com

添加评论