`
mtnt2008
  • 浏览: 369547 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

如何面试程序员?[转]

阅读更多

你要面试一个程序员,应该问他什么问题?

有人在Hacker News 的讨论区里,请求指点,怎么才能在面试中发现合格的人。众人纷纷出主意,有很多高质量的回帖,我觉得挺有启发,就整理出了下面这篇文章。

一、提问之前的准备

首先,最重要的是,你自己一开始就应该想清楚:

1. 需要新员工完成什么样的任务?

2. 怎样的人能完成这样的任务?

3. 哪些途径和方法可以发现这样的人?

只有明确这些根本性的问题,才能正确高效地完成面试。

二、提问的原则

假定你对上一节的三个问题,已经有了清晰的想法,那么接下来就可以设计如何提问了。

有一些提问的原则,是你应该遵循的:

每一个面试问题都有明确的目的。你不仅自己了解,还能向其他面试官解释清楚。

多提一些开放性(Open-ended)的问题,而不是那种用Yes/No就可以回答的问题。这样做使你有机会与面试者展开讨论,并且提出后续的问题,尽可能多地了解对方。

不要问宗教、家庭、健康、个人隐私等方面的问题。

不要问太复杂的问题。因为面试者没有太多思考时间,所以无法周全地回答,你也就无从判断他的能力了。

三、考察专业能力

为了确认面试者是胜任的,你可以问一些与职位相关的专业方面的问题。(不过通常来说,一次面试不足以看出一个人的专业能力。)

比如,你的招聘职位是系统管理员,你可以问"如何快速地在50台机器上部署Linux?"(提示:正确答案不是刻录50张安装光盘。)

另外,你还应该向面试者了解他的过去,因为过去是未来的最好预测依据。不过,提问的重点不要仅仅是他过去的成果,更要关注在当时的环境中,他是如何决策和实施的。

四、考察综合素质

因为人是会发展的,所以某种程度上,面试者的综合素质要比他的专业能力更重要。

所以,具体的技术问题(如何调用API、什么是设计模式、编程语言的语法等等)可以少问一些,更应该关注面试者的事业心、对工作的热情、进取心、自律能力、毅力等方面。

下面是一些典型问题:

Why did you get into development?

你为什么开发软件?

How many technical books did you read in the past year?

去年你读了几本技术书籍?

What was your favorite technical book in the past year? What did you learn from it?

去年你最喜欢的技术书籍是哪本?你从中学到了什么?

What websites do you read regularly, related to development?

平时你经常访问哪些编程类网站?

Do you maintain any open-source projects?

你有自己的开源项目吗?

Do you code in your spare-time?

业余时间你编程吗?

Do you love programming, or do you do it for the money?

对于你来说,编程是一种爱好,还是一种谋生手段?

Have you accomplished anything important in your career yet? Do you want to?

你的职业生涯之中有什么重要的成就?它是你主导的吗?

What would make you feel that you have done something important?

什么事情会让你很有成就感?

五、考察理性思维

某些情况下,你可能需要了解面试者的分析判断能力,看他能否全面地思考问题、客观地评价自己。

那么,你可以依次提出这样三个问题:

What's your favorite programming language? Why?

你最喜欢的编程语言是哪种?为什么?

If you could add one feature to your favorite language, what would it be? Why?

如果允许你为这种语言加一种功能,你会加什么功能?为什么?

If you could remove one feature from it, what would it be? Why?

如果允许你取消一种功能,会是什么功能?为什么?

这里的重点是,让面试者从正反两方面评价一件自己熟悉的东西,看看他的思维是否片面。答案无所谓对错,只要面试者有一个明确的立场,能够从正反两方 面说出令人信服的理由,就可以了。比如,某个软件的口碑不好,但是面试者说他很喜欢,而且说得出一大堆理由,清楚地解释了这种软件的优点和缺点在哪里,这 样就很好。

你还可以把这些问题,套用在其他东西上面,比如操作系统、文字编辑器等等。

原文链接:

http://www.ruanyifeng.com/blog/2010/12/how_to_interview_a_programmer.html

分享到:
评论

相关推荐

    程序员求职面试宝典

    《程序员求职面试宝典》是一本为准备求职的程序员量身打造的综合指南,它涵盖了面试真题、求职技巧以及职业规划等多个方面,旨在帮助程序员在竞争激烈的IT行业中脱颖而出,找到理想的工作。以下是对这些关键知识点的...

    程序员面试宝典(c++程序员面试题目)

    程序员面试宝典是一本专门针对C++程序员面试准备的指导书籍,旨在帮助求职者在应聘程序设计和软件开发岗位时能够顺利通过笔试和面试环节。书中深入浅出地分析了大量知名企业的技术笔试常见题目,并提供了详细的解答...

    oracle数据库面试程序员.pdf,这是一份不错的文件

    Oracle数据库在IT行业中扮演着重要的角色,特别是在企业级应用中,它是存储和管理大量数据的核心工具。面试中,Oracle数据库的知识点通常...掌握这些基础和进阶知识,对于成为一名合格的Oracle数据库程序员至关重要。

    Java程序员面试笔试宝典-何昊pdf版

    根据提供的文件信息,我们可以推断出这是一本关于Java程序员面试和笔试准备的书籍,作者为何昊。本书可能包含了大量关于Java编程语言的基础知识、高级特性以及与面试相关的技巧和策略等内容。下面将对可能涉及的重要...

    面试程序员简历(实例)

    【程序员简历实例】展示了计算机专业人士如何构建一份详细且专业的简历。简历中涵盖了个人信息、教育背景、专业技能、项目经历、实习经验以及英语水平等关键部分,这些都是雇主在筛选程序员时通常关注的要点。 1. *...

    程序员面试宝典pdf完全版

    《程序员面试宝典》是一本专注于帮助程序员在求职面试中成功应对技术挑战的指南书籍。它详细介绍了程序员在面试过程中可能遇到的各种类型的问题,包括但不限于计算机基础知识、程序设计题目、逻辑思维题目以及IQ智力...

    NET程序员面试秘笈

    《NET程序员面试秘笈》是一本专门为.NET程序员准备的面试指南,由张云翯编著。这本书涵盖了.NET面试中可能出现的各类常见问题,旨在帮助应聘者充分准备,提高面试成功率。书中不仅包含基础理论知识,还涉及实际开发...

    程序员面试宝典(pdf全)

    本书《程序员面试宝典》详细阐述了程序员在求职过程中可能遇到的面试、笔试等问题,并且提供了大量的面试技巧和常见面试题目的解答思路,旨在帮助程序员顺利通过面试,获得理想的职位。下面详细解读书中的主要内容和...

    java面试题 java 面试题 面试 程序员

    11. **垃圾回收**:Java的垃圾收集器(Garbage Collector, GC)自动管理内存,避免程序员手动进行内存管理。`Math.round()`方法用于四舍五入,`goto`在Java中未被使用。 12. **数组与String**:数组的长度是属性,...

    程序员面试宝典(全目录版).pdf

    程序员面试是求职过程中的重要环节,对于程序员来说,面试不仅仅是对技术能力的考核,也是对沟通能力、团队协作能力和解决问题能力的综合考察。《程序员面试宝典》是一本专门针对程序员面试而编写的书籍,旨在帮助...

    程序员面试题精选100题

    在程序员的求职过程中,面试是至关重要的一环,而面试题目的准备往往决定了面试者能否成功获得心仪的工作。"程序员面试题精选100题"是一个集合了多种算法和编程问题的资源,旨在帮助程序员们更好地应对面试挑战。...

    程序员面试宝典(全).pdf

    程序员面试宝典是一本专门为程序员设计的面试指导书,它详细介绍了程序员在面试过程中应该掌握的知识、技能和面试策略,以及在准备面试时需要注意的细节。本书对于那些正在寻找编程、软件开发等技术职位的应聘者来说...

    程序员 面试智力 题

    这些题目是程序员面试中常见的智力题,旨在考察应聘者的逻辑思维、问题解决能力和创新思维。以下是对这些题目涉及的知识点的详细分析: 1. **烧绳计时**:这是一个经典的逻辑题,要求在没有标准时间工具的情况下...

    程序员面试必须的面试资料(C#+Java)

    【程序员面试宝典】 在程序员的职业生涯中,面试是一个至关重要的环节,特别是对于初出茅庐的毕业生或者希望转换工作领域的专业人士。"程序员面试必须的面试资料(C#+Java)"是针对这一需求精心整理的资源集合,它...

    程序员面试宝典-阿里

    程序员面试宝典是针对求职者尤其是针对程序员职位的面试准备参考资料,特别是在准备像阿里这样的知名科技公司面试时,这一宝典显得尤为珍贵。本书涵盖了算法、数据结构和计算能力三个方面的模拟面试题和题解,对于想...

    C#面试宝典NET程序员面试指南源文件

    《C#面试宝典.NET程序员面试指南源文件》是一份专为准备.NET平台,特别是C#语言编程面试的开发者量身打造的参考资料。这份资源包含了丰富的C#编程、.NET框架以及软件工程实践的知识点,旨在帮助求职者提升技能,顺利...

    黑马程序员入学面试题

    面试通常分为以下几个步骤: 1. **自我介绍**:介绍自己的基本信息、教育背景、工作经历等。 2. **编程题**:通过几道编程题目来考察应聘者的编程能力和解决问题的能力。 3. **Java基础知识提问**:考察应聘者对于...

    程序员面试100题

    本题是针对程序员面试场景设计的一道经典题目,主要考察应聘者对数据结构和算法的理解能力。 #### 问题描述 给定一棵二叉查找树(Binary Search Tree, BST),要求不创建新的节点,仅通过调整现有节点之间的指针...

    程序员面试宝典(电子书完整版)

    程序员面试宝典是一本专为希望在软件、程序设计领域获得工作机会的应聘者所准备的面试指导书籍。本书内容详尽,涵盖了求职过程、C/C++程序设计、数据结构、设计模式、操作系统、数据库和网络以及综合面试题等21个...

Global site tag (gtag.js) - Google Analytics