相关资讯
程序员面试宝典:别让自己输在这些上面!
2019-05-10 作者:湖南硅谷来源:未知 点击:
硅谷君最近听说,咱们学院又有一批硅谷学子要毕业走出校园的大门了。那么在即将面对未来的新生活之前,你们都找到自己心仪的工作了吗?
无论是准程序员还是对工作正处在观望期的同学们,在正式踏入IT这个行业之前,你们都将经历一项对自我人生非常决策性的考验,这就是面试!
面试是每个普通程序员面前的一座大山,给了大家无尽的苦恼和困惑。程序员面试很难吗?难!正常的,要经过两轮技术面试以及一轮经理面试,也有不少顶尖公司甚至需要三到五轮的技术面试。几轮面试下来,能熬到最后,这绝对是真正意义上的“过五关斩六将”了。所以,每一个面试成功者,都算是勇士。要给自己点个赞!
面试时,我们需要注意什么呢?今天,硅谷君就教给同学们几个面试成功的小技巧。
1、首先,要确保你理解了面试官的问题。
许多问题都是故意措辞模糊或者模棱两可,这个时候你可以请面试官把问题说清楚,从而确保你真正回答面试官的问题。你的提问同时还有一个好处,就是它能给你自己一些时间,让你的脑子转起来。
2、用一到两个例子来确定问题的限制条件和要求(在现场面试时在白板上完成这个过程,在电话面试时在笔记本上完成)。
尝试用中等规模的例子,以便覆盖到一些特殊情况。如果你能想到可能相关的表格,就把它画出来。事实上,把你想到的任何东西都写下来是会有帮助的,因为它能为你提供一个视觉锚点,从而让你在走不通时或者思考过程中随时返回某一个点。
3、把话说清楚,这可能是最重要的一步。
要试着让面试尽可能有更多的互动,面试官不知道你在想什么,而让他们参与到你的思考过程里,会让她给你一些有用的提示,防止你偏向错误的方向。你的目标就是要先和面试官确证你的答案,然后再去写代码,而且你考虑答案越清晰、越高效,你得到的即时反馈也就越好。
4、通过应用以下技巧来找到答案:
回想一下你遇到的类似问题,再想想它们是如何被解决的,尝试各种不同的算法(分治算法、贪心算法、递归、排序,等等),把问题分解成更小的、可处理的小问题(这样你就能得到相应部分的分数),最后再通览一遍你列出的数据结构,因为有时候,只要想到了正确的数据结构,就能给出正确的答案。
5、当你向面试官问清楚了问题、并向她解释了你的答案之后,就可以开始写代码了。
在共享文档里写代码的时候,你可以复制粘贴、写评论,而且能回过头来完成骨架算法和功能。但在白板上写代码就不一样了,它需要你的头脑很清醒,而且需要你具备管理白板空间的技能。
而且你要确保在你写答案的时候,没有挡住面试官的视线。花点儿时间把代码写得紧凑而美观一点儿,因为你的代码也会是面试反馈的一部分。在你写代码的时候,要大声解释你在写什么,这会让你的面试官更容易地跟上你的思路。
6、最后,用不同的例子和特殊案例验证一下你的代码,并且要一行一行地过。
这会展示你的思考过程,让你检查出小错误,并告诉面试官你的办法是可行的。如果你想得到额外加分的话,甚至可以把单元测试的代码写下来!最后再和面试官聊一下你的答案在空间和时间利用方面的复杂性,然后结束整场面试。
7、给面试者的提醒:有一种能力叫面试能力。
其实面试考的是一种相对单独的能力,它叫做面试能力。它以你平时的技术积累为基础,但平时的基础不会是全部。面试能力的提高必须通过面试本身去锻炼。
不要患得患失,要相信该是你的跑不掉。要用积极的心态面对面试,你把面试当做是技术交流的机会。可不是嘛,一个技术比你好的人近距离耐心地和你交流半小时到一小时,还是免费的,这机会难道不应该好好珍惜吗?
以上就是有关程序员面试的那些事。面试的能力不容忽视,但这些需要平时的实力做基础,也需要通过面试本身去锻炼,有时候也是急不得的。要不断打磨,才能越来越好。所以,硅谷学子们,坚持住,就一定会去到你想去的地方!