在招聘过程中要求潜在程序员编写代码的好示例项目是什么?

Emm*_*ast 17 php

我的理解是,要求工作样本是确定某人是否具有您正在寻找的技能组合的好方法,因为有些人只是采访得很好.所以我想请潜在的开发人员为我编写一些示例代码.

我正在寻找关于什么样的小项目可以在一两个小时内完成的想法,并且会表明他们对OOP有良好的掌握,良好的编码实践等等.一旦完成它们需要注意什么 - 如何公平有效地评估它.

对于上下文,我是一个小企业主,采访潜在的开发人员,用于内部项目的PHP开发.我可以编写PHP但不是专家(有些工作是重构我编写的代码,以便更好地构建和保持一致),所以我也在寻找在评估样本时要寻找的内容,因为我我不是一个训练有素或经验丰富的程序员.

特别是对于之前已经完成这种类型的雇用并使用这种方法的人.

我也在想我可以给他们一些代码来重构,看看他们是如何做的.有没有人作为招聘流程的一部分进行过重构测试?

澄清:我在面试时并不是在谈论编码.我说的是编码而不是采访.对于上下文,这个问题的灵感来自FastCompany中的这篇文章,关于工作样本如何比面试更好地预测工作成功:

为什么在没有满足他们的情况下雇用人员可能更明智 http://www.fastcompany.com/magazine/136/made-to-stick-hold-the-interview.html

jrc*_*cs3 19

我会创建一个不一定好的应用程序并嵌入一些错误.我想出一些简单的功能添加到程序中.

申请人是否发现了一些错误?

申请人的代码如何整合到现有代码中?

申请人是否会陷入无关紧要的事情?

申请人是否适应现有代码的编码标准?

完成本练习后,与申请人讨论代码.这可能比实际代码更有价值.

注意:关于@bpapa答案,我会确保问题是新颖的,显然不能在生产中使用.

  • 这取决于你是否雇用他/她进行一个全新的项目,或者申请人是否必须处理遗留代码.如果是这种情况,请务必尝试他的修复错误的技巧. (2认同)

bpa*_*apa 13

我被问到时会个人拒绝这样做.面试是一回事,在纸上编写编程问题以评估技术知识是好的,但实际上为某人编写某种应用程序是可计费的,我不会免费这样做.即使它只需要一个小时.

我认为你应该更多地关注这个人过去所做的事情,并提出你知道答案的技术问题(因为你说你的PHP知识有限,并且想要一个PHP开发人员).

  • 我不认为你会要求任何人做出特别有用的东西.这是确保人们真正了解他们所知道的内容的一种非常有用的方法. (6认同)
  • 如果这是你追求的职业发展,那么这不是一个伟大的计划.一些雇主可能认为缺乏热情,甚至傲慢(特别是如果它是入门级/初级职位则适用).根除那些不会出汗的小东西并能够应对自发压力的人尤其有帮助. (5认同)
  • @ karim79,如果它是专门为访谈目的而编写的代码示例代码,那么我就不会有重构它的问题.但是,如果它是生产代码,那么它似乎属于不同的类别.当潜在的雇主要求新的公司徽标或类似物品的"样品艺术品"并且他们最终使用面试项目而不雇用/支付个人时,艺术家会发生这种情况. (4认同)

Ste*_*owe 9

我会听从乔尔的建议,即为面试提供家庭作业只会淘汰最好的程序员(从他的书中解释).更好的程序员有很多选择,因此不想完成编程任务的练习.他们只是不适用.那将使你成为中等能力的人.不幸的是,根据我的经验,那些最有可能尝试看起来比他们更好的人,如果你自己不是专家,最有可能误导你的人.

这是另一种选择.让他们指出他们已经完成的一些工作.不一定是代码,而是网站.在采访中,询问他们如何编码的问题.他们使用了哪些数据结构?这些课程或职能是如何组织的?他们必须克服哪些问题?

然后,作为传统的编程问题,在面试中他们可以为你找到答案.通过这种方式,您可以衡量他们的理解和语法.这两者不一定是同一个问题.

  • 我很尊重乔尔,但他的招聘水平与我所说的完全不同.无论如何,我不打算吸引"最好的",坦率地说,我宁愿拥有一个态度良好的编码人员,他有责任心并且能够完成任务,而不是一个有权利感的优秀编码员.我喜欢向他们询问有关他们如何编码他们编码的内容以及为什么要表达他们的想法的想法,感谢您提出建议. (5认同)

Tim*_*Tim 6

如果您不是专家,那么我建议您在尝试评估其他开发人员时要小心.如果你对自己的水平感觉不舒服,你应该找出一种更好的方法来评估别人的开发技巧.

我不确定你有什么好的解决方案.

我会使编码样本非常简单,而且不需要花费一两个小时.简单的编码练习需要几分钟就足够了 - 结合其他关于最佳实践,框架,设计问题等的讨论.