如何面试程序员?

上传人:小****克 文档编号:333387871 上传时间:2022-09-02 格式:PDF 页数:6 大小:292.13KB
返回 下载 相关 举报
如何面试程序员?_第1页
第1页 / 共6页
如何面试程序员?_第2页
第2页 / 共6页
如何面试程序员?_第3页
第3页 / 共6页
如何面试程序员?_第4页
第4页 / 共6页
如何面试程序员?_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《如何面试程序员?》由会员分享,可在线阅读,更多相关《如何面试程序员?(6页珍藏版)》请在金锄头文库上搜索。

1、如何面试程序员?如何面试程序员?作者: 阮一峰日期: 2010 年 12 月 16 日你要面试一个程序员,应该问他什么问题?有人在 Hacker News 的讨论区里,请求指点:怎么才能在面试中发现合格的人。众人纷纷出主意,有很多高质量的回帖,我觉得挺有启发,就整理出了下面这篇文章。=如何面试程序员?如何面试程序员?阮一峰 整理一、提问之前的准备一、提问之前的准备首先,最重要的是,你自己一开始就应该想清楚:1. 需要新员工完成什么样的任务?2. 怎样的人能完成这样的任务?3. 哪些途径和方法可以发现这样的人?只有明确这些根本性的问题,才能正确高效地完成面试。二、提问的原则二、提问的原则假定你对

2、上一节的三个问题,已经有了清晰的想法,那么接下来就可以设计如何提问了。有一些提问的原则,是你应该遵循的:* 每一个面试问题都有明确的目的。你不仅自己了解,还能向其他面试官解释清楚。* 多提一些开放性(Open-ended)的问题,而不是那种用 Yes/No 就可以回答的问题。 这样做使你有机会与面试者展开讨论,并且提出后续的问题,尽可能多地了解对方。* 不要问宗教、家庭、健康、个人隐私等方面的问题。* 不要问太复杂的问题。 因为面试者没有太多思考时间,所以无法周全地回答,你也就无从判断他的能力了。三、考察专业能力三、考察专业能力为了确认面试者是胜任的,你可以问一些与职位相关的专业方面的问题。(

3、不过通常来说,一次面试不足以看出一个人的专业能力。)比如,你的招聘职位是系统管理员,你可以问如何快速地在 50台机器上部署 Linux?(提示:正确答案不是刻录 50 张安装光盘。)另外,你还应该向面试者了解他的过去,因为过去是未来的最好预测依据。不过,提问的重点不要仅仅是他过去的成果,更要关注在当时的环境中,他是如何决策和实施的。四、考察综合素质四、考察综合素质因为人是会发展的,所以某种程度上,面试者的综合素质要比他的专业能力更重要。所以,具体的技术问题(如何调用 API、什么是设计模式、编程语言的语法等等)可以少问一些,更应该关注面试者的事业心、对工作的热情、进取心、自律能力、毅力等方面。

4、下面是一些典型问题:Why did you get into development?你为什么开发软件?How many technical books did you read in the pastyear?去年你读了几本技术书籍?What was your favorite technical book in thepast year? What did you learn from it?去年你最喜欢的技术书籍是哪本?你从中学到了什么?What websites do you read regularly, related todevelopment?平时你经常访问哪些编程类网站?Do

5、 you maintain any open-source projects?你有自己的开源项目吗?Do you code in your spare-time?业余时间你编程吗?Do you love programming, or do you do it for themoney?对于你来说,编程是一种爱好,还是一种谋生手段?Have you accomplished anything important inyour career yet? Do you want to?你的职业生涯之中有什么重要的成就?它是你主导的吗?What would make you feel that you

6、 have donesomething important?什么事情会让你很有成就感?五、考察理性思维某些情况下,你可能需要了解面试者的分析判断能力,看他能否全面地思考问题、客观地评价自己。那么,你可以依次提出这样三个问题:Whats your favorite programming language?Why?你最喜欢的编程语言是哪种?为什么?If you could add one feature to your favoritelanguage, what would it be? Why?如果允许你为这种语言加一种功能,你会加什么功能?为什么?If you could remove one feature from it, whatwould it be? Why?如果允许你取消一种功能,会是什么功能?为什么?这里的重点是,让面试者从正反两方面评价一件自己熟悉的东西,看看他的思维是否片面。答案无所谓对错,只要面试者有一个明确的立场,能够从正反两方面说出令人信服的理由,就可以了。比如,某个软件的口碑不好,但是面试者说他很喜欢,而且说得出一大堆理由,清楚地解释了这种软件的优点和缺点在哪里,这样就很好。你还可以把这些问题,套用在其他东西上面,比如操作系统、文字编辑器等等。(完)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作范文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号