数据库
数据库是后端必考核心。本分类以 PostgreSQL 为主线(校招趋势正在从 MySQL 转向 PG),覆盖原理到工程,末尾给出 PG vs MySQL 横向对比。
分类地图
| 部分 | 页面 | 考频 |
|---|---|---|
| 核心机制 | 架构、存储模型、WAL、MVCC、事务隔离、Vacuum、索引、查询优化 | 必考 |
| 高可用与扩展 | 复制与高可用、分区与扩展生态 | 高频 |
| 通用工程 | 分库分表、分布式事务(与具体数据库无关) | 高频 |
| 收尾 | PostgreSQL vs MySQL 横向对比 | 必考(选型题) |
面试主线
- 原理题:MVCC(xmin/xmax vs undo log)、隔离级别(PG 默认 RC、SSI)、WAL 与崩溃恢复、索引体系(B-tree/GiST/GIN/BRIN)
- 工程题:Vacuum 与表膨胀、Patroni 高可用、缓存一致性、分库分表
- 对比题:PG vs MySQL 六大差异(存储模型、MVCC、隔离级别、日志、索引、生态)
高频考点速查
- 索引:B+ 树结构、最左前缀、覆盖索引、EXPLAIN 怎么看
- 事务:四种隔离级别、幻读、MVCC 可见性、死锁
- 高可用:流复制(同步/异步)、逻辑复制、Patroni 选举
- 扩展:TOAST、声明式分区、pgvector、FDW
面试追问
- 数据库最常问什么? 索引(B+ 树/最左前缀)和事务(隔离级别/MVCC)。两个方向各占半壁江山
- 为什么 PG 主线? 校招趋势:PG 的 MVCC、索引体系、扩展生态是考察重点,且对比 MySQL 是经典选型题
- MVCC 和隔离级别怎么串? 先讲版本链(xmin/xmax),再讲快照语义(RC/RR),再讲 SSI。一条线
- WAL 和 binlog 的区别? PG 一套 WAL 搞定持久化+复制,MySQL 三套日志。对比是加分项
- 缓存一致性算数据库题吗? 算,高频。Cache Aside + 延迟双删 + Canal(见 Redis 分类缓存一致性篇)