Backend Engineering MOC
后端工程总入口,按计算机基础、语言运行时、Web/API、安全、数据、中间件、分布式、可靠性、可观测性、架构与生产工程组织系统学习路径。
#moc
#growing
#backend
[!info] related notes
Backend Engineering MOC
知识总览
filters:
and:
- 'file.ext == "md"'
- 'file.inFolder("z")'
- 'this.file.links.contains(file)'
- 'file.path != this.file.path'
formulas:
knowledge: 'file.asLink(title)'
properties:
formula.knowledge:
displayName: 知识
note.description:
displayName: Description
note.mastery:
displayName: Mastery
views:
- type: table
name: 知识总览
order:
- formula.knowledge
- note.description
- note.mastery
columnSize:
formula.knowledge: 280
note.description: 760
note.mastery: 56
[!abstract] 这张地图怎么用 后端工程不是“会框架和 CRUD”,而是在网络、操作系统与数据库之上,构建状态正确、并发可控、故障可恢复、行为可观察、能够持续交付的服务系统。
先沿主线建立依赖关系,再进入 Node.js、Go 或 Python 的具体实现;不要分别学习三套后端原理。
一张图看主干
OS / Network / Linux
↓
Language Runtime
↓
HTTP / API / Auth
↓
Database / Cache / Queue / Search / Object Storage
↓
Distributed Systems / Reliability
↓
Observability / Testing
↓
Architecture / Deployment / Operations
推荐学习顺序
1. 计算机系统地基
- 操作系统 MOC:进程、线程、调度、同步、虚拟内存、I/O、文件系统。
- 计算机网络 MOC:DNS、TCP、TLS、HTTP、连接与代理。
- Linux MOC:进程、文件、权限、网络、signal、systemd 与诊断工具。
学完应能从 OS / 网络 / 应用三层解释“请求为什么会慢、阻塞、超时或断开”。
2. 语言与运行时
- Node.js MOC:Application Backend、BFF、API 与实时通信。
- Go MOC:并发、网络服务、生命周期和基础设施。
- Python MOC:AI Service、Agent Runtime、数据与自动化。
[!tip] 分工原则 通用后端知识只学一次;语言路线只负责解释“这些原理在该运行时里如何实现”。
3. Web、API 与安全
先进入 应用通信架构 MOC,区分同步 API、RPC、实时流、异步事件、契约描述与 Agent 协议,再学习具体方案:
- 接口规范 → RESTful API → gRPC
- SSE、WebSocket 与轮询
- 稳定 API 错误模型、接口幂等设计
- API 认证与安全、Cookie、Session 与 Token、JWT、OAuth 2.0、RBAC
核心边界:
Authentication → 你是谁
Authorization → 你能做什么
Validation → 输入是否合法
Domain Rules → 当前业务状态是否允许
Audit → 谁在何时做过什么
4. 数据库与事务
进入 数据库 MOC,按以下主线学习:
Relational Model / SQL
→ Schema / Constraint
→ Page / B+Tree / Index
→ Query Plan / EXPLAIN
→ Transaction / ACID
→ Isolation / MVCC / Lock
→ WAL / Recovery
目标不是背术语,而是解释查询为什么慢、并发为什么冲突、崩溃后为什么还能恢复。
5. 常用中间件与数据基础设施
| 能力 | 重点组件 |
|---|---|
| 缓存与共享短期状态 | Redis |
| 可重放事件流 / CDC | Apache Kafka |
| 工作队列 / 路由 / DLQ | RabbitMQ |
| 流量入口 / TLS / 负载均衡 | Nginx MOC |
| 全文检索与聚合 | Elasticsearch |
| 协调、租约与选主 | etcd / ZooKeeper |
| 大对象存储 | MinIO |
先学它们解决什么问题,再学命令和客户端 API。
6. 分布式系统与异步一致性
核心问题:部分失败、复制、分片、一致性、顺序、重复、协调与跨系统事务。
7. 可靠性、可观测性与测试
Timeout
→ Retry + Backoff + Idempotency
→ Circuit Breaker / Bulkhead / Rate Limit
→ Fallback / Health Check / Graceful Shutdown
对应入口:
8. 架构与生产工程
完整闭环应是:
Design → Code → Test → Build → Deploy
→ Health Check → Observe → Rollback / Repair
面试最短主线
- TCP / DNS / HTTP / TLS;
- Node.js Event Loop 或 Go concurrency;
- B+Tree / 索引 / 事务 / MVCC / 锁;
- Redis 缓存一致性与高可用;
- Kafka / RabbitMQ 的消息模型与可靠性;
- 认证、权限、幂等和错误模型;
- timeout / retry / circuit breaker / graceful shutdown;
- 日志、指标、Trace 与分层排障;
- 把以上能力映射回 BodySense、MemoFlow 或其他项目。
题库入口:全栈与后端面试题库。
掌握标准
- 能画出一次请求从 DNS 到数据库返回的完整链路。
- 能说明业务事实、缓存副本、搜索索引和对象文件分别应放在哪里。
- 能推演“写成功但响应丢失”“消费成功但 ACK 丢失”等故障窗口。
- 能为远程调用设置 timeout、retry budget、幂等与降级策略。
- 能用日志、指标与 Trace 定位一个跨服务故障。
- 能解释为什么当前项目选择模块化单体或微服务,而不是只报架构名词。