当你运营着一个成长中的咨询公司,会做很多招聘工作。我们主要招聘Hadoop。我们寻找的是一些具有基本条件的人,并训练他们,而不是愚蠢地尝试从几百个人中挖走具有Hadoop经验的人。
这意味着我们倾向于雇佣具有良好的Java和SQL经验的开发者。对我而言,一个优秀的开发者应具有批判性思考技巧和学习新东西的能力。
我通常以垒球问题开始面试去诱导我的猎物进入虚假的安全感(开玩笑的)。我真正的意思是,我想让面试者尽可能舒适,这样我就可以评估他们整体的沟通能力,而不是让他们在面试中紧张。
然后我会问许多基础的技术问题,以确保简历中没有他们不知道含义的术语。但还是有人会把 Java 放到简历中,仅仅意味着他们只是运行过Java代码而不是知道如何编写(虽然自从招了一个HR后我还没有遇到过这种人)。那些用过很多工具的人,缺少深入地使用,也缺少深入的监督。比如,他们可能使用过RDBMS,但是并不知道锁是如何工作的,或者他们的查询功能执行起来很慢。我通常都能很快地解决这些问题。
我通常不会费心思去问一些基本的语法问题,或者其他一些可以很快就 Google 到但没有理解的概念。相反,我会问一些真正关键的应该知道的,如果你一直工作在你所说的那项技术中。
我问的三个最重要的问题,需要一个人能够进行独立的思考,即使回答者是在撒谎。
1. 请描述一下,让你感到最自豪的项目。你在那个项目,哪部分是你做得特别好的?
这个问题告诉我了许多关于他们知道什么,他们价值多少,他们在团队中的实际位置,以及他们是否真正在思考他们在做什么。
2. 请描述一下,让你感到最不爽的项目。你会做出哪些改变?
我需要可以学习的人,而学习意味着犯错误,意识到错误,并且下次做的更好。
3. 如果有一个Web应用,它还在运行(通过 top/ps/无论什么),但是当用户尝试访问它的时候却得到“拒绝连接”的回应。那么你将如何诊断这个问题?
通过这个问题的答案,我可以了解面试者的思维过程,最喜欢的分析工具,和偏见,也了解他们是否真的知道如何去解决问题。获得正确的答案并不重要,但是它能让我知道这个人是如何思考的,以及他们对使用的工具的熟悉程度。
你想从一个开发者身上寻找什么?除了基本的技术话题,你认为什么样的问题,可以让你知道你想知道的?
-
开发工程师
+关注
关注
1文章
91浏览量
14934
发布评论请先 登录
相关推荐
评论