尚未提交的面试代码提交如何改变了我们的流程

发布于:2020-12-24 16:02:55

0

80

0

公告 访谈 stackoverflow

在上一个职位上,我曾是一家知名公司的特定技术堆栈的工程经理。 我们对所有应用程序进行分类的一种方法是要求对潜在候选人进行编码测试。 一个人真正脱颖而出,它教会我思考我在这些提交中真正寻找的是什么。

我知道要求人们免费获取代码以进行面试的做法目前并不流行。 利弊是完全不同的讨论。 在这个故事发生的时间里,它被人们接受了很多,我们取得了很多成功。 曾经有一段时间人们没有一堆公共存储库可供细读。

提交过程

为了进行测试,我们在org帐户下的GitHub上进行了公共回购。说明和询问很简单,并放在自述文件中。

说明:

1.在GitHub上分叉此仓库

2.创建一个程序,该程序可以与人类玩家交互玩井字游戏,并且永远不会输。

3.尽早并经常传递良好的信息。

4.将您的代码推回到GitHub并向我们发送请求请求。

这就是我们所要的;我们特意将其设为开放式。有些人试图通过使用不同服务和引擎的庞大,精美的应用程序来打动我们。我们提交了一份通过CLI提交的文件,只是因为“我很无聊,想尝试一下。”在审查候选人时,我们试图保持开放的态度,在最终决定之前,需要多人参与。如果对PR的批准比拒绝多,我们会请该人员了解更多信息。

我们并没有过多地关注他们留下的技术,错字,边缘案例错误,甚至他们的井字游戏引擎从未真正丢失过;对于有时会丢失的应用程序,我们获得了许多一致的批准。我们希望看到倾向于与我们的团队和工作流程保持一致的因素:他们多久检查一次?提交消息如何?是否添加或需要测试?该项目的可读性和组织性如何?

没有硬性清单,但是我们很早就发现,这些是更好的考量因素,而不是仅仅关注应用是否一直赢得胜利。我们试图做到公平,但经常会看到一些不真诚的意见。有时,我们看到的应用程序是直接复制并粘贴到其他站点上的应用程序-不久之后我们就开始记住它们-整个其他作者的评论和赞誉。但是,通常情况下,如果应用程序合理且代码可读性强,即使其样式与我们以前所用的样式截然不同,我们也将更多地讨论并询问申请人。

脱颖而出的那个

在与向我们介绍特定候选人的招聘人员交谈之后,很明显,这名申请人可能很难进行编码测试。 该人非常忙于工作,担心他们无法及时提交代码。 我让他们知道他们没有多少时间或任何时间限制。 我们想在大约两周内做出决定,这样对他们来说就会有用。 每个人都竖起大拇指,我们希望能提交一个好的文章。

我还想学什么?

一天减去两周,我们收到了请求请求和一封电子邮件。 我们首先看了公关,可悲的是,没有什么可做的了。 该应用程序的结构井井有条,我们可以看到他们本应采取的方式提交频繁且带有良好的消息但是缺少该应用程序的内容。 可悲的是,我们什至无法运行它,而且我们很确定时间已经用完了。 我读了电子邮件,他们很抱歉。 他们解释说,由于工作和个人问题,他们没有时间,因此提交的材料不完整。 但是随后在接下来的三段中,他们解释了他们将要做什么。

  • 他们链接到有关Minimax的文章,这些文章将作为灵感。 他们想知道Negamax是否可能更快,并会尝试找出答案。

  • 他们根据经验列出了他们认为很难处理的零件,并列出了如果计划A失败将尝试的一些措施。

  • 他们写了如何为某些部分添加测试,而不为其他部分添加测试,并快速解释了他们所谓的“测试膨胀”以及为什么要避免这种情况。

观点很简洁,但仍然很明确。 通常,我会对他们的挑战表示良好的祝愿,并提到如果我们开始新一轮谈判,我会伸出援手。 但是考虑了一下,我想知道:我还想学什么?

我们在他们的代码的早期部分中看到了一些样式,以及他们关于如何前进以解决陷阱的思考过程。 即使是提交消息,也只有很少的一部分,对于读者来说也很清晰明了。 我将提交文件中显而易见的因素与其他更完整的示例进行了比较,并注意到我对提交文件中的候选人的看法与对其他获得一致批准的人的解释一样多。 因此,我复制了考生的三个段落,并附上了自己的想法和PR的链接,并通过电子邮件将其发送给了审核人员,然后再参加下一次会议。 当我回来时,我在电子邮件链中收到了三个答复,说:“寄送。”

课程

我考虑了很多意见。 为什么这项工作很好,但与我们的计划有很大出入? 我们怎么用很少的代码就对它们有如此深刻的印象? 我在这些代码提交中真正在寻找什么? 要点不是不是他们得到了采访(他们做得很好)还是他们得到了报价(他们礼貌地拒绝了),而是问“我们在这些测试中真正寻找的是什么?”

这是一个棘手的问题。 对于我们来说,变化不是立即发生的,而是允许更多种提交方式的更渐进的变化。 我们甚至需要代码吗? 多少代码? 让我们少尝试。 让我们一起试试吧! 我们是否只是跳到电话屏幕并谈论它们将如何开始?

我们开始研究有多少人开始更多地参与测试,并看到了这种更加开放的态度带来的优秀候选人的数量。

我们现在在干什么

从那时起,我完全摆脱了编码测试。 现在,有很多途径可以查看人们的发展方式,而无需花整夜的时间在面试中获得机会。 面试和筛查总是很难做到的。 他们需要大量的工作和理解。 现在,我尝试在每一步之前花点时间,并提醒自己在面试中和面试过程中要学习的内容。 总会有种感觉舒适而显而易见的绒毛,但是当我们能够专注于我们真正想学习的东西以及我们可以学习的多种方法时,与人们的联系变得容易得多。 最后,无论是在雇用,指导还是给予表扬,与人保持联系都是经理的目标。