在今天看到这个问题关于FizzBuzz面试问题的变体,以及与之相关的其他问题之后,我不得不问:对于作为一种面试技术的有效性,是否有任何正式的研究?有很多人说它过滤掉了一些听起来很疯狂的候选人(在某些情况下是95%+),但是它对于找到优秀的程序员/开发人员有多好呢?
有一些研究表明,软技能可能是比硬技能更好的指标。选择一个好的候选人为一个工作的角色。还有,很多考生考试不及格也有一些中间原因(紧张,认为“这是个骗局”等等)。
根据到目前为止的评论,似乎FizzBuzz问题背后的想法是确定这个人是否有足够的编码技能需要进一步考虑。我不完全相信FizzBuzz真的这么做。另外,请记住,FizzBuzz在招聘过程中很早就过滤了很大比例的应聘者,这可能意味着大量优秀的应聘者被提前撤职,因为他们不能足够快地解决愚蠢的问题。
另外,我要指出的是,观察FizzBuzz的有效性是完全可以以定量的方式完成的。这不像看“适合”或“激情”,它们变化很大,而且非常不科学(但对于新的招聘决定仍然很重要)。
发布于 2011-09-16 17:34:32
很长一段时间以来,我已经很久没有读到关于面试的研究了(所以我不能列出具体细节,对此我表示歉意),但一般的规则是,人们以软技能为基础进行招聘,但这与绩效之间没有任何关联。测试特定的技能是可行的,因为个性并不有效(根据可测量的数据)。
几乎每个人都认为自己的特殊面试技巧是有效的,数据显示,你可能不应该费心去面试(面试的一部分是“告诉我你自己”,而不是客观测试),因为面试官挑选的候选人并不比客观测试更好,但面试官确实表现出对外向者的偏见,这些人在人口上与面试官、高个子、有魅力的人等相似。(可以说,你应该雇佣那些在测试中表现出色、在面试的其余部分表现不好的人,因为他们在工作中的表现很好,但可能会发现离开你的公司更难。)
我有点期待为此而发火,通常我对任何人说,“但是我们使用方法X,它真的对我们有效”,但除非你
你真的不知道你的过程是否有效。不幸的是,面试的有效性本来就很难评估。
如果你想知道,实验会让人们根据面试成绩单来评估候选人,这些应聘者实际上已经被录用了(还有很多其他的技巧)。理想情况下,实验人员应该让人们进行面试,挑选候选人,抹去面试官的记忆,从应聘者中随机选择雇佣谁,并使用准确、客观的标准和面试官给出的评分比较候选人的表现,但这个实验很难完成。
所以,虽然我还没有看到FizzBuzz的具体研究,但它是一种能够在科学测试中显示出有效性的东西。如果它筛选出95%的候选人,那么我会好奇为什么--它的发明非常容易,以至于只有无能的程序员才能通过它,而且很难看出如何降低FizzBuzz的效率。我想知道通过“你好世界”考试的百分比是多少?“让电脑做点什么”的测试?
发布于 2011-09-16 14:58:57
fizzbuzz的目的不是为了找到优秀的程序员,而是为了找出一类糟糕的程序员,他们不能实现一个简单的算法。你的问题有点像问有多少名美国宇航局冠军在驾驶执照考试中被识别出来。在你绝对不想雇佣的人和你绝对愿意雇用的人之间,有很多中间地带。
还有其他类型的“坏”程序员需要不同的识别方法,比如那些不精通特定语言或有行为问题的程序员。然而,“fizzbuzz”程序员几乎是普遍不受欢迎的,这就是为什么人们经常推荐进行测试的原因。程序员是过于地域化,还是需要将技能传授给一种新语言,这在很大程度上取决于个人雇主的需求和偏好。
发布于 2011-09-21 04:36:35
FizzBuzz不是要识别优秀的程序员,而是要消除坏的程序员/冒牌货。如果考生不能通过FizzBuzz考试,那么他们就不知道如何编程,也不应该申请编程职位。
https://softwareengineering.stackexchange.com/questions/108800
复制相似问题