Skip to content

30 天路线图 ​

目标不是"背完",是建立骨架 + 能讲清主干 + 接得住两层追问。 1 个月做不到精通,所以这里砍掉了冷门考点。想全面,看文末的延伸路线。

配合网站使用

路线图定的是学习顺序和每周目标;每天具体做什么看首页「今日计划」:先复习到期卡,再学下一篇。每篇读完勾验收清单,然后点顶部「练本篇」。

一、四阶段总览 ​

W1 操作系统 --+
              +-> 你知道了"程序跑起来时,机器在忙什么"
W2 计算机网络 -+
              +-> 你知道了"两台机器之间怎么说话"
W3 数据结构 --+
              +-> 你知道了"数据怎么摆放才不慢"
W4 数据库 ----+
              +-> 你知道了"数据怎么存下来还不乱"
                    v
              串联:一次请求把四块全串起来

四块不是并列的四门课,是同一个系统的四个视角:

  • 操作系统管「一台机器内部」
  • 网络管「机器与机器之间」
  • 数据结构管「数据在内存里怎么摆」
  • 数据库管「数据在磁盘上怎么存、怎么并发访问」

学每一块时都问一句:这块和上一块的接口在哪? 接口就是"连接"。

二、每周安排 ​

周次模块每日投入学几天复盘日
W1操作系统(5 篇 + 导读)1.5h6第 7 天
W2计算机网络(5 篇 + 导读)1.5h6第 14 天
W3数据结构与算法(5 篇 + 导读)1.5h6第 21 天
W4数据库(5 篇 + 导读)+ 串联 3 篇2h7第 28 天并入

每日固定三段,不要合并:

段时长做什么为什么
复习15min合上书回忆昨天那篇的主干,说不出来的地方再翻主动回忆比重读有效 3 倍
新学60min精读当天篇目,边读边在纸上画图画图会暴露"以为懂了"的地方
输出15min用自己的话写 3 句:它解决什么麻烦 / 怎么做的 / 不用会怎样写不出来 = 没懂

三、每周验收(可判定,不是"理解了") ​

W1 · 操作系统 ​

  • 能在纸上画出进程 5 状态转换图,每条箭头说出触发条件
  • 能说出虚拟内存解决的两个具体问题,各举一个不这么做会出的事故
  • 能解释 epoll 相比 select 强在哪,说出具体机制差异(不是"更高效"三个字)
  • 能说清一次系统调用里用户态和内核态各做了什么

W2 · 计算机网络 ​

  • 不看资料,口述"输入 URL 到收到响应"全链路,每层说出至少 1 个关键机制
  • 能解释三次握手为什么不是两次、四次挥手为什么不是三次
  • 能说清 TIME_WAIT 存在的两个理由
  • 能说清 HTTPS 相比 HTTP 多做了什么,证书在其中解决什么问题

W3 · 数据结构与算法 ​

  • 能说清每种结构"为什么存在",而不是背定义
  • 能手写二分查找且边界不出错(含 left<=right 与 left<right 两种写法)
  • 能手写快排并说清为什么最坏是 O(n²)、怎么避免
  • 能解释哈希表扩容为什么是 2 倍、为什么用 2 的幂做取模优化

W4 · 数据库 ​

  • 能说清为什么用 B+ 树而不是 B 树、不是红黑树、不是哈希
  • 能把 ACID 四个字母分别对应到具体实现机制(日志、锁、MVCC)
  • 能说清 MVCC 靠什么实现、解决了什么问题、undo log 在里面扮演什么角色
  • 能对着一条慢 SQL 说出排查顺序(不是背"加索引")

四、进度落后了怎么办 ​

按这个顺序砍,不要平均用力:

  1. 先砍导读篇(00-导读),它只是地图,跳过不影响主干。
  2. 再砍算法篇的代码细节,保留"为什么用这种结构"的判断。
  3. 绝对不砍:进程线程、TCP 连接、索引原理、事务隔离。这四块是追问重灾区。

时间只有半个月的话,就学这四篇,其余全部跳过。

五、30 天之后(第 2-3 个月延伸) ​

这一个月只是把骨架立起来。后面按这个顺序加肉:

第 2 个月 · 往深里挖

  • 语言层:内存模型、GC、并发原语(Java 的话就是 JMM / GC / synchronized / AQS)
  • 框架层:一个 Web 框架的启动流程与请求处理链路
  • 中间件:Redis(数据结构 + 持久化 + 缓存三问)、消息队列(为什么需要、怎么保证不丢)

第 3 个月 · 往实战转

  • 项目复盘:把做过的项目按"难点 - 方案 - 取舍 - 结果"重写成 3 个故事
  • 题量训练:算法保持每周 10 题,重点在"能讲清思路"而不是 AC
  • 模拟面试:找人或录音,重点练被追问时的反应,不是背答案

贯穿始终的一件事:每学一个新概念,回到 一张图串起全部:一次请求的完整旅程,看它挂在哪一层。挂不上去,说明还没真懂。

六、判断自己真懂了的三个信号 ​

  1. 能不用术语把它讲明白(用了术语只是把不懂转述了一遍)。
  2. 能说出不这么做会怎么坏(说不出坏处,说明只是记住了结论)。
  3. 能把它接到另一个模块上(接不上,说明是孤立记忆,两周就忘)。

三个都做到,这篇可以永久划掉。

✅ 验收清单 ​

  • 能说出四个模块各自管什么,以及它们之间的接口在哪(机器内部 / 机器之间 / 内存里 / 磁盘上)
  • 能说出每日三段各多久、各自的作用(为什么"复习"必须合上书)
  • 能说出"进度落后时先砍什么、绝对不砍什么",并解释为什么那四篇不能砍
  • 能说出判断"真懂了"的三个信号,并拿昨天学过的一个概念自测一遍
  • 合上书,用自己的话讲 3 分钟,中途不卡壳