四月的尾巴——关于我的春招
从上次ACM退役之后也不知过了多久。随着四月的结束,我的春招之路也总算到了头。
个人感觉我的春招也算起步较晚,大概是从2月20多才开始准备。在此之前我算是0计算机基础吧,因为打ACM各种课也是翘掉,考个及格就差不多。
大概说说我的学习路线吧,也算是给后来的跟我一样经历的人一个借鉴。
简单放个简历给大家作参考(涉及个人隐私的地方就没放了:
先从寒假说起吧~
寒假大概是在半摆半学。一个寒假就看完了一本《STL源码剖析》,并跟着这本书写了一个小型的C++98的tinySTL。(这本书个人非常推荐,里面的各种容器实现的思想,还有算法实现的思想,以及一些泛型的实现,以及一些有趣的概念如萃取等,都非常的有趣。
那个时候对于春招还没有那么有危机意识,没想到今年的春招那么难。更多的应该是缺少对于自己职业生涯的一个规划吧,重要的时间点还是需要好好地为之做准备的。
最开始应该是从《Crash Course Computer Science》(https://www.bilibili.com/video/BV1EW411u7th?spm_id_from=333.999.0.0)开始的,这其实算是一个科普,从01讲到了现代计算机体系。里面虽然讲了一些困扰我比较久的问题,但是却只是告诉你是这样的,细节可能会比较少。我看这门课只是先对整个计算机体系有一个模糊的框架,之后这门课确实讲得很有趣,培养了我的CS兴趣。
之后就是《深入理解计算机系统》(《CSAPP》)(这本书开始的我只是好好地读了,并没有跟进lab,这对于我来说似乎时间有点不大够)。虽然前面涉及底层汇编的章节有点枯燥,但是整体看下来,我也算是对我天天使用的计算机如何演变而来的,有了一个大概的框架,之后就是根据这个框架进行填充了。
此时我发现其实这个时候的简历有点单薄,除了奖项和一个STL以外啥都没有,而且看了CSAPP的最后几章让我产生了要做一个webserver的想法。于是这个时候就打算开始写一个webserver,并且与找工作同步进行。
但是非常意外的是,这样的只有一个STL和ACM铜的简历居然都能杀入文远知行这家公司的面试。
于是就决定先好好准备八股文,看看面经,之后将涉及到八股文弄懂。这点还挺重要的,我前期其实只是在背八股文,于是面试深入之后就会语塞,重要的还是要弄懂为什么是这样的。
这个阶段大概就是去看两本书:《计算机网络自顶向下方法》和《C++ Primer》
这两本书更多的是当字典去看,看到面经里不会的东西,就到这两本书里去查,之后吧更加深入的东西弄懂。
之后算是过五关斩六将,来到了最终面,但是非常不幸的是,面试的主管查看了我的简历发现过于单薄,于是就把offer降档为实习offer并提供转正机会,但是要我马上去实习。那我自然是不能答应,首先我对这家公司一点底都没有,而且照春招这个形势,我很有可能被优化,这样的话那我以后就会很难办,于是便将这个offer放置不管了。(文远啊文远,唉
此时我就专心学习webserver相关的知识,发现CSAPP的webserver太过于简单,一点有技术含量的东西都没有(可能是因为这本书是更偏向于体会思想而降低码的难度的)。于是上网搜索,发现了一本叫做《Linux高性能服务器编程》这本书,同时找到了github上一个较为完善的webserver项目,就开始研读这本书以及好好地读懂这个webserver的源码。
当完成这个项目的时候,这个时间就来到了三月上旬。我开始海投了,大概投了哪些上面的表格上都有了我也就不细说了。让我影响比较深的就是小红书了,前两面也算是过关斩将了,但是第三面相当于是闲聊,但是却给我挂了。
此后,就是经历了元戎启行的面试,这是一家我个人比较向往的公司,但是比较可惜没有把握住,同时也暴露出我的八股问题。也就是操作系统没有好好看。这次算是真的打击到我了,于是我决定好好研究linux系统到底是怎么工作的,找了本《Linux内核设计与实现》来看。
看完这本之后因为不熟悉MySQL的操作,于是就又看了一本《MySQL必知必会》,把基本的SQL操作学完之后就来到了四月份。
这个阶段其实大体上我的知识体系框架就差不多完善了,就差更多的面试来帮助我查漏补缺了。于是4月就开始各种投,但是4月其实算是春招的尾声,于是很多家简历都挂了。具体可以看上面的表格。
但是非常的幸运,最后能得到叠纸的赏识。感谢叠纸,希望我接下来能为叠纸出一份力。