理论知识可以说是计算机科学这门学科最精华的知识了,而且越底层的东西,越不容易变化,认真学习,理解其背后的逻辑和思维方式,会让你受益匪浅。不管是未来你是要学习新技能,解决疑难问题,阅读别人的源代码,都能在这些知识中获得灵感或者启发。学好基础知识,可能要花上5、10年甚至更久,但它是成为一名高手的必经之路,可以让你后续学习事倍功半。
学习方式分为被动学习和主动学习。
被动学习:如听讲、阅读、视听、演示,学习内容的平均留存率为 5%、10%、20% 和 30%。
主动学习:如通过讨论、实践、教授给他人,会将原来被动学习的内容留存率从 5% 提升到 50%、75% 和 90%。
学习不是努力读更多的书,盲目追求阅读的速度和数量,这会让人产生低层次的勤奋和成长的感觉,这只是在使蛮力。要思辨,要践行,要总结和归纳,否则,你只是在机械地重复某件事,而不会有质的成长的。
学习时一定要使用知识图,学习并不是为了要记忆那些知识点,而是为了要找到一个知识的地图,你在这个地图上能通过关键路径找到你想要的答案。
学习有三个步骤。
- 知识采集。信息源是非常重要的,获取信息源头、理解表面信息的内在本质、多方数据印证,是这个步骤的关键。
- 知识缝合。所谓缝合就是把信息组织起来,成为结构体的知识。这里,连接记忆,逻辑推理,知识梳理是很重要的三部分。
- 技能转换。通过举一反三、实践和练习,以及传授教导,把知识转化成自己的技能。这种技能可以让你进入更高的阶层。
最后我列出成为一名高手需要系统学习的知识点。
基础:
- 《计算机的构造和解释》 经典中的经典,必读。
- 计算机组成与设计
- 《深入理解计算机系统》
- 《Unix 高级环境编程》
- 《Unix 编程艺术》
- 《Unix 网络编程》 第 1 卷 套接口 API 、第 2 卷 进程间通信 ---- 经典必读,介绍了五种 I/O 模型。1.阻塞 I/O 2.非阻塞 I/O 3.I/O 的多路复用(select 和 poll)4.信号驱动的 I/O(SIGIO)5.异步 I/O(POSIX 的 aio_functions)
- 《TCP/IP 详解 卷 I 协议》
- 《TCP/IP 网络编程》
- 《Wireshark 数据包分析实战》
- 《图解 TCP/IP》,这本书其实并不是只讲了 TCP/IP,应该是叫《计算机网络》才对,主要是给想快速入门的人看的。
- Linux 系统编程 也值得一读,虽然和《Unix 高级环境编程》很像,不过其主要突出的是 Linux 的一些关键技术和相关的系统调用。
- Linux教程 -----选学
- 《鸟哥的 Linux 私房菜》-----选学
- HTTP文档
- 关于字符编码,你所需要知道的
- Git图文教程及详解
- 《现代操作系统》
- 《计算机网络》
- 《编译原理》
- 《深入理解计算机系统》
- 《TCP 的那些事儿(上)》和《TCP 的那些事儿(下)》
- 《HTTP 权威指南 》---- 选读
- 阅读Linux源代码
算法
设计模式
- Head First 设计模式(中文版)
- 《设计模式:可复用面向对象软件的基础》 这本书是面向对象设计的经典书籍。
- 《重构》 代码坏味道和相应代码的最佳实践。
- 《领域驱动设计》
编码
- 《代码大全》 虽然这本书有点过时了,而且厚到可以垫显示器,但是这绝对是一本经典的书。
- 程序员修练之道》 这本书也是相当经典,我觉得就是你的指路明灯。
- 《人月神话》 这本书可能也有点过时了。但还是经典书。
- 《代码整洁之道》 细节之处的效率,完美和简单。
- 《C 程序设计语言》
- 《C 语言程序设计现代方法》
- 《C 陷阱与缺陷》
- 《C++ Primer 中文版》
- 《深度探索 C++ 对象模型 》
- 《Effective C++》/《More Effective C++》 C++ 中两本经典得不能再经典的书。也许你觉得 C++ 复杂,但这两本书中带来对代码稳定性的探索方式让人受益,因为这种思维方式同样可以用在其它地方。
- 《Effective Java》也是一本经典书。
- 《Java 核心技术(卷 1)》 Java 的入门参考书
- 《Java 编程思想》
- 《Java 性能权威指南》
- 《深入理解 Java 虚拟机》
- 《垃圾回收算法手册》 翻译得很一般,有人说翻译得很烂
- 《Java 并发编程实战》
前端:
- React 官方教程
- HTML 5 权威指南 ,本书面向初学者和中等水平 Web 开发人员
- HTML 5 Canvas 核心技术 ,如果你要做 HTML 5 游戏的话,这本书必读。
- ECMAScript 6 入门
- 《浏览器的渲染原理简介》
- 《高性能网站建设指南:前端工程师技能精髓》
- 前端权威性能指南(中文版)
- 《JS 函数式编程指南中文版》
- Awesome React ,这是一些 React 相关资源的列表,很大很全。
- Vue 官方文档(中文版)
- Awesome Vue ,Vue.js 里最为巨大最为优秀的资源列表。
其他
- 《高效能程序员的修炼》
- 《软件随想录》
- 《分析模式》
- 《领域特定语言》
- 《技术领导之路》
- 《卓有成效的管理者》