前面写了好几篇关于程序员入门的文章和相关的话题讨论,这次讲讲如何做好面试。
最近5年里,工作的一部分时间都放在了面试上,为了提高面试的质量和效率,我给不同岗位都做了面试必问的几个关键问题。这次分享下我为什么会这么问,以及推荐大家在面试过程中应该如何做。
比如,在工作过程中有遇到过什么挑战吗?你觉得这个挑战难点在哪里?你是如何应对的?结果如何?你觉得你的做法有什么改进之处吗?你享受其中吗?其他人有什么做的不好或者好的地方吗?
我一般问的问题,都是具有开放性答案的问题,而且会由一个问题,引出一连续性问题,我相信,只有真正自己的经历才能把细节讲透。如果是自己编造的经历,肯定会答出问题。所以,面对面试官,不说谎是前提,你可以选择少说或不说。因为说一个谎需要很多个谎来圆。
程序员不太会说,但面试必然是考验沟通的。我这里总结了一些面试中的小技巧分享给大家。
一、面试前,先看一些常见的面试题,要是那种没有标准答案的面试题,能弄明白面试题背后的思考更好,没弄明白也没关系。
二、先听明白问题,不用着急回答,没听清楚的,可以在问一次。
三、回答问题要具体,少用主观判断,用具体事实解答最好。
四、省略细枝末节,只谈重点。如何用简单话语讲清楚一件复杂的事情,其实很难,但可以锻炼。
五、回答问题,要有逻辑性。比如,先描述场景 -再说你做出的行动 - 最后根据行动得到了什么结果。
六、面试后做总结,记录当天面试的问题以及你的回答。然后完善回答,毕竟有总结才有进步。
答案其实不重要,重要的你回答问题的思考,我们得承认没人是完美的,一场面试也得不到你所有的信息。我们只能尽可能的把自己的优点表现出来。
还有最后,面试官一般会问你,有什么想问的。这个问题很关键,但很多同学都忽略了。
在这个环节,我建议同学问一些具体的问题。
比如,这个岗位接下来的工作是什么?这个岗位有什么挑战性问题需要新入职的人员来解决?
如果你本身对公司的产品做了调研,那可以问,为什么公司会选择A语言/框架,而不是选择B语言/框架?
有一个心理学概率叫峰终定律,就是人的大脑大部分只能记住一件事情的最高潮部分和结尾部分。所以最后面试者提问环节就很重要了。