有句话怎么说来着:只会写代码的是码农;学好数据库,基本能混口饭吃;在此基础上再学好**操作系统和计算机网络**,就能当一个不错的程序员。
如果能再把组成原理、数据结构/算法、编译原理学通透,再加上丰富的实践经验,就能算是一个优秀的程序员工程师了。
所以如果你想学好计算机基础,成为一名优秀的程序员,你至少还需要学:数据库、操作系统、计算机网络、组成原理、数据结构与算法、编译原理等知识。
下面按照这个顺序,依次给大家推荐一些比较经典的学习书籍和视频课程!
1、数据库
作为一个写代码的程序员,最终都是要处理数据,因此数据库算是必备的技能之一,如果是初学者的话,推荐《MySQL必知必会》这本书,更深入一点的话可以去看《MySQL技术内幕——InnoDB存储引擎》。这两本书的下载链接如下:
- 链接:https://pan.baidu.com/s/1tFQznVIb4-kMNZYC6dJqvg
- 提取码:rpob
2、操作系统
学习操作系统,推荐看《现代操作系统》这本书,国内很多高校的操作系统课都是采用的这根本书当教材,这本书最大的特点就是挑战了传统操作系统教材的权威,果断地删掉了和 “现代” 操作系统关系比较小的部分,真正把 “现代” 两个字体现得淋漓尽致。
- 链接:https://pan.baidu.com/s/1vfpKtxoihNm0XfwbEo4mqg
- 提取码:pkz3
此外,可以结合哈工大李治军老师的操作系统课程一起看:
B站连接:https://www.bilibili.com/video/BV1d4411v7u7
3、计算机网络原理
计算机网络和计算机操作系统这两个“兄弟”是所有开发岗位都需要的,不管你是 Java、C++还是测试。对于后端开发的同学来说,计算机网络的重要性不亚于语言基础,毕竟平时开发经常会和网络打交道,这里推荐《计算机网络自顶向下方法》这本书去学习!
- 链接:https://pan.baidu.com/s/1SBIBusXfsSo1rZMdcdXVTg
- 提取码:i6oh
4、组成原理
无论是处于哪个阶段的同学,都需要了结程序是什么、计算机的组成原理,推荐的书籍:《深入理解计算机系统》,学习这本书,你就会对计算机底层世界有一个宏观的认知,搞清楚计算机底层的工作原理,为什么它可以完成如此复杂的工作?为什么一个小小的cpu却又如此强大?最简单的“hello,word”程序是怎么运行的?当然,因为这本书包含很多概念,专业术语,读起来可能比较晦涩,大家也不必一口气读完,可以在学习整个计算机过程中慢慢去读,慢慢理解。
- 链接:https://pan.baidu.com/s/1RoDN317X-C6izxY6CwuxTA
- 提取码:iy8u
5、数据结构与算法
学会编程语言只能说明你会用这个语言,但是想要用这门语言去处理具体的事情,那就需要学好算法,因为不管你是Java编程爱好者、还是python的忠实粉丝,亦或觉得PHP才是这个世界最好的编程语言,都绕不过去算法这个门槛。企业招聘的时候也特别重视程序员的算法能力,这里推荐两本算法书供大家学习:《算法图解》与《算法导论》,第一本适合入门,第二本适合进阶深入学习。
下载链接:
- 链接:https://pan.baidu.com/s/1bDxJLci6kOy_iYsjcnHiWg
- 提取码:sxi5
6、编译原理
计算机是只认识二进制的,但是我们平常开发中根本不会使用二进制进行开发,我们使用的都是 Java、C 、python这类的高级语言,每种语言都会经过一系列的转换才能被计算机识别,那么计算机到底是怎么做这项工作呢?推荐看《Compilers: Principles, Techniques, and Tools》。也就是编译器的原则、技术和工具。中文版的名字就叫《编译原理》。
- 链接:https://pan.baidu.com/s/1Yum-wGoURvQ0w4vPLRPSVA
- 提取码:7a0m
希望以上内容对你有帮助!