Skip to content
Gains Summary
Main Navigation 首页 / Home
C++ 编程 / C++ Programming
系统与高性能 / Systems & Performance
Web 开发 / Web Development
人工智能 / Artificial Intelligence
工业软件 / Industrial Software
其他内容 / Other Topics
C++ 编程 / C++系统与性能 / SystemsWeb 开发 / Web人工智能 / AI工业软件 / Industrial

外观

Sidebar Navigation

← Web 开发 / Web Development

后端工程 / Backend Engineering

1. Backend 后端技术全景学习路线 / A Complete Backend Engineering Learning Path

2. 分布式系统——为什么单体时代过去了 / Distributed Systems Beyond the Monolith

3. 并发编程——为什么你的库存总是扣成负数 / Concurrency Control and Inventory Consistency

4. MySQL 优化——为什么你的查询总是那么慢 / MySQL Query and Storage Optimization

5. 架构模式——什么时候该用 CQRS / Architecture Patterns and When to Use CQRS

6. 系统设计——如何设计一个每秒 10 万订单的秒杀系统 / Designing a High-Throughput Flash-Sale System

7. 数据库工程化——在线表结构变更怎么不停服 / Database Engineering and Online Schema Changes

8. 可观测性——出了问题怎么快速定位 / Observability and Rapid Production Diagnosis

本页目录

Backend 后端技术全景学习路线 / A Complete Backend Engineering Learning Path ​

📅 创建时间:2026-05-08 🏷️ 标签:#Backend #后端 #面试 #八股 #技术路线 📚 前置知识:无 📚 相关知识:[[/03-web/06-databases-and-data-access/00-db-overview]] [[/03-web/06-databases-and-data-access/05-redis]] [[/03-web/06-databases-and-data-access/08-vector-database]]


文档目标 ​

本文档为后端技术面试和能力提升提供系统性的知识地图。与传统"知识点堆砌"不同,本文以真实业务场景驱动,通过问题推导原理,让你在理解"为什么"的基础上掌握"怎么用"。


场景驱动学习:一条主线贯穿全部章节 ​

┌─────────────────────────────────────────────────────────────┐
│                                                             │
│                 🔥 统一业务场景:秒杀系统 🔥                │
│                                                             │
│  凌晨 0 点,你负责的电商秒杀系统即将迎来 10 万 QPS 的洪峰。  │
│                                                             │
└─────────────────────────────────────────────────────────────┘

第1章 Redis      → 缓存层:热点数据如何缓存、分布式锁怎么用
第2章 Kafka      → 削峰:下单请求如何异步化、消息如何不丢失
第3章 MQ 对比    → 选型:为什么选 Kafka 而不是 RabbitMQ
第4章 分布式     → 一致性:库存超卖、分布式锁、TCC 事务
第5章 中间件     → 网关限流:流量涌来时如何保护系统
第6章 网络       → TCP 连接:10 万连接对服务器意味着什么
第7章 认证       → 幂等性:用户手抖多点了一次下单怎么办
第8章 并发       → 线程池:库存扣减如何并发安全
第9章 MySQL     → 乐观锁:扣库存的 SQL 怎么写才对
第10章 缓存策略  → 数据一致性:库存变了,缓存怎么处理
第11章 架构模式  → CQRS:读请求和写请求怎么分离
第12章 DevOps   → 限流熔断:秒杀期间系统如何保护自己
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

学完这 12 章后,你脑子里不再是一堆孤立的知识点,而是一套完整的系统——你知道每个技术为什么存在,它们如何协同工作,遇到问题时应该从哪里排查。


后端技术分层图谱 ​

┌─────────────────────────────────────────────────────────────┐
│                    后端技术分层                               │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  接入层                                                      │
│  ┌────────────┐  ┌────────────┐  ┌────────────┐          │
│  │  CDN      │  │  API 网关   │  │  负载均衡   │          │
│  │            │  │  (限流/鉴权) │  │  (Nginx)   │          │
│  └────────────┘  └────────────┘  └────────────┘          │
│                                                             │
│  业务层                                                      │
│  ┌────────────┐  ┌────────────┐  ┌────────────┐          │
│  │  应用服务   │  │  消息队列   │  │  缓存层     │          │
│  │  (线程池)  │  │  (Kafka)   │  │  (Redis)   │          │
│  └────────────┘  └────────────┘  └────────────┘          │
│                                                             │
│  数据层                                                      │
│  ┌────────────┐  ┌────────────┐  ┌────────────┐          │
│  │  关系型    │  │  向量存储   │  │  对象存储   │          │
│  │  (MySQL)  │  │  (pgvector)│  │  (S3)     │          │
│  └────────────┘  └────────────┘  └────────────┘          │
│                                                             │
│  基础设施层                                                 │
│  ┌────────────┐  ┌────────────┐  ┌────────────┐          │
│  │  容器/K8s  │  │  服务发现   │  │  链路追踪   │          │
│  │            │  │  (Nacos)   │  │ (SkyWalking)│          │
│  └────────────┘  └────────────┘  └────────────┘          │
│                                                             │
└─────────────────────────────────────────────────────────────┘
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

AI 辅助 vs 必须深入原理 ​

┌─────────────────────────────────────────────────────────────┐
│              每章的 AI 可查 vs 必须理解清单                   │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  可以高度依赖 AI 的(偏记忆/查表型):                      │
│  ✅ Redis 命令速查——AI 随时告诉你用什么命令               │
│  ✅ 框架 API 速查——Spring / Gin / FastAPI 参数            │
│  ✅ 代码模板生成——CRUD / 常见模式 AI 秒生成               │
│  ✅ 错误码/状态码——HTTP 状态码、gRPC 错误码              │
│  ✅ 配置参数含义——Nginx / Kafka / MySQL 配置项含义        │
│                                                             │
│  必须深入理解原理的(决定你能否解决实际问题的):            │
│  🔴 缓存穿透/击穿/雪崩——场景、原因、解决方案             │
│  🔴 分布式一致性——CAP/BASE/Raft/Paxos 的 trade-off        │
│  🔴 消息队列顺序性/幂等性——如何保证、何时会乱序          │
│  🔴 线程池原理——参数怎么调、何时会死锁                    │
│  🔴 MySQL 索引原理——B+ 树、慢查询分析、执行计划          │
│  🔴 TCP/UDP 区别——三次握手四次挥手、time_wait             │
│  🔴 认证鉴权原理——JWT/Session/Cookie/OAuth 的陷阱        │
│  🔴 熔断/限流原理——Sentinel/Hystrix 算法区别             │
│                                                             │
│  原则:能查到的不用背,理解不了的面试必挂。                 │
│                                                             │
└─────────────────────────────────────────────────────────────┘
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

学习路径与面试频率 ​

┌─────────────────────────────────────────────────────────────┐
│              面试频率 × 理解深度 矩阵                        │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│                    高面试频率                                │
│  ┌─────────────────────────────────────────────────────┐   │
│  │  Redis 三问(穿透/击穿/雪崩)         ⭐⭐⭐ 高理解   │   │
│  │  MySQL 索引 + 慢查询优化             ⭐⭐⭐ 高理解   │   │
│  │  分布式事务(2PC/TCC/Saga)          ⭐⭐⭐ 高理解   │   │
│  │  消息队列(顺序/幂等/丢失)           ⭐⭐⭐ 高理解   │   │
│  │  线程池 + 并发安全                    ⭐⭐⭐ 高理解   │   │
│  └─────────────────────────────────────────────────────┘   │
│                                                             │
│                    中面试频率                                │
│  ┌─────────────────────────────────────────────────────┐   │
│  │  分布式 ID 生成                ⭐⭐ 中理解            │   │
│  │  限流/熔断算法                ⭐⭐ 中理解            │   │
│  │  JWT + OAuth2                 ⭐⭐ 中理解            │   │
│  │  TCP/滑动窗口                  ⭐⭐ 中理解            │   │
│  └─────────────────────────────────────────────────────┘   │
│                                                             │
│                    低面试频率(但要会用)                    │
│  ┌─────────────────────────────────────────────────────┐   │
│  │  Docker/K8s 基础                ⭐  会部署即可        │   │
│  │  CQRS/ES 架构                   ⭐  理解概念即可      │   │
│  │  链路追踪                        ⭐  会用即可          │   │
│  └─────────────────────────────────────────────────────┘   │
│                                                             │
└─────────────────────────────────────────────────────────────┘
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

各章节详情 ​

章节主题核心场景
[[01-redis-deep]]Redis 深入秒杀系统被恶意刷接口导致数据库崩溃
[[Redis/00-redis-overview]]Redis 全景为什么需要缓存层,Redis 定位
[[Redis/01-redis-architecture]]Redis 架构分析线程模型、内存模型、持久化、集群
[[Redis/02-redis-data-structures]]Redis 数据结构场景何时用 String/Hash/List/Set/ZSet
[[Redis/03-redis-cache-patterns]]Redis 缓存三剑客穿透/击穿/雪崩 + 一致性策略
[[Redis/04-redis-distributed-locks]]Redis 分布式锁Redisson/RedLock/踩坑指南
[[Redis/05-redis-advanced-features]]Redis 高级特性Stream/PubSub/Module/LLM 应用
[[02-mq-kafka]]Kafka 核心秒杀订单如何异步处理、消息如何不丢
[[03-mq-others]]MQ 对比为什么选 Kafka 而不是 RabbitMQ
[[04-distributed-system]]分布式系统库存超卖、分布式锁失效、TCC 事务
[[05-middleware]]中间件流量洪峰下网关如何限流熔断
[[06-network]]网络基础10 万长连接导致服务器崩溃
[[07-auth-security]]认证鉴权重复下单、接口幂等性、JWT 安全
[[08-concurrency]]并发编程库存扣减的并发安全问题、线程池调参
[[09-mysql-optimization]]MySQL 优化慢查询、执行计划、索引失效
[[10-cache-strategy]]缓存策略缓存一致性:库存更新后缓存怎么处理
[[11-architecture-patterns]]架构模式CQRS/Saga/熔断降级
[[12-devops-basics]]DevOps 基础Docker/K8s/CI-CD/监控
[[13-system-design]]系统设计如何设计一个每秒 10 万订单的秒杀系统
[[14-es-elasticsearch]]搜索系统搜索"小米手机"却找不到"小米 13"
[[15-mq-advanced]]MQ 高级消息处理失败死循环、订单超时自动取消
[[16-api-design]]API 设计前端要的字段和接口返回的不一致
[[17-db-engineering]]数据库工程给 5000 万行表加字段如何不停服
[[18-observability]]可观测性用户说下单失败但不知道哪一步错了
[[19-security-hardening]]安全加固登录接口被 SQL 注入,账号泄露 100 万条

开始之前:为什么后端技术这么难? ​

因为后端不是学"一个技术",而是学一套系统。每个技术都不是孤立的:

Redis 挂了
  → 先查 Redis 的问题(穿透/击穿/雪崩)
  → 如果是流量问题,查 Kafka 削峰是否生效
  → 如果是数据库问题,查 MySQL 锁等待
  → 如果是线程问题,查线程池配置
  → 如果是网络问题,查 TCP 连接数

任何一个问题的排查,都需要理解多个技术的联动。
这就是为什么后端面试要考"系统设计"——因为真实问题从不会按知识点出牌。
1
2
3
4
5
6
7
8
9

学习状态:🟡 开始学习

最后更新于:

Pager
上一篇← Web 开发 / Web Development
下一篇2. 分布式系统——为什么单体时代过去了 / Distributed Systems Beyond the Monolith

持续记录,持续成长

Copyright © Tidenflow