在准备找工作开始到现在,下面列出的材料大概是在3个月时间内阅读、完成的(我是偏后台开发的):
《Effective C++》,看了之后绝对获益匪浅;
《C++ Primer》,其实我个人不觉得这本书有多么震撼(起码没有Effective C++给我的那种感觉),但是确实是对C++一些细节查漏补缺的好书;
《编程之美》、《剑指OFFER》、《编程珠玑》、《Cracking the Coding Interview》,其中《编程之美》和《Cracking the Coding Interview》看得差不多,《剑指OFFER》和《编程珠玑》大概看了一半。这四本书是准备面试(甚至一部分涉及写代码的笔试题)的非常好的材料,其实很多公司的题目都能在里面找到踪影,看了后要着重记住解题的思路;
leetcode,直接搜索,上面有非常多很赞的题目,既是基础,但是又是十分考验功底的题目,我到现在还十分后悔没有早一点开始刷这个oj,因此只能挑我觉得大部分公司着重考到的题目——所有和链表、树、数组有关的题目。我到目前也就做了50多题,很惭愧,如果全部做完,那么能力肯定会提升一个level(20151208注:目前已经做完150题了,算是暂时刷完这个OJ,还是那句,帮助很大……)。另外,leetcode里面的题目和《Cracking the Coding Interview》里面的风格比较类似,都是非常考验基本功的;
《UNIX环境高级编程》《UNIX网络编程-第2卷》,这两本书是我应聘所有与Linux或者后台相关岗位时觉得很有用的,两本合起来大概用了20天看完,而且《UNIX环境高级编程》的代码全部由手敲并运行过,而且写了一个小程序,里面运用了锁、多线程等技术点,可以对操作系统有个更好的理解,个人感觉是很值得的;
《构建高性能WEB站点》,其实这本书的用途没有想象那么大,当时是为了准备面试中可能碰到的系统设计题而看的,但是看了也很难回忆起比较深刻的东西,主要是没有接触过,理解起来也困难。不过面试过程中也基本没有到那么多,但是还是能作为开开眼界的一本书;
手写插入、冒泡、选择、快速、归并、堆排序,同时敲入了实际代码,其中快排和归并排序练习了几次,已经做到信手拈来,可惜面试中还没碰到直接写排序的,当然了各种排序算法的时空复杂度以及特点都是要理解好的;