想找到一份程序员的工作,一点技术都没有显然是不行的,但是,只有技术 也是不够的。
面试笔试经验技巧篇主要针对程序员面试笔试中遇到的 13 个常见 问题进行深度解析,并且结合实际情景,给出了一个较为合理的参考答案以供读 者学习与应用,掌握这 13 个问题的解答精髓,对于求职者大有裨益。
经验技巧 1 如何巧妙地回答面试官的问题?
所谓“来者不善,善者不来”,程序员面试中,求职者不可避免地需要回答面试官各种 刁钻、犀利的问题,回答面试官的问题千万不能简单地回答“是”或者“不是”,而应该具 体分析“是”或者“不是”的理由。 回答面试官的问题是一门很深入的学问。
那么,面对面试官提出的各类问题,如何才能 条理清晰地回答呢?如何才能让自己的回答不至于撞上枪口呢?如何才能让自己的回答结 果令面试官满意呢? 谈话是一种艺术,回答问题也是一种艺术,同样的话,不同的回答方式,往往也会产生 出不同的效果,甚至是截然不同的效果。在此,编者提出以下几点建议,供读者参考。
首先 回答问题务必谦虚谨慎。既不能让面试官觉得自己很自卑,唯唯诺诺,也不能让面试官觉得 自己清高自负,而应该通过问题的回答表现出自己自信从容、不卑不亢的一面。
例如,当面 试官提出“你在项目中起到了什么作用”的问题时,如果求职者回答:我完成了团队中最难 的工作,此时就会给面试官一种居功自傲的感觉,而如果回答:我完成了文件系统的构建工 作,这个工作被认为是整个项目中最具有挑战性的一部分内容,因为它几乎无法重用以前的 框架,需要重新设计。这种回答不仅不傲慢,反而有理有据,更能打动面试官。
其次,回答面试官的问题时,不要什么都说,要适当地留有悬念。人一般都有猎奇的心 理,面试官自然也不例外,而且,人们往往对好奇的事情更有兴趣、更加偏爱,也更加记忆 深刻。所以,在回答面试官问题时,切记说关键点而非细节,说重点而非和盘托出,通过关 键点,吸引面试官的注意力,等待他们继续“刨根问底”。例如,当面试官对你的简历中一 个算法问题有兴趣,希望了解时,可以如下回答:我设计的这种查找算法,对于 80%以上的 情况,都可以将时间复杂度从 O(n)降低到 O(log n),如果您有兴趣,我可以详细给您分析具 体的细节。
最后,回答问题要条理清晰、简单明了,最好使用“三段式”方式。所谓“三段式”, 有点类似于中学作文中的写作风格,包括“场景/任务”“行动”和“结果”三部分内容。 以面试官提的问题“你在团队建设中,遇到的最大挑战是什么”为例,
第一步,分析场景 /任务:在我参与的一个 ERP 项目中,我们团队一共四个人,除了我以外的其他三个人中, 两个人能力很给力,人也比较好相处,但有一个人却不太好相处,每次我们小组讨论问题 的时候,他都不太爱说话,也很少发言,分配给他的任务也很难完成。
第二步,分析行动: 为了提高团队的综合实力,我决定找个时间和他好好单独谈一谈。于是我利用周末时间, 约他一起吃饭,吃饭的时候,顺便讨论了一下我们的项目,我询问了一些项目中他遇到的 问题,通过他的回答,我发现他并不懒,也不糊涂,只是对项目不太了解,缺乏经验,缺 乏自信而已,所以越来越孤立,越来越不愿意讨论问题。为了解决这个问题,我尝试着把 问题细化到他可以完成的程度,从而建立起他的自信心。
第三步,分析结果:他是小组中 水平最弱的人,但是,慢慢地,他的技术变得越来越厉害了,也能够按时完成安排给他的 工作了,人也越来越自信了,也越来越喜欢参与我们的讨论,并发表自己的看法,我们也 都愿意与他一起合作了。“三段式”回答的一个最明显的好处就是条理清晰,既有描述,也 有结果,有根有据,让面试官一目了然。 回答问题的技巧,是一门大的学问。求职者完全可以在平时的生活中加以练习,提高自 己与人沟通的技能,等到面试时,自然就得心应手了。
经验技巧 2 如何回答技术性的问题?
程序员面试中,面试官会经常询问一些技术性的问题,有的问题可能比较简单,都是历 年的笔试面试真题,求职者在平时的复习中会经常遇到,应对自然不在话下。但有的题目可 能比较难,来源于 Google、Microsoft 等大企业的题库或是企业自己为了招聘需要设计的题 库,求职者可能从来没见过或者从来都不能完整地、独立地想到解决方案,而这些题目往往 又是企业比较关注的。 如何能够回答好这些技术性的问题呢?编者建议:会做的一定要拿满分,不会做的一定 要拿部分分。即对于简单的题目,求职者要努力做到完全正确,毕竟这些题目,只要复习得 当,完全回答正确一点问题都没有(编者认识的一个朋友据说把《编程之美》、《编程珠玑》、 《程序员面试笔试宝典》上面的技术性题目与答案全都背得滚瓜烂熟了,后来找工作简直成 了“offer 杀器”,完全就是一个 Bug,无解了);对于难度比较大的题目,不要惊慌,也不要 害怕,即使无法完全做出来,也要努力思考问题,哪怕是半成品也要写出来,至少要把自己 的思路表达给面试官,让面试官知道你的想法,而不是完全回答不会或者放弃,因为面试官 很多时候除了关注你的独立思考问题的能力以外,还会关注你技术能力的可塑性,观察求职 者是否能够在别人的引导下去正确地解决问题,所以,对于你不会的问题,他们很有可能会 循序渐进地启发你去思考,通过这个过程,让他们更加了解你。 一般而言,在回答技术性问题时,求职者大可不必胆战心惊,除非是没学过的新知识, 否则,一般都可以采用以下六个步骤来分析解决。