0、基础数学
离散数学,概率论与随机过程,矩阵,组合数学,图论什么的虽然以前都学过,这个一定得找时间看看,不为其他,只为数学 ;-)。
1、体系结构也操作系统
《深入理解计算机系统》:这本书之前完整地上过 CS61 的课程,所以基本上大致内容都了解,不过还应该多看看。
《UNIX 环境高级编程》:也完整地看过,但还需要温习一遍。
2、网络编程
《UNIX 网络编程》:卷1前面几张看得很详细,后面感觉大部分都在讲 API 的使用,所以只当参考书吧,卷2需要再看看,免得到时候忘了。
《TCP/IP 详解》:时间不够,只看与 TCP/UDP 相关的内容。
《自顶向下方法—计算机网络》:也是重点复习 TCP 基本原理的内容。
3、设计模式和语言
《设计模式》:上半年基本上看完整了 23 中设计模式,自己还动手实现了一些比较常用的,没事也应该多看看。
C/C++:平时自己用的最多的语言,《Effective C++》,《More Effective C++》,《Effective STL》等都看了,自我感觉良好(当然不排除别人觉得我 C++ 弱),不过不能放松,多看看 C++11 的东西,《C++ Concurrency in Action》找工作前一定要看完。
Java:最近半年来实验室项目一直在用,好想好想找本 Java 虚拟机的书来看看,但是时间不够用了,唉,Java 并发是需要看的。
Python:自己比较喜欢的一门语言,没事多看看文档就好,还有这个网站应该常去看看:http://pymotw.com/2/
Lua:自己喜欢的另一门语言,小巧可爱,也是多看看文档,没事去 www.lua.org 上溜达一下。
Bash:这个嘛,随时都会用到。。。
4、数据库
之前完整地过看 leveldb 和 memcached 的源码,还需要再看一篇,毕竟也有半年没有看了;MySQL 的体系结构也应该温习一下,另外 HBase 也用的比较多,《HBase: The Definitive Guide》还需要温习一下。
5、各种工具
5.1 工具链 GCC,Binutils,LLVM/Clang;多看看 GCC 的文档,之前看得太少了,应该主动去看,而不是遇到问题了再去查。LLVM/Clang 堪称神奇,之前有那么一段时间想用 LLVM 做出一个玩具出来,后来也不了了之,还是那句话,没事主动看看人家的文档。
5.2 GDB 调试工具,这么多年以来用的最多的工具啦,不过除了一些常见的命令可以熟练使用外,其他的也不记得了,不好不好。
5.3 性能分析与 Bug 工具 这个嘛,Valgrind,SystemTap,Gperftools 都不错的,用过,但是。。。没有机会在大程序下用。。。
5.4 其他与系统性能相关的工具,这个好多,就不一一列出来了。
6、各种算法
这里说的算法不仅仅包括一般算法课本上面的贪心、分治,动态规划,还有其他的课外的一些有意思好玩的算法,一定要多多积累,持续学习!!!
7、其他
其他的呢。。。我也暂时还没有想好,不管怎么说,感觉上面的东西就够我忙的了,再看吧。。。保持学习的热情才是最重要的,慢慢积累总有效果,不断提醒自己,努力做一个终生学习者。