最容易决定开发工程师面试成败的三个问题

描述

当你运营着一个成长中的咨询公司,会做很多招聘工作。我们主要招聘Hadoop。我们寻找的是一些具有基本条件的人,并训练他们,而不是愚蠢地尝试从几百个人中挖走具有Hadoop经验的人。

这意味着我们倾向于雇佣具有良好的Java和SQL经验的开发者。对我而言,一个优秀的开发者应具有批判性思考技巧和学习新东西的能力。

我通常以垒球问题开始面试去诱导我的猎物进入虚假的安全感(开玩笑的)。我真正的意思是,我想让面试者尽可能舒适,这样我就可以评估他们整体的沟通能力,而不是让他们在面试中紧张。

然后我会问许多基础的技术问题,以确保简历中没有他们不知道含义的术语。但还是有人会把 Java 放到简历中,仅仅意味着他们只是运行过Java代码而不是知道如何编写(虽然自从招了一个HR后我还没有遇到过这种人)。那些用过很多工具的人,缺少深入地使用,也缺少深入的监督。比如,他们可能使用过RDBMS,但是并不知道锁是如何工作的,或者他们的查询功能执行起来很慢。我通常都能很快地解决这些问题。

我通常不会费心思去问一些基本的语法问题,或者其他一些可以很快就 Google 到但没有理解的概念。相反,我会问一些真正关键的应该知道的,如果你一直工作在你所说的那项技术中。

我问的三个最重要的问题,需要一个人能够进行独立的思考,即使回答者是在撒谎。

1. 请描述一下,让你感到最自豪的项目。你在那个项目,哪部分是你做得特别好的?

这个问题告诉我了许多关于他们知道什么,他们价值多少,他们在团队中的实际位置,以及他们是否真正在思考他们在做什么。

2. 请描述一下,让你感到最不爽的项目。你会做出哪些改变?

我需要可以学习的人,而学习意味着犯错误,意识到错误,并且下次做的更好。

3. 如果有一个Web应用,它还在运行(通过 top/ps/无论什么),但是当用户尝试访问它的时候却得到“拒绝连接”的回应。那么你将如何诊断这个问题?

通过这个问题的答案,我可以了解面试者的思维过程,最喜欢的分析工具,和偏见,也了解他们是否真的知道如何去解决问题。获得正确的答案并不重要,但是它能让我知道这个人是如何思考的,以及他们对使用的工具的熟悉程度。

你想从一个开发者身上寻找什么?除了基本的技术话题,你认为什么样的问题,可以让你知道你想知道的?

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分