学习路径
这六条路线从 14 个课程卷中选择与目标直接相关的章节。你不需要先读完整站。先检查前置知识,再按阶段完成一个可验证的产出;缺少某项基础时,回到对应卷补课。
下列时长都是规划估计,不是完成承诺。已有经验、每周投入和练习深度都会改变实际进度。机器可读版本见 learning-paths.json。
| 路线 | 适合谁 | 估计范围 | 最终产出 |
|---|---|---|---|
| 从零到第一份工作 | 大学新生、自学或转专业入门者 | 6–12 个月 | 一个带数据库、HTTP API、测试和部署说明的小项目 |
| 后端工程师 | 初级后端或想补系统基础的应用开发者 | 3–6 个月 | 一份可评审的后端服务设计与实现 |
| 数据与 AI 工程师 | 数据分析、数据工程或准备转 ML/AI 的读者 | 4–8 个月 | 从数据处理到模型评估和服务说明的项目 |
| 系统程序员 | 想转基础设施、数据库、编译器或运行时的开发者 | 6–10 个月 | 一个小型解释器、网络服务或存储组件 |
| 软件架构师 | 高级工程师和技术负责人 | 持续 | 一份包含取舍和演进计划的架构决策记录 |
| CS 面试复习 | 校招、转岗或限时复习者 | 1–3 个月 | 按题型复盘、模拟设计和错题知识图谱 |
路线 1:从零到第一份工作
目标: 能独立完成基础开发任务,理解常见工具链,并知道遇到问题时该从哪一层排查。
阶段 1:开发工具
- 第零卷:开发者工坊
- 重点:终端、Git、IDE 调试、包管理、构建和 Docker。
- 检查点:能够克隆项目、安装依赖、运行测试、设置断点并解释一次提交包含什么。
阶段 2:编程基础
阶段 3:数据结构与系统基础
阶段 4:网络基础
阶段 5:数据库基础
- SQL
- ER 图与规范化
- B+ 树与存储引擎
- 事务与 ACID
- MVCC 与隔离级别
- 检查点:设计一组表,写出查询和更新,并解释索引、事务和隔离级别分别解决什么问题。
阶段 6:后端项目
路线 2:后端工程师
前置: 能独立编写一个小型服务,理解集合、异常、I/O 和基础 SQL。
- 网络与 API: 计算机网络全卷,配合 API 设计。
- 数据层: 数据库与数据系统;重点检查查询计划、事务、隔离、缓存和消息的适用边界。
- 工程质量: 测试策略和 CI/CD 与 DevOps。
- 分布式服务: 分布式系统;先学 RPC、共识和存储,再进入 SRE、IaC、Kubernetes 和可观测性。
结业产出是一份可评审的服务设计:包含数据模型、事务边界、缓存或异步任务、故障处理、可观测性和发布流程。
路线 3:数据与 AI 工程师
前置: 能使用一种编程语言处理文件和集合,具备基础代数与概率知识。
数据与查询准备
Vol 5 ch05–ch08 讨论 LSM-Tree、列存、哈希索引、外部排序和查询优化,不应当作分布式处理或流处理课程。分布式批处理与流处理应从 Vol 12 ch09 进入。
数学和机器学习
结业产出应覆盖数据清洗、特征处理、训练与评估,并写清模型服务方式、数据边界和已知风险。
路线 4:系统程序员
前置: 熟悉一种系统语言或愿意补 C,能读基本数据结构和网络代码。
结业时实现一个小型解释器、网络服务或存储组件,并用基准、分析器或系统指标解释性能结果。
路线 5:软件架构师
前置: 有持续交付和维护生产系统的经验。本站可以补知识,不替代真实项目中的需求澄清、故障复盘和跨团队决策。
- 架构基础: 软件工程与设计模式和 DDD。
- 分布式与一致性: 分布式系统和 数据一致性。
- 安全与治理: 安全与加密和 数据治理。
- 可观测性: 可观测性基础与可观测性深入。Vol 7 ch07 是 Docker 与 Kubernetes,不是可观测性章节。
每次选一个真实系统,产出架构决策记录:需求边界、候选方案、关键取舍、数据一致性、安全、可观测性、迁移步骤和回滚条件。
路线 6:CS 面试复习
目标: 在有限时间内按知识缺口复习,不用题量替代理解。
算法
系统、网络和数据库
- 系统:数据编码、CPU、内存、进程线程,以及缓存体系。ch06 是虚拟内存,不是缓存章节。
- 网络:分层模型、TCP、HTTP、DNS/CDN/负载均衡。
- 数据库:SQL、规范化、B+ 树、事务、隔离级别。
系统设计和语言
结业产出是按主题整理的错题与知识图谱,加上数次限时编码和系统设计模拟复盘。数量由目标岗位和当前缺口决定。
专业读者速查
| 主题 | 精确入口 |
|---|---|
| HTTP 请求路径 | 网络分层 · TCP · HTTP |
| TLS | HTTPS 与 TLS |
| DNS、CDN、负载均衡 | Vol 4 ch07 |
| CPU 缓存与内存层次 | Vol 3 ch05 |
| 虚拟内存 | Vol 3 ch06 |
| 查询优化器 | Vol 5 ch08 |
| 事务与隔离 | 事务 · MVCC 与隔离级别 |
| Raft | Vol 7 ch03 |
| 可观测性 | 基础 · 深入 |
| API 设计与 DDD | API 设计 · DDD |
| 模型评估 | Vol 13 ch08 |
跨语言阅读
多数应用层章节以 Java 为主,并提供 Python 或 C/C++ 对比;计算机系统章节以 C/C++ 更合适,数据与 AI 章节常用 Python。先抓住数据模型、状态变化和复杂度,再处理语法差异。看到语言对比窗口时,只核对当前概念的差异,不必同时完成三份实现。
关于机器可读路径
learning-paths.json 为每条路线提供稳定 ID、受众、学习产出、阶段、时长估计、章节引用和结业评估。npm run validate:docs 会检查引用是否存在,但不会判断路线是否适合某个具体读者,也不会验证文章中的技术结论。