个人软件工程、机器学习与系统设计方向的长期学习与面试笔记仓库。
目标:构建一套 持久化、严谨、相互关联 的知识体系,把碎片化的问题转化为结构化的、可追溯、可复用的知识。
内容覆盖:软件工程系统分析与设计 · 机器学习 · 深度学习 · 计算机视觉 · 分布式系统 · 数据库 · 并行计算 · 云计算安全 · Docker · 前沿部署 · LLM · Agent 开发 · 基础设施 · 408 考研。
本仓库不是「速查表」,而是一套面向 工程实践 + 学术严谨 + 面试纵深 三位一体的学习笔记。
每篇笔记遵循统一结构:
- 问题定义与边界:解决什么、不解决什么
- 直觉解释:先讲直觉,再上公式
- 形式化定义与推导:第一性原理,标明每一步的几何 / 统计 / 物理意义
- 算法流程:伪代码 + 复杂度分析
- 代码实现:从零实现(教学)+ 库 API 实现(工程)双版本
- 常见陷阱与调参经验:工程化视角
- 与其他方法的关系:横向对比表
- 面试速答:高频问题的一句话答案
- 综合面试题:由浅入深,含答题要点
- 参考与延伸:书籍、论文、跨文件链接
详细协作规范见 CLAUDE.md。
software-engineering/
├── CLAUDE.md # 协作规范与知识模式定义
├── README.md # 本文件
│
├── 软件工程系统分析与设计/ # ✅ 已建:设计原则 / GoF 模式 / 范式 / DFx
├── 机器学习/ # ✅ 已建:数学基础 + 监督6篇 + 无监督4篇
├── 深度学习/ # ✅ 已建:基础6章 + 工业化4章 (10章)
├── 计算机视觉/ # ⏳ 待建
│
├── 分布式系统/ # ✅ 已建:22章 + 6学术附录 + 10工业案例
├── 云计算安全/ # ✅ 已建:23章 + 五云对照 + 18工业案例
├── 数据库/ # ⏳ 待建
│ ├── KV数据库/
│ ├── 关系数据库/
│ ├── 向量数据库/
│ └── 图数据库/
│
├── 并行计算/ # ✅ 已建:10章 (OpenMP/MPI/CUDA/分布式DL)
├── Docker/ # ✅ 已建:26章 (含供应链安全/故障复盘)
├── 前沿部署/ # ✅ 已建:26章 (LLM服务化/Serverless边缘/渐进式交付/下一代基础设施/工业实战)
├── 408/ # ✅ 已建:4科全套 + 附录
├── 408-code/ # ✅ 已建:32模块 C++ 代码库 (含 mini-ISA)
│
├── LLM/ # ⏳ 待建
├── Agent开发/ # ⏳ 待建
└── infra开发/ # ⏳ 待建
- ✅ 已建:目录内有正式笔记
- ⏳ 待建:目录已占位,内容规划中
按 基础 → 原则 → 模式 → 范式 → DFx 递进,覆盖:
- 面向对象基础、SOLID / DRY / KISS / YAGNI 等类级与组件级原则
- GoF 23 种设计模式(创建 / 结构 / 行为)
- 分层、MVC、网络应用等参考范式
- DFx 质量属性设计(可靠性 DFR、性能 DFP)
按 数学基础 → 监督学习 → 无监督学习 → 深度学习 → 进阶专题 → 工程化 递进,已建:
- 数学基础:线性代数、概率与统计、微积分与优化(信息论待补)
- 监督学习:线性模型、决策树与集成、SVM、贝叶斯分类、KNN与距离度量、评估与调优(6 篇)
- 无监督学习:聚类、降维、关联规则、异常检测(4 篇)
按 基础 → 工业化 两阶段组织,已建 10 章:
- 基础 6 章:神经网络基础、CNN、RNN、Transformer 与注意力、生成模型、优化与正则化
- 工业化 4 章:分布式训练(DDP/FSDP/Megatron/3D 并行)、推理优化与部署(vLLM/量化/LoRA)、MLOps 与工程实践(MLflow/DVC/Feature Store)、工业案例与训练实战(GPT-3/LLaMA-2/AlphaFold 深度剖析)
规划:图像分类、目标检测、语义分割、视觉 Transformer、扩散模型应用。
4 层深度 (面试 / 原理 / 学术 / 工业) 共 22 章 + 5 元数据文件:
- 理论:时间与时钟、复制、一致性模型
- 共识:Paxos / Raft / ZAB / 拜占庭 / FLP 不可能定理
- 事务:2PC/3PC、Percolator、Spanner、TCC、Saga、Outbox
- 存储:GFS/HDFS、Dynamo、Bigtable/HBase、Spanner/NewSQL、Cassandra/Redis
- 消息队列:Kafka、RocketMQ、Pulsar(含工业实战对比)
- 治理:负载均衡、可观测性、Service Mesh
- 计算:MapReduce、Spark、Flink
- 6 个学术附录:FLP 证明、CAP 形式化、线性一致性、Byzantine 下界、故障检测器等价证明、快照与 CRDT 收敛
- 10 个工业案例:Google Spanner、AWS DynamoDB、Alibaba 双11、Netflix、Uber、Twitter、LinkedIn、TiDB、CockroachDB、Flink@Alibaba
| 子方向 | 规划主题 |
|---|---|
| KV 数据库 | Redis / LevelDB / RocksDB、LSM Tree、跳表 |
| 关系数据库 | MySQL / PostgreSQL、索引、事务、MVCC、执行计划 |
| 向量数据库 | FAISS / Milvus / pgvector、ANN、HNSW、IVF |
| 图数据库 | Neo4j / JanusGraph、Cypher、图模型与查询 |
10 章覆盖:
- 基础:并行体系结构、性能模型 (Amdahl/Gustafson)、并行算法设计模式
- 共享内存:OpenMP(pragma、调度)
- 消息传递:MPI(阻塞/非阻塞、集合通信)
- GPU:CUDA(线程层次、内存层次、流)
- 理论:同步与并发原语、内存模型与一致性
- 算法:并行数值线性代数、并行排序与选择、并行图算法
- 应用:通信与集体原语、分布式深度学习(DDP/参数服务器/AllReduce)
23 章 + 五云对照 (AWS / Azure / GCP / 阿里 / 华为):
- 责任模型与 IAM:共享责任、零信任、最小权限
- 网络与数据安全:VPC、安全组、加密、KMS、BYOK/HYOK/EKM
- 工作负载保护:容器、Serverless、VM 隔离、CSPM/CWPP/CNAPP
- DevSecOps:SBOM、SLSA、Sigstore、供应链安全
- 威胁检测:GuardDuty、MITRE ATT&CK 映射
- 合规:GDPR、PIPL、等保 2.0、HIPAA、SOX、FedRAMP、EU AI Act
- 18 个工业案例 + 50+ 面试题
26 章覆盖容器化全链路:
- 基础:镜像、容器、运行时、daemon
- Dockerfile:最佳实践、多阶段构建、生产模板
- 网络与存储:bridge/host/overlay、volumes/bind mounts/tmpfs
- 底层原理:namespaces、cgroups、UnionFS、OCI 规范
- 安全:隔离、seccomp、AppArmor、供应链安全
- 生产实践:CI/CD、Swarm、监控、日志、集群密度优化、镜像分发 CDN
- 大厂视角:阿里、字节、Netflix、Google 流水线
- 故障复盘 + 成本规划
26 章覆盖前沿部署全谱系,8 部分结构:
- 范式与原则 (Ch 01-02):部署演进、核心矛盾(延迟/吞吐/成本/可靠性/弹性)
- LLM 服务化 (Ch 03-09):vLLM/TGI/SGLang/TensorRT-LLM、KV Cache 与 PagedAttention、continuous batching、量化(FP8/INT8/INT4)、TP/PP/EP/PD 分离、多模态、Agent 沙箱
- Serverless/边缘 (Ch 10-13):Serverless GPU、冷启动优化、边缘 AI、端云协同
- 渐进式交付 (Ch 14-16):GitOps (ArgoCD/Flux)、Canary/Blue-Green/Shadow、特征开关与 A/B 实验
- 下一代基础设施 (Ch 17-20):MicroVM (Firecracker/gVisor/Kata)、WASM (WASI/Spin)、eBPF (Cilium/Tetragon)、Sidecarless Mesh (Istio Ambient/Cilium Mesh/Linkerd2)
- 多地域与可靠性 (Ch 21-22):多活 (LDC/Dorado/CRDT)、混沌工程 (ChaosMesh/Gremlin)
- 工业实战 (Ch 23-26):OpenAI/Anthropic/DeepSeek/阿里/字节部署案例、Character.AI/Midjourney/Suno/Cursor 平台架构、17 个故障复盘、成本与容量规划
- 13 节统一结构:思维导图 / 原理 / 代码 / 工业案例 / 故障复盘 / 面试
规划:预训练 / SFT / RLHF / DPO、上下文工程、RAG、长上下文、推理加速、Agent 协议。
规划:ReAct / Plan-and-Execute / Reflexion、工具调用、MCP、多 Agent 协作、评估。
规划:网关、服务网格、可观测性、CI/CD、IaC、容器与编排。
4 科全套深度笔记 + C++ 代码库:
- 数据结构:线性表、栈队列、树与二叉树、图、查找、排序、算法题专项
- 操作系统:进程线程、同步互斥、死锁、内存管理、文件管理、IO、PV 操作专项
- 计算机组成原理:性能指标、数据表示、存储层次、指令系统、CPU、总线、IO、综合计算(含 mini-ISA 汇编模拟器)
- 计算机网络:体系结构、物理层、链路层、网络层、传输层、应用层、协议栈综合
- 附录:高频公式速查、易混淆概念对照、十年真题考点分布、冲刺默写清单
- 408-code:32 模块 C++ 代码库,含统一测试框架,全部测试通过
┌─────────────────────────────────────┐
│ 基础理论层 │
│ 数学 / 408 / 算法与数据结构 │
└─────────────────┬───────────────────┘
│
┌─────────────────────────┼─────────────────────────┐
▼ ▼ ▼
┌─────────────────┐ ┌───────────────────┐ ┌───────────────────┐
│ 软件工程与设计 │ │ 机器学习 / 深度 │ │ 分布式系统 / │
│ 原则·模式·范式 │ │ 学习 / CV │ │ 并行计算 │
│ DFx 质量属性 │ │ 生成模型 / LLM │ │ 一致性 / 容错 │
└────────┬────────┘ └─────────┬─────────┘ └────────┬──────────┘
│ │ │
└────────────────────────┼────────────────────────┘
▼
┌─────────────────────────────────────┐
│ 存储与基础设施 │
│ 数据库(KV / 关系 / 向量 / 图) │
│ infra / 可观测性 / CI-CD │
└─────────────────┬───────────────────┘
▼
┌─────────────────────────────────────┐
│ 应用与智能体 │
│ LLM / Agent 开发 / RAG / MCP │
└─────────────────────────────────────┘
- 语言与框架:深度学习代码以 PyTorch 为主;经典 ML 以 scikit-learn 为主;后端示例以 Java + Go 双语言对照
-
数学符号:向量小写粗体
$\mathbf{x}$ ,矩阵大写$X$ ,概率$P(\cdot)$ ,期望$\mathbb{E}$ - 图示:优先 ASCII 图说明结构;复杂图示标注来源
- 公式:关键推导步骤必须标明几何 / 统计意义,不省略中间步骤
- 代码:从零实现版(教学用)+ 库 API 版(工程用)双版本
- 跨文件链接:相关概念使用相对路径链接,便于跳转
- 优先级:正确性 > 完整性 > 速度
# 克隆
git clone <repo-url>
cd software-engineering
# 浏览
# 1. 从本 README 出发,选择感兴趣模块
# 2. 进入模块目录,阅读该模块的 README.md 获取详细索引
# 3. 按推荐阅读顺序学习推荐阅读路径:
- 后端工程师:软件工程系统分析与设计 → 分布式系统 → 数据库 → infra开发
- 算法工程师:机器学习 → 深度学习 → 计算机视觉 → LLM
- 全栈 / AI 应用工程师:软件工程系统分析与设计 → LLM → Agent开发 → 数据库
各子模块的参考资源详见各自 README。顶层通用参考:
- 《计算机程序的构造和解释》(SICP)
- 《代码大全》—— Steve McConnell
- 《架构整洁之道》—— Robert C. Martin
- 《数据密集型应用系统设计》—— Martin Kleppmann
- 《Deep Learning》(花书)—— Goodfellow, Bengio, Courville
- 《Pattern Recognition and Machine Learning》—— Bishop
- 《The Elements of Statistical Learning》—— Hastie et al.
- 仓库初始化、根 README 落地
- 软件工程系统分析与设计(原则 / 模式 / 范式 / DFx)
- 机器学习 - 数学基础(线代 / 概统 / 微积分与优化)
- 机器学习 - 监督学习(线性模型 / 树与集成 / SVM / 贝叶斯 / KNN / 评估)
- 机器学习 - 无监督学习(聚类 / 降维 / 关联规则 / 异常检测)
- 深度学习 - 基础 6 章(NN / CNN / RNN / Transformer / 生成模型 / 优化正则化)
- 深度学习 - 工业化 4 章(分布式训练 / 推理优化 / MLOps / 工业案例)
- 分布式系统(22 章 + 6 学术附录 + 10 工业案例)
- 并行计算(10 章:OpenMP / MPI / CUDA / 分布式 DL)
- 云计算安全(23 章 + 五云对照 + 18 工业案例)
- Docker(26 章:含供应链安全 / 故障复盘 / 成本规划)
- 前沿部署(26 章:LLM 服务化 / Serverless 边缘 / 渐进式交付 / 下一代基础设施 / 多地域 / 工业实战 / 成本规划)
- 408 笔记全套(4 科深度扩充 + 附录)
- 408-code(32 模块 C++ 代码库 + mini-ISA 汇编模拟器)
- 机器学习 - 进阶专题(RL / GNN / 推荐 / 迁移 / 元 / 联邦)
- 机器学习 - 工程化(特征 / 部署 / 监控)
- 深度学习 - RLHF / DPO / RAG / Agent 工程化专章
- 计算机视觉(分类 / 检测 / 分割 / ViT / 扩散应用)
- 数据库(KV / 关系 / 向量 / 图)
- LLM(预训练 / SFT / RLHF / DPO / RAG / 长上下文 / 推理加速)
- Agent 开发(ReAct / MCP / 多 Agent 协作 / 评估)
- infra开发(网关 / 服务网格 / 可观测性 / CI/CD / IaC)
- 跨模块知识链接与索引自动化