您不是编译器!

在会议上,通常会在摊位上收到礼物。 通常,您需要克服一些挑战。

一个无辜的难题

其中一些挑战涉及解决代码难题,例如:

运行以下代码片段的输出是什么:

publicclassSum{

    publicstaticvoidmain(String[]args){
        System.out.println(0123+3210);
    }
}
  1. 3293
  2. 3333
  3. 该代码无法编译
  4. 代码抛出一个IllegalArgumentException
  5. 以上都不是

我通常的反应是立即离开展位,或者如果有时间,可以在笔记本电脑上写下代码以获取结果(或在Google上搜索)。 您可以说我很懒,但是我更愿意认为我是优化时间的专家。

简单但没用

这种方法有一个优点:任何人都可以对答案进行评分-如果提供了正确的结果。 就这样。

否则,这种困惑绝对不会带来任何好处。 如果将其留在会议台上作为突破活动中的“有趣”游戏,这将不是问题。 不幸的是,这些东西已经无处不在,可以在招募期间筛选出候选人或提供认证。

在这两种情况下,都需要评估技能,而简单的解决方案是通过多项选择题测试。 当然,如果无法访问IDE或Google,那将是一个真正的挑战。 但是对于上述示例,正在检查什么? 非常具体的情况下的知识。 出于相同的原因,无论如何我都不会在我的项目中使用这种特定用法:这是一个特例! 我希望我的代码尽可能不涉及极端情况,

另一个样品

这也是您可能会遇到的另一种难题:

在类javax.servlet.http.HttpServletservice()方法的正确签名是什么?

  1. public void service(ServletRequest, ServletResponse)
  2. public void service(HttpServletRequest, HttpServletResponse)
  3. public int service(ServletRequest, ServletResponse)
  4. public int service(HttpServletRequest, HttpServletResponse)
  5. protected void service(ServletRequest, ServletResponse)
  6. protected void service(HttpServletRequest, HttpServletResponse)
  7. protected int service(ServletRequest, ServletResponse)
  8. protected int service(HttpServletRequest, HttpServletResponse)

这种问题只要求记忆最基本的IDE或JavaDoc所提供的功能。

实际上,这篇文章的完整标题应该是“您既不是编译器,也不是运行时,也不是文档”。

核心问题

正确回答以上任何一个问题与实际应用他们所评估的技能的熟练程度之间,没有任何相关的证据。 还有其他选择吗? 是。 不要简单地检查浅薄的知识,在相同的条件下检查要声明的内容,包括IDE,文档,Google等。

  • 您想检查应聘者是否能够阅读代码? 让他们阅读您自己的代码-如果您的代码是秘密的,则请阅读类似的代码。
  • 您想检查应聘者是否能够编写代码? 让他们编写代码, 例如修复现有或已修复的错误。

在认证的情况下也可以这样做。

当然,缺点是需要时间。 是时候准备材料了。 是时候分析候选人的成绩了。 是时候向候选人汇报了。

这可行吗? 不幸的是,对于那些将其作为乌托邦抛弃的人来说,它已经存在。 最好的例子是Java EE Enterprise Architect 。 尽管第一步是多项选择题测试,但其他步骤包括类似项目的作业和相关的论文。

另一个例子更加个人化。 我在高等教育机构中担任兼职讲师。 在某些课程中,我通过给学生分配作业来评估他们:开发一个非常小的应用程序。 作业采用规范的形式,就像业务分析师那样。

结论

为了我们行业的利益,让我们停止假装拼图除了与同事一起玩乐外,是值得的。 与评估潜在员工的技能所花费的时间相比,您应该更担心不良员工的后果。 有替代方法,请使用它们。 否则后果自负。

翻译自: https://blog.frankel.ch/you-not-compiler/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值