加餐书单与持续学习路线
1. 课程推荐书单
Linux 与系统
| 层次 | 书籍 | 推荐用途 |
|---|---|---|
| Linux 入门 | 《鸟哥的 Linux 私房菜》 | 命令、系统管理、文件系统基础 |
| 计算机系统 | 《深入理解计算机系统》 | 程序、处理器、内存、I/O、并发 |
| Linux 编程 | 《Linux 程序设计》 | Linux 应用开发入门 |
| UNIX 编程 | 《UNIX 环境高级编程》 | 进程、线程、IPC、文件与高级 I/O |
| Linux 内核 | 《深入 Linux 内核架构》 | 调度、内存、文件系统、网络内核原理 |
| 性能工程 | 《性能之巅》 | 方法论、工具、动态追踪与实战 |
网络
| 层次 | 书籍 | 推荐用途 |
|---|---|---|
| 网络体系 | 《计算机网络》 | 分层模型与整体框架 |
| 协议 | 《TCP/IP 详解 卷 1:协议》 | ARP、ICMP、IP、TCP、UDP、DNS 等 |
| 抓包 | 《Wireshark 网络分析就这么简单》 | 图形化分析入门 |
| 抓包案例 | 《Wireshark 网络分析的艺术》 | 实际报文问题 |
| 网络编程 | 《UNIX 网络编程》 | Socket API 与高性能网络程序 |
版本可能更新,购买时优先选择可靠出版社和较新的勘误版本。内核书版本较老时,以原理为主,并结合当前内核文档和源码验证接口。
2. 评论区最有效的读书策略
热点评论一致反映:大部头从第一页顺序读,很容易放弃。
推荐“问题驱动 + 主题纵深”:
text
生产问题
→ 先读对应章节
→ 做最小实验
→ 写一页排障笔记
→ 回到原理书补上下文
→ 用面试问题复述例如遇到网络延迟:
- 读 TCP 延迟、拥塞、重传章节;
- 用 Wireshark 观察真实连接;
- 复现 Nagle + Delayed ACK;
- 写出证据链;
- 回答“为什么约 40ms”。
3. 12 周学习路线
第 1–2 周:方法与工具
- USE/RED;
- top、vmstat、pidstat、iostat、ss;
- 建立个人命令速查;
- 每天复述一个指标的真实含义。
第 3–4 周:CPU 与调度
- load、上下文切换、softirq、cgroup throttle;
- perf 与火焰图;
- 完成一个 CPU quota 实验。
第 5–6 周:内存
- RSS/PSS、Cache、回收、Swap、OOM;
- JVM/Go 运行时内存;
- 完成容器 OOM 实验。
第 7–8 周:I/O
- 文件系统、Page Cache、块层队列;
- iostat、pidstat、strace、biolatency;
- 完成日志或同步写实验。
第 9–10 周:网络
- TCP 状态、丢包、重传、MTU、conntrack;
- tcpdump/Wireshark;
- 完成网络故障注入实验。
第 11 周:容器与 Kubernetes
- cgroup v2;
- namespace、CNI、CSI;
- Pod/Node/Service 分层排障。
第 12 周:综合与面试
- 随机抽取 3 个故障演练;
- 每个案例用 STAR + 证据链讲 5 分钟;
- 制作一页指标地图;
- 复盘错误假设。
4. 每周复习模板
text
本周问题:
关键原理:
最容易误解的指标:
决定性命令/证据:
一个生产案例:
一个失败的排查方向:
一个面试题:
下周要验证的实验:5. 学习成果标准
真正掌握不是“看完”,而是能够:
- 不查资料画出主要数据路径;
- 给定现象写出分层排查树;
- 解释每条命令用于证明什么;
- 在实验中复现并修复;
- 说出方案的风险与副作用;
- 把案例讲成 5 分钟面试答案;
- 把证据转成监控和 SOP。