《程序员面试金典》---读书笔记
Why I read this book
今天上午和下午都在看论文,找写作灵感,要水一篇论文也是很难的,想不到什么创新点啊。
晚上不想继续看论文了,明天再看吧,就找了本电子书看看,考虑到自己之前实习面试的时候表现一般,不只是技能水平,而是应试技巧上。于是选择看这本书,感觉还是学到不少面试技巧,突然觉得自己之前实习面试的表现更low了。
What I learn from this book
这本书整体来说讲的内容可以分为三部分:面试前的准备,面试的技术准备,常见的面试题。
面试前的准备:
1. 简历的准备:最好压缩到1页纸,项目经历罗列2-4个重要的项目,但是每个项目都熟悉当中具体的细节(实习面试的时候被问起项目的实现细节,各种想不起来,感觉面试官都要怀疑我到底做没做过了T_T,校招的时候一定要把自己项目负责的部分认真的回想一遍各个细节以及当中遇到的坑)。对了,程序员制作简历时简历上最好不要放照片。因为之前咨询过在国外和国内已经工作的同学,都是建议不要放照片,除非你长得惊天地泣鬼神。
2. 刷题,复习基础知识,毕竟互联网公司招人有两点你随便满足一点就可以了:要么你是天才,要么你有扎实的专业基础。
3. 准备两个有分量,有技术难度的项目。好吧,这个是我自己加的,因为之前面试的时候总觉得自己做的项目没有什么技术难点值得说的(也可能是我自己觉得那点东西不值得说),毕竟做的技术抽象出来,要么书上有,要么谷歌上有。
面试的技术准备:
1. 自我练习:
a)独立解题,不看答案,同时注意时间。
b)在纸上编写算法代码。
2. 解决技术面试题的五步法:
a) 向面试官提问,以消除疑义。(这步很重要,因为面试官给问题的时候都是很简洁的,但是解法需要问题的对应情景等一系列信息,所以有必要问清楚问题)。
b) 设计一种算法。
c) 写伪代码。
d) 写具体代码。
e) 测试所写代码。(之前太年轻,经常不测试就说已经写好了T_T)
常见的面试题:
这个没什么好说的,自己看书吧,感觉这本书给的常见面试题并不难,可能是因为这些面试题太常见了,我们经常在博客或者知乎上看过的问题。
How I learn this book
这本书是本好书,校招之前有必要细读一遍,并把书上的笔试题都做一遍,粗看了一下,不难,感觉很快就能做完。
之前在知乎上看到有人吐槽现在的互联网公司的面试方法太不合理了,有些人什么都不会,就只知道刷题,还能进好公司。
其实,这并不对,一次正常的互联网公司的面试会考察三点:
1. 项目经历(一般面试官会挑一个自己感兴趣的或者是让你挑自己觉得有技术含量的项目问)
2. 计算机基础知识(这个非常广泛,C++,计算机网络(TCP/IP),OS,DSA)
3. Coding(个人感觉这是这三点当中最重要的,哪怕你前面两点都没表现好,只要你能在这一环节中表现你扎实的编程基础和严密的思维逻辑,你也很有机会过这一轮面试)
其实,看这一类书有一个更重要的原因是在面试中更好地表现自己,我也见过有些师兄明明水平很高,但是就是在面试的过程中不懂的表达自己,导致最后拿到的offer明显低于自身水平。所以,懂得表达自己,懂得表现自己非常重要。
另外,平时还是要多编码,多做项目,增强自己的硬实力才是王道。毕竟, 80%的offer掌握在20%的求职者手中,但求自己是那20%