后端工程师学习路线

后端工程师的技能树庞大而分散。这篇文章不是列出”你要学的 100 个技术栈”,而是按职业阶段梳理每个阶段最该聚焦的三件事,以及对应的知识图谱导航。

一、第一阶段:能干活(0-2 年)

目标:独立完成业务需求,能用主流框架搭出能上线的服务。

优先级 技能 对应文章
1 Java 语言基础 + 集合框架 Java 核心, HashMap
2 Spring Boot + MyBatis Spring 源码, MyBatis
3 MySQL + Redis 基础 MySQL, Redis

这个阶段的标志:接到一个 CRUD 需求,能从 Controller 写到 DAO,知道什么时候加索引,会用 Redis 做简单缓存。不要求深入理解底层原理——先能干活,再求甚解。

常见误区:过早追求”源码级理解”而忽略了项目经验。框架源码应该在第二阶段有了足够的调试经验后再深入。

二、第二阶段:懂原理(2-4 年)

目标:能独立设计模块,定位线上故障,对性能有基本感觉。

优先级 技能 对应文章
1 JVM 内存模型 + GC 调优 JVM, GC
2 并发编程(JMM、AQS、线程池) Java 并发, AQS
3 分布式基础(CAP、一致性、RPC) 分布式理论, gRPC
4 MySQL 深度(索引、事务、锁) MySQL 深度

这个阶段的标志:能说清楚为什么这段代码在高并发下有问题,能从 GC 日志定位内存泄漏,能给出分库分表的初步方案。

三、第三阶段:会设计(4-6 年)

目标:能设计中等复杂度的系统,主导跨团队技术方案。

优先级 技能 对应文章
1 系统设计方法论 + 经典案例 系统设计 + 12篇案例
2 消息队列 + 缓存架构 MQ, 缓存策略
3 微服务(服务发现、网关、熔断) 微服务
4 领域驱动设计(DDD) DDD

这个阶段的标志:拿到一个模糊的需求能拆成可执行的方案,能画出清晰的架构图并说清楚 Trade-off。

四、第四阶段:看全局(6+ 年)

目标:能设计大规模分布式系统,对技术选型有独立判断。

优先级 技能 对应文章
1 大厂架构案例研究 Netflix, Spanner, WhatsApp
2 可观测性 + 性能优化 可观测性, 性能优化
3 基础设施(K8s、CI/CD) Kubernetes, CI/CD
4 跨领域(AI/算法/安全) 搜索, 安全

这个阶段的标志:能独立做出技术选型并承担后果,能从前人架构案例中抽象出通用模式,能把模糊的技术方向转化为团队的执行策略。

五、CS 基础——贯穿全阶段的底层能力

无论哪个阶段,计算机基础都是决定你”天花板”的变量:

基础 最低要求 进阶
数据结构 B+Tree、跳表、HashMap 原理 LSM-Tree、FST、一致性哈希
算法 滑动窗口、TopK、二分查找变体 Dijkstra、拓扑排序、外归并
网络 TCP 三次握手、HTTP 协议 epoll、QUIC、HTTP/3
操作系统 进程/线程、内存管理 CPU 缓存、IO 模型、文件系统
设计模式 单例、工厂、代理、策略、观察者 CQRS、事件溯源

CS 基础知识图谱 覆盖了全部内容。

六、面试准备

后端面试 FAQ 收录了 50+ 高频面试题,覆盖 Java 基础、集合、并发、JVM、Spring、MySQL、Redis、分布式等 8 大主题。

七、每个阶段的警示

阶段 最常犯的错误
0-2 年 过早深入框架源码而忽略业务能力,或者反过来只做业务不学原理
2-4 年 迷信某个中间件而对其他方案缺乏了解,或者过度优化不存在的性能瓶颈
4-6 年 为了用新技术而用新技术,引入不必要的复杂度
6+ 年 脱离一线编码,对具体实现细节失去判断力

系统设计不只是”知道用什么数据库”,而是理解在什么业务场景下做出什么取舍。记住一句话:没有最好的技术,只有最适合当前阶段的方案