返回介绍

第1章 面试的流程

第2章 面试需要的基础知识

第3章 高质量的代码

第4章 解决面试题的思路

第5章 优化时间和空间效率

第6章 面试中的各项能力

第7章 两个面试案例

1.3.1 行为面试环节

发布于 2024-08-21 20:57:09 字数 3898 浏览 0 评论 0 收藏 0

面试开始的5~10分钟通常是行为面试的时间。在行为面试这个环节里,面试官会注意应聘者的性格特点,深入地了解简历中列举的项目经历。由于这一环节一般不会问技术难题,因此也是一个暖场的过程,应聘者可以利用这几分钟时间调整自己的情绪,进入面试的状态。

不少面试官会让应聘者做一个简短的自我介绍。由于面试官手中拿着应聘者的简历,而那里有应聘者的详细信息,因此此时的自我介绍不用花很多时间,用30秒到1分钟的时间介绍自己的主要学习、工作经历就即可。如果面试官对你的某一段经历或者参与的某一个项目很感兴趣,他会有针对性地提几个问题详细了解。

1.应聘者的项目经验

应聘者自我介绍之后,面试官接着会对照应聘者的简历去详细了解他感兴趣的项目。应聘者在准备简历的时候,建议用如图1.3所示的STAR模型描述自己经历过的每一个项目。

图1.3 简历中描述项目的STAR模型

- Situation:简短的项目背景,比如项目的规模,开发的软件的功能、目标用户等。

- Task:自己完成的任务。这个要写详细,要让面试官对自己的工作一目了然。在用词上要注意区分参与和负责:如果只是加入某一个开发团队写了几行代码就用负责,那就很危险。面试官看到简历上应聘者负责了某个项目,他可能就会问项目的总体框架设计、核心算法、团队合作等问题。这些问题对于只是简单参与的人来说,是很难回答的,会让面试官认为你不诚实,印象分会减去很多。

- Action:为了完成任务自己做了哪些工作,是怎么做的。这里可以详细介绍。做系统设计的,可以介绍系统架构的特点;做软件开发的,可以写基于什么工具在哪个平台下应用了哪些技术;做软件测试的,可以写是手工测试还是自动化测试,是白盒测试还是黑盒测试等。

- Result:自己的贡献。这方面的信息可以写得具体些,最好能用数字加以说明。如果是参与功能开发,可以说按时完成了多少功能;如果做优化,可以说性能提高的百分比是多少;如果是维护,可以说修改了多少个Bug。

举个例子,笔者用下面一段话介绍自己在微软Winforms项目组的经历:

Winforms是微软.NET中的一个成熟的UI平台(Situation)。本人的工作是在添加少量新功能之外主要负责维护已有的功能(Task)。新的功能主要是让Winforms的控件的风格和Vista、Windows 7的风格保持一致。在维护方面,对于较难的问题我用WinDbg等工具进行调试(Action)。在过去两年中我总共修改了超过200个Bug(Result)。

如果在应聘者的简历中上述4类信息还不够清晰,面试官可能会追问相关的问题。除此之外,面试官针对项目经验最常问的问题还包括如下几个类型:

- 你在该项目中碰到的最大的问题是什么,你是怎么解决的?

- 从这个项目中你学到了什么?

- 什么时候会和其他团队成员(包括开发人员、测试人员、设计人员、项目经理等)有什么样的冲突,你们是怎么解决冲突的?

应聘者在准备简历的时候,针对每一个项目经历都应提前做好相应的准备。只有准备充分,应聘者在行为面试这个环节才可以表现得游刃有余了。

面试小提示:

在介绍项目经验(包括在简历上介绍和面试时口头介绍)时,应聘者不必详述项目的背景,而要突出介绍自己完成的工作及取得的成绩。

2.应聘者掌握的技能

除了应聘者参与过的项目之外,面试官对应聘者掌握的技能也很感兴趣,他有可能针对简历上提到的技能提出问题。和描述项目时要注意参与和负责一样,描述技能掌握程度时也要注意了解、熟悉和精通的区别。

了解指对某一个技术只是上过课或者看过书,但没有做过实际的项目。通常不建议在简历中列出只是肤浅地了解一点的技能,除非这项技术应聘的职位的确需要。比如某学生读本科的时候学过《计算机图形学》这门课程,但一直没有开发过与图形绘制相关的项目,那就只能算是了解。如果他去应聘Autodesk公司,那他可以在简历上提一下他了解图形学。Autodesk是一个开发三维设计软件的公司,有很多职位或多或少都会与图形学有关系,那么了解图形学的总比完全不了解的要适合一些。但如果他是去应聘Oracle,那就没有必要提这一点了,因为开发数据库系统的Oracle公司大部分职位与图形学没有什么关系。

简历中我们描述技能的掌握程度大部分应该是熟悉。如果我们在实际项目中使用某一项技术已经有较长的时间,通过查阅相关的文档可以独立解决大部分问题,我们就熟悉它了。对应届毕业生而言,他毕业设计所用到的技能,可以用熟悉;对已经工作过的,在项目开发过程中所用到的技能,也可以用熟悉。

如果我们对一项技术使用得得心应手,在项目开发过程中当同学或同事向我们请教这个领域的问题我们都有信心也有能力解决,这个时候我们就可以说自己精通了这项技术。应聘者不要试图在简历中把自己修饰成高人而轻易使用精通,除非自己能够很轻松地回答这个领域里的绝大多数问题,否则就会适得其反。通常如果应聘者在简历中说自己精通某一项技术,面试官就会对他有很高的期望值,因此会挑一些比较难的问题来问。这也是越装高手就越容易露馅的原因。曾经碰到一个在简历中说自己精通C++的应聘者,连成员变量的初始化顺序这样的问题都被问得一头雾水,那最终的结果也就可想而知了。

3.回答为什么跳槽

在面试已经有工作经验的应聘者的时候,面试官总喜欢问为什么打算跳槽。每个人都有自己的跳槽动机和原因,因此面试官也不会期待一个标准答案。面试官只是想通过这个问题来了解应聘者的性格,因此应聘者可以大胆地根据自己的真实想法来回答这个问题。但是,应聘者也不要想说什么就说什么,以免给面试官留下负面的印象。

在回答这个问题时不要抱怨,也不要流露出负面的情绪。负面的情绪通常是能够传染的,当应聘者总是在抱怨的时候,面试官就会担心如果把他招进来的话他将成为团队负面情绪的传染源,从而影响整个团队的士气。应聘者应尽量避免以下4个原因:

- 老板太苛刻。如果面试官就是当前招聘的职位的老板,他听到应聘者抱怨现在的老板苛刻时,他肯定会想要是把这个人招进来,接下来他就会抱怨我也苛刻了。

- 同事太难相处。如果应聘者说他周围有很多很难相处的同事,面试官很有可能会觉得这个人他本身就很难相处。

- 加班太频繁。对于大部分IT企业来说,加班是家常便饭。如果正在面试的公司也需要经常加班,那等于应聘者说他不想进这家公司。

- 工资太低。现在的工资太低的确是大部分人跳槽的真实原因,但不建议在面试的时候对面试官抱怨。面试的目的是拿到offer,我们要尽量给面试官留下好印象。现在假设你是面试官,有两个人来面试:一个人一开口就说现在工资太低了,希望新工作能加多少多少工资;另一个说我只管努力干活,工资公司看着给,相信公司不会亏待勤奋的员工。你更喜欢哪个?这里不是说工资不重要,但我们要清楚面试不是谈工资的时候。等完成技术面试之后谈offer的时候,再和HR谈工资也不迟。通过面试之后我们就掌握主动了,想怎么谈就怎么谈,如果工资真的开高了HR会和你很客气地商量。

笔者在面试的时候,通常给出的答案是:现在的工作做了一段时间,已经没有太多的激情了,因此希望寻找一份更有挑战的工作。然后具体论述为什么有些厌倦现在的职位,以及面试的职位我为什么会有兴趣。笔者自己跳过两次槽,第一次从Autodesk跳槽到微软,第二次从微软跳槽到现在的思科。从面试的结果来看,这样的回答都让面试官很满意,最终也都拿到了offer。

当时在微软面试被问到为什么要跳槽时,笔者的回答是:我在Autodesk开发的软件Civil 3D是一款面向土木行业的设计软件。如果我想在现在的职位上得到提升,就必须加强土木行业的学习,可我对诸如计算土方量、道路设计等没有太多兴趣,因此出来寻找机会。

在微软工作两年半之后去思科面试的时候,笔者的回答是:我在微软的主要工作是开发和维护.NET的UI平台Winforms。由于Winforms已经非常成熟,不需要添加多少新功能,因此我的大部分工作都是维护和修改BUG。两年下来,调试的能力得到了很大的提高,但长期如此自己的软件开发和设计能力将不能得到提高,因此想出来寻找可以设计和开发系统的职位。同时,我在过去几年里的工作都是开发桌面软件,对网络了解甚少,因此希望下一个工作能与网络相关。众所周知,思科是个网络公司,这里的软件和系统或多或少都离不开网络,因此我对思科的职位很感兴趣。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文