您当前的位置:首页 > 互联网教程

如何面试一名程序员

发布时间:2025-05-22 09:23:46    发布人:远客网络

如何面试一名程序员

一、如何面试一名程序员

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

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

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?

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

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

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

二、程序员应该怎样去面试

1、呈现出自己完整的知识结构。

对于程序员来说,最重要的一件事情就是在短短的面试过程中呈现出自己完整的知识结构。要想做到这一点,一定要在自我介绍的过程中下足功夫,既简练又丰富,引起面试官的重视。

无论是应聘初级程序员还是主力程序员,项目经验都是面试官最为关注的内容之一,也是面试者能力的衡量标准之一。在项目介绍的时候要选择比较有代表性的项目,简单的说就是规模越大越好,参与程度越深越好。能够清晰的描述自己在项目中的工作职责和最终的完成情况。

通过一个具体的难点问题如何解决来呈现自己解决问题的能力,这种做法更有说服力,而且尽量突出重点内容,比如算法设计、实现过程、验证过程等内容,解决问题的能力是主力程序员的核心竞争力之一。

程序员在整个职业生涯中需要不断的学习,因为整个IT领域的技术更新速度是比较快的,面试官往往对程序员的学习能力比较关注,可以通过不同的项目采用不同的技术方案来体现自己较强的学习能力。

交流能力对于程序员来说也是非常重要的,项目开发过程中需要频繁的交流,所以交流能力也是面试官比较关注的方面之一。体现交流能力的关键是把握住交流的主线,所有的思路要紧紧围绕核心问题,尽量不要做过多的扩展,这样容易顾此失彼。

一个好的职业规划会给面试官留下一个好印象,也会为自己争取到更好的职位奠定一个基础。

三、程序员面试有哪些技巧

1、不管你是职场老手还是菜鸟,掌握Java程序员面试的技巧是很有必要的,今天跟随沙河IT培训一起来了解一下。

2、在这里小编给你的建议是:如果你想提高自己的入选机会,那最好还是花点心思制作一份专业的简历,相较于你将来可能得到的巨大收获,这一点时间还是可以流失的。

3、我们来举个例子:就拿我们的面试来说,会事先发电子邮件给面试者,并附上动力节点的名字和博客地址。但是让我惊讶的是,当我给他面试的时候,他竟然对我们还是一无所知。

4、我们在来举例正面例子:我们在面试时也碰到过这类Java开发人员,他能对我们官网以前写的一篇博客或者做的教学视频上面的内容侃侃而谈。(相比而言,你说我会选择哪个?要让别人对你感兴趣,最简单的方法就是你先表达出对对方的兴趣。不管这种方法是否有欠公正,但是如果你想面试成功,那么小编建议你事先了解一下你应聘的这家公司)。

5、当今社会的信息是如此的发达,我们完全可以在Facebook、Twitter、微博、博客上找到任何公司的资料。即使你只是大致浏览一番,也会让你受益良多。

6、知之为知之,不知为不知,如果你确实不知道,千万不要自作聪明来编造问题的答案。

7、相反,你应该诚实的说,你不知道或者你并不是百分百的肯定,但是你愿意尝试一下,然后再讲讲自己的想法,讲完后也可以问面试官正确答案是什么,从而显示你对此非常感兴趣。

8、一般来讲,面试官问的问题大多都是他们知道的问题如果你滥竽充数抱着侥幸心理,一旦被发现,面试官马上会质疑你的人品

9、这是每一个开发人员都应该具备的重要技能,而且真要掌握起来也并不是那么难

10、在很多面试中,都会有这样的问题,要求你在白板或者电脑上解决软件编程问题,但是许多程序员,即使是那些非常优秀的程序员,都会一下子大脑一片空白,完全理不出思路来。如果你能花时间学会如何解决这种类型的面试问题,那么下次再碰到这种场景,就不会这么紧张了。我们会紧张其实和怯场无关,主要是因为我们不熟悉这些问题,也没有自信能解决这种问题。在这方面建立起自信之后,你就再也不会紧张了。

11、只用一个字或者一句话,照本宣科平平无奇地回答问题,或许在技术上是正确的,但是你忘了应该借此机会好好展示自己的激情——这才是一个开发人员能带给团队的最大正能量。