前言
以下来自知乎,非站长意见
你的重心在哪
前端、后端、DevOps、 Android、React、DBA、Java、Go、Python、测试、AWS?
学习推荐官网(虽晦涩但全面)
学习路线如下
c++、java、python → 数据结构与算法 → 计算机组成原理 → 线性代数 → 概率论与数理统计 → 汇编语言 → 操作系统 → 计算机网络 → 数据库系统分概念 → 算法
附加:HTML、css、js、markdown、php、mysql
附加2:go、perl、vue、qt
附加数学:高等数学 → 线性代数 → 概率论与数理统计 → 离散数学
刷题 oj/面试题
LeetCode或牛客
解: 1、https://github.com/CyC2018/CS-Notes/blob/master/notes/Leetcode%20%E9%A2%98%E8%A7%A3%20-%20%E7%9B%AE%E5%BD%95.md
2、https://github.com/azl397985856/leetcode
3、https://leetcode-solution-leetcode-pp.gitbook.io/leetcode-solution/
书目
参考书籍推荐:《深入理解计算机系统》
应该好好学算法与数据结构,为什么?如果你不懂得如何使用栈、队列、树、图等常见数据结构,遇到有难度的问题时,你将束手无策。
参考书籍推荐:***《数据结构和算法分析》
应该好好学操作系统,为什么?你所写的代码,基本上都由操作系统来运行,因此你应当了解其运作的原理。
参考书籍推荐:《操作系统导论》
应该好好学计算机网络,为什么?互联网已然势不可挡:理解工作原理才能解锁全部潜力。
参考书籍推荐:《计算机网络:自顶向下方法》
应该好好学数据库,为什么?对于多数重要程序,数据是其核心,然而很少人理解数据库系统的工作原理。
参考书籍推荐:《数据库系统内幕》
应该好好学分布式系统,为什么?如今,多数系统都是分布式的。
参考书籍推荐:《数据密集型应用系统设计》
应该至少精通一门编程语言,为什么?精通一门编程语言是你学完基础后进行项目实践的基础,C++、JAVA等编程语言都博大精深,可以做很多种项目。



c/c++
《C程序设计语言》、《C与指针》、《C++ Primer》、《C++对象模型》、《Effective C++ 》
https://www.zhihu.com/question/23447320/answer/1685865607
系统级编程
《深入理解计算机系统》
《程序员自我修养》+ 《Unix环境编程》
数据结构与算法
《算法第四版》、《算法导论》、《剑指offer》
组成原理与体系结构
《计算机组成与设计:软硬件接口》、《编码》、《CSAPP》
操作系统
《现代操作系统》os 《操作系统真象还原》
计算机网络
计算机网络
编译原理
《自制脚本语言》
网站
markdown:https://blog.csdn.net/afei__/article/details/80717153
比赛
经典算法:ACM-ICPC、topcoder
1 ACM比赛
2 软考(计算机本科课程大多学过)
3 CCF
4 蓝桥杯
5 PAT(直接考甲级)
6 微软认证