技术总结
这里总结一下我的技术历程,主要分享我遇到的好书、好教程。
CSAPP
book:深入理解计算机系统(Computer Systems A Programmer’s Perspective)。
课程:CMU CS15213: CSAPP
课程内容覆盖了汇编语言、体系结构、操作系统、编译链接、并行、网络等,作为系统入门课,兼具深度和广度。
非常不错的系统入门课程,读完大黑书并且坐完相应实验,就能有一个非常不错的计算机基础。
缺点:广而杂的系统,跨度大,需要耐心,并且自己上网补充相应领域知识。如果在校学过(上过)体系结构、操作系统,这门课看下来会有一个好的认识(将计算机串起来,复习知识等),并且对国外课程有新的认识。
数据结构
邓俊辉 C++ 第三版 清华大学出版社
链接:https://dsa.cs.tsinghua.edu.cn/~deng/ds/dsacpp/index.htm
点评:适合上过一遍数据结构复习使用,不适合小白。有代码比较硬核,c++偏向与竞赛。总体我看下来觉得是不错的。
算法
leetcode、代码随想录
算法的学习我觉得是搭配数据结构一起,数据结构主要关心结构的实现,而算法更多利用现成的结构,主要关系结构的特性与使用。
算法就是多刷题,分类刷、多总结。
计算机网络
小林图解计算机网络。
关于计算机网络的学习,我的见解是不需要学太深(硬件层面,作为coder、互联网从业),更多关心软件实现。
汇编语言
王爽 第四版 清华大学出版社
评价:当之无愧我遇到的最适合入门的教材。绝对值得由浅入深这四个字,抛弃无用知识,循序渐进。
操作系统
首推 MIT6.S081 xv6操作系统,看完这门课以及xv6小型操作系统的源码就很足够了。
其次是南京大学蒋岩炎的操作系统课程,中文友好,缺点是比较硬核。
The Missing Semester of Your CS Education
计算机系统工作工具常识。十分推荐。
分布式系统
MIT6.824 非常不错的系统,尤其是lab。
数据库
CMU15445 比较硬核,实现一个数据库。如今数据库求职者人手一个。
深度学习
首推 Coursera吴恩达深度学习课程。个人跟着学完,通俗易懂,还有很好的lab实现。
其次就是李沐大神的动手学习深度学习。