① 如何面试一名程序员
如何面试程序员
一、提问之前的准备
首先,最重要的是,你自己一开始就应该想清楚:
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?
如果允许你取消一种功能,会是什么功能?为什么?
这里的重点是,让面试者从正反两方面评价一件自己熟悉的东西,看看他的思维是否片面。答案无所谓对错,只要面试者有一个明确的立场,能够从正反两方面说出令人信服的理由,就可以了。比如,某个软件的口碑不好,但是面试者说他很喜欢,而且说得出一大堆理由,清楚地解释了这种软件的优点和缺点在哪里,这样就很好。
你还可以把这些问题,套用在其他东西上面,比如操作系统、文字编辑器等等。
② 程序员面试时需要注意哪些
1 说得太少
尤其是那些开放式的问题,如“请介绍下你自己”或“请讲一下你曾经解决过的复杂问题”。面试官会通过你对这些技术和非技术问题的回答来评估你的经验和能力。
所以,仅仅只用两三句话来回答不但不能显示出你对这个专业的兴趣,还会让整个面试过程显得非常无聊。如果你不能很好地说明你的经验、成就和技能给企业带来的价值,那么你的竞争力毫无疑问就高不起来。所以,你需要对一些最常见的开放式问答作充分的准备,学会推销自己。
2 说得太多
不断地说,不断地说,却并没有什么实质性的内容。换句话说,就是废话连篇,言之无物。如果你不能简洁的解释问题,那么面试官就会怀疑你在工作时的表现是不是也会像你的谈话一样拖泥带水?可以先问问面试官,确定是否真的需要详细解释。
解释也是一门艺术,关键是确定重点,如果需要的话再深入到细节。当聊到业务的时候,就应该从业务的角度看问题,不要涉及任何技术术语。学会用简洁明了的方式解释问题。如果你能时刻把握主旨,那么这一点也不是问题。
3 回答不出一些必知的基本技术问题
面试不是技术竞赛,不是看谁答对的问题多,但是有一些“必须知道”的核心Java和Web基础知识,你不能不知。例如,对于Java开发人员
1)不知道“==”和equals之间的区别。
2)不知道equals和hashCode方法被隐式调用时的约定。
3)不能解释曾投入精力过的应用程序的高层体系结构。
4)不知道OO的概念和设计原则。
5)不能很好地处理多线程。
6)不知道如何在HTTP客户端与服务器端之间保持状态。
7)不知道SQL。
…
4 既写不好简单的代码,又回答不出如何解决棘手的问题
作为一个开发人员,你应该根据自己的经验水平,来针对给定的问题和情况编写代码。如果碰到一些比较棘手的问题,那么即使你还没有解决方案,也应该将你的思路讲给面试官听。当然这在面试时会让人特别紧张,尤其是在还有时间限制的情况下,但是你也必须保持冷静,至少应该说明你将如何试着去解决问题的方法。
5 糟糕的礼仪和态度
迟到,不适宜的着装,抖手抖脚,没有眼神接触,过于紧张,没有提问,显示不出对这份职业的兴趣,“我什么都知道”的高傲态度,贬低你的现在和以前的雇主,遇到技术问题时烦躁不安或者垂头丧气,为自己找理由而不是虚心接受错误,与面试官发生争执,随波逐流而没有自己的看法,过于呆板,撒谎,嗓门太大,无法成为良好的倾听者,等等。
提示:面试官要找的不是技术明星,而是实实在在具备了合适的技术技能、软技能、端正的态度以及能为企业获取利益、全面的专业人才。因此,不妨先研究下想要应聘的机构,深入了解其工作规范以调整回答问题时的方向和重点。将每一场面试都当作免费的培训课程,积极调整心态,不但能达到一个双赢的局面,还可以减少紧张的情绪,从而获得更好的表现。这样即使你并没有得到那份工作,也可以由此学到点什么,获得进步
③ 公司让我面试新人,作为程序员我第一次面试别人,好紧张啊,要问点什么吗
面试,其实最主要的是要了解新人。
我们需要了解求职者的兴趣和爱好,从而判断其性格特征和工作能力。
我们可以根据所招聘岗位的要求和内容,要求面试者叙述下自己究竟哪些方面符合所应聘岗位的特殊要求,从而帮助判断是否符合该岗位的需求。
贵单位如果该岗位涉及加班或者经常出差,一定要询问面试者能否接受这种工作的模式和方式,从而帮助我们判断该求职者能否在此岗位长期做下去。
④ 程序员应该怎样去面试
嗨,亲爱的程序员朋友们,如果你是工作好几年的人了,那么你一定经历过面试吧,今天我以个人的视角总结了一下怎么才能有一次成功的面试,希望对你有所帮助。如果你已经开始看了,那么你一定看完哦,只有有耐心的人儿才能成大事,如果看了一半,这篇文章对你来说是没有任何收获的,反而却浪费了你宝贵的时间。
关于简历的制作
每个技术面试官每天要阅览几百甚至上千份简历,阅读一封简历的时间可能不超过10秒,你的简历就是茫茫大海中的一滴水,如果能让面试官从一大摞简历中选出你的简历,那么就需要从简历制作上下功夫了。
各位可以仔细琢磨一下上面的几种场景,有时没有经历过这种场景,可能没法对上面的描述做到感同身受,看了之后就会一带而过了,建议收藏此文,以后遇到类似情况了,可以把这篇文章找出来看看,相信会对你有所帮助,最后祝各位程序员朋友们都能找到自己心仪的工作!
大家好,我是“上世是朵花”。如果你有什么好的看法或者观点可以在评论区展现你的才华,互动交流,如果想进一步了解我,那就关注我吧。
⑤ 程序员面试该注意什么
闲聊
面试过程中,背景往往是初始话题,通过闲聊,他们可以得知你对编码的认知、你的个人能力或领导力、沟通问题、技术经验等。因此,你可以通过举出能表明自己以上能力的例子,凸显出自己热爱技术、自信阳光的特性,这是基本能给面试官留下不错的印象。
沟通
涉及到编码问题的时候,沟通是关键。一个在工作时需要帮助却能和人正确沟通的求职者比那些能轻松解决问题的求职者甚至更好。充分了解面试官出的问题到底是什么类型,如果你开始编写代码,并且面试官并不想多说废话,切忌高谈阔论。让人感觉你有团队精神,敢于表达自己的想法,如果是是在解决不了的问题那就不要装作自己很懂,凡是要先思考再做决定。
摆脱困境
有时候你会陷入僵局,放松,尽量巧妙地寻求解决办法,不要浪费时间在脑袋里思考,动手操作会更加形象;为解决问题寻找简单版本,写一个简洁低效的解决方案,然后对其进行优化;与面试官多交流方法技巧,展示出自己的思路;要察言观色,偶尔观察面试官的神态或许对解决或有帮助;考虑空间和运行时的界限。
写下你的思路想法
凭空地想很容易自我矛盾,把你的想法写下来,然后再去考虑细节;调用帮助函数,继续前进,不要担心语法问题,为自己预备足够的空间,用以在代码行之间添加代码或笔记;最后写一个重头检查的标志,不要担心你写的for循环是否应该有“<”或“<=”。在代码的最后画个勾选提醒自己最后再检查一遍。先按自己的思路走;使用描述性的变量名,标准化很有意义。
完成之后的整理
浏览解决方案,当程序运行时记录下变量保存的值——如果你只是记在脑子里,不会让你赢得任何加分,这有助于你发现bug和消除面试官的困惑;寻找差一错误,测试边缘情况,措施包括空集合,单项目集合或负数;不要做惹人厌烦的事。
实践
最后,运行实践问题是没有捷径的。好记性不如烂笔头,对自己诚实,用笔写可能一开始会让你觉得别扭,但是如果你现在就能克服这个难题,那么当面试的时候,你就不会觉得笨拙和不顺手了。准备充分,放轻松,技术在手,终能收获一席之地。
⑥ 你要面试一个程序员,应该问他什么问题
首先面试程序员分有没有经验
面试没有经验的程序员就随便问问点ssm,ssh五大框架问题,多线程什么的,再问问是否会点前端技术
有经验就看看他的简历,问他简历项目上的问题,可以围绕着简历上的项目问,通过他的回答涉及到的技术点之类的,拓展出去问其他的
⑦ 如何面试程序员
如何面试程序员
一、提问之前的准备
首先,最重要的是,你自己一开始就应该想清楚:
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?
如果允许你取消一种功能,会是什么功能?为什么?
这里的重点是,让面试者从正反两方面评价一件自己熟悉的东西,看看他的思维是否片面。答案无所谓对错,只要面试者有一个明确的立场,能够从正反两方面说出令人信服的理由,就可以了。比如,某个软件的口碑不好,但是面试者说他很喜欢,而且说得出一大堆理由,清楚地解释了这种软件的优点和缺点在哪里,这样就很好。
你还可以把这些问题,套用在其他东西上面,比如操作系统、文字编辑器等等。
⑧ hr面试程序员问什么问题,程序员在面试的时候的注意事项
01 和优秀开发者沟通
如果你本身没有编程背景,那就尽量找到一些优秀的开发人员给你指点迷津。
02 问专业的问题
1. 简要介绍一下你自己以及你最近在做的项目吗?
作用:这个问题可以让你更好地了解你的候选人,而谈论近期工作能了解他对工作的热情和奉献。
2. 其他时间有别的项目要做吗
作用:鉴于你的项目的时间长短和工作复杂程度,你可能只想找一个能完全投入到这个项目的人。但是很多程序员都会同时兼顾好几个项目,你要确保彼此双方的需求是什么。
3. 你是怎么看待自己的身份的?开发?产品经理?还是二者都是?
作用:理想的回答一般是‘二者都是’, 但是你要认真评估每个候选人可能给你团队带来的有利和不利影响。产品经理可以帮助设计新的功能和交互,但是你也需要足够的开发才能跟上方向从而建构你想要的内容。
4. 你会如何管理一个程序员团队?
作用:这个问题可以帮你了解候选人的领导能力和风格。
5. 告诉他们公司想要的人是怎样的。
作用:直截了当地告诉对方你的期望。像工作时间,项目长短,目标等等,这些都是对方很想知道的。就像你评价他是否适合公司一样,对方也会评价你的公司是否适合他。
03 去合适的地方招聘
你不能指望天上会掉下个好程序员给你,微软和谷歌的优秀程序员也不会自己蹦到你跟前。你的机会在于,很多这样的程序员都拥有或追求商业想法。
你可以多去一些网站、活动大赛等地方探索发掘,这比你在社交网站上找到他们的运气要大得多。
· 编程大赛
编程大赛就是程序员高手们云集在一起,合作共同完成一个软件的开发。
猿圈会定期举办此类招聘编程大赛,帮助企业挑选优质人才,提高企业品牌雇主形象。
· 开放性源代码贡献者
一些网站比如GitHub,提供在线代码存储库, 程序员可以自由对开源项目贡献自己的代码。
所以,在招聘之前,你可以先去这种网站上找一找有潜力的候选人。
· 大学
· 软件开发大会
尽可能多的去参加一些和你的产品相关的软件开发大会。
· 技术博客
你能根据他们的博客判断他们的技术技能、解决问题的能力以及写作和沟通能力。
04 没通过编程测试,坚决不录用
你只能记住一条原则,那必须是,没有让候选人参加编程测试之前,千万不能决定录用与否。
通常情况下,出于项目的紧迫,我们会倾向于选择看起来靠谱的第一个程序员,但是不拿到他的编程测试结果,不要冲动地下offer。
我也是个不懂代码的HR,但是我善于利用各种各样的工具,前段时间发现了一个猿圈测评的工具,我用它测试程序员候选人,通过测试结果判断是否值得邀约来面试,这个我觉得很赞,你可以试试看
⑨ 面试程序员的时候,怎么聊更好
呈现出自己完整的知识结构。对于程序员来说,最重要的一件事情就是在短短的面试过程中呈现出自己完整的知识结构。要想做到这一点,一定要在自我介绍的过程中下足功夫,既简练又丰富,引起面试官的重视,当然最重要的是自然一点,别紧张。