先语言和运行时,再框架
选J01–J04 先讲集合、并发、JVM、网络
没选从 Spring 开始
关键约束:框架里的问题最后都落到线程、内存和 IO 上;24 份招聘要 Java 基础,排第一。
学习路线 · v1 · 2026-11-08 · 对照 25 份招聘要求
从高级工程师到架构师,把 Java 后端系统地走一遍。按招聘里真正要的排轻重,按依赖排先后;用一个交易靶场贯穿,每一站往里埋雷、再亲手排掉。
输入关键词,看它在哪一站、有没有现成的页,还是不在这张图上。
每级写的是招聘里这一层通常要求什么、学完能做到什么、怎么算过关。年限只能靠时间攒,地图管的是能力和能拿给别人看的作品。
独立负责一个模块:Java、并发、JVM、Spring、MySQL、Redis、MQ 都懂原理、会调优、能排查。
招聘里:多为“3 年以上”,美团、阿里的高级岗大多是这一层。
过关 靶场单体扛住你埋的每一个雷:超卖、Full GC、慢 SQL、热 key、消息积压,都能用工具定位并修好。
负责一组分布式服务的一致性、稳定性和容量:拆服务、分库分表、限流降级、压测、监控、上 K8s。
招聘里:多为“5 年以上”,SHEIN、吉利、得物、霸王茶姬的资深岗。
过关 抢券压测和容量报告;订单表不停机分表迁移;只看监控定位故障并写出复盘。
从业务问题出发做选型和演进决策,写方案、过评审、带团队,并说清被放弃的方案输在哪。
招聘里:8–10 年以上、3–5 年架构经验,常要求带过团队(远程搜索架构师、游昆、信安力联、霸王茶姬)。
过关 用 DDD 重划靶场边界,交技术方案和 ADR;能接住 30 分钟的架构追问。
2025 年 7 月到 2026 年 11 月的高级、资深 Java 后端和 Java 架构师岗位:大厂 17 份(美团 6、阿里 4、得物 2,腾讯、字节、蚂蚁、SHEIN、吉利各 1),其他公司 8 份。数的是“提到过”,职责和加分项都算。右边标出地图里在哪一站,以及你已经有几篇相关的页。
按依赖排:先语言和运行时,再框架和三件套,然后分布式、微服务和稳定性,最后架构和团队。每站三步:先看场景全景,再逐个学知识点,最后回到全景讲一遍。点开一站看全景、知识点、这一站给靶场加什么、怎么算过关。时长按专注学(每周 26 小时)估。
搭骨架:一个 Spring Boot 单体,商品、库存、订单三张表;领域对象用 record,查询用 Stream 写。
HashMap 与 ConcurrentHashMap 源码 反射、注解与 SPI HashMap 的亲戚们:LinkedHashMap、WeakHashMap、ThreadLocal
下单并发扣库存:先复现超卖,再用 synchronized、CAS、数据库条件更新三种办法修好,各压一遍比吞吐。
埋三个雷:内存泄漏、大对象引起的频繁 Full GC、死循环把 CPU 打满。用 jstack、jmap、JFR、Arthas 各排查一次,写成排障记录,这也是值班助手的教材。
订单服务调库存服务的一次 RPC
十站:Stub、负载均衡、长连接、protobuf、HTTP/2 帧、Netty、TCP、Reactor、业务线程池、超时;第一圈是浏览器打开网页
把订单调库存从 HTTP 换成 RPC,比较延迟和连接数;把超时、重试、连接池配对。
一个请求穿过 Spring
过滤器、DispatcherServlet、AOP、事务、MyBatis,直到 SQL 发出去
还没做:学这一站时第一页就做它
靶场从 Spring Boot 3.5 起步,这一站结束时升到 4.0;关键流程补单元测试,用 Testcontainers 起 MySQL 和 Redis 做集成测试。从这一站起,每站写一页技术方案。
Spring Boot 4 升级 JUnit 5、Mockito 与 Testcontainers
一条 UPDATE 从应用到磁盘
解析、加锁、写 undo 和 redo、提交、binlog 复制到从库
还没做:学这一站时第一页就做它
给订单表灌 1000 万行,制造 3 条慢 SQL 和 1 次死锁,逐个用执行计划和锁日志解决。再把同一张表导进 PostgreSQL,跑同样的 3 条 SQL,对比执行计划。
索引与 B+ 树 EXPLAIN 与 SQL 调优 redo、undo、binlog 与崩溃恢复 主从复制与读写分离 PostgreSQL 对照 MySQL(含 pgvector,和 AI 地图站 06 共用)
一次商品详情查询
本地缓存、Redis、数据库各走一遍,改价时缓存怎么跟上
还没做:学这一站时第一页就做它
商品详情加两级缓存,故意制造热 key 和缓存击穿,再修好;改价以后,读到旧价不超过 1 秒。
缓存一致性方案对比 多级缓存:Caffeine 加 Redis
一条订单消息的一生
发出、落盘、复制、被三个下游消费、提交位点
还没做:学这一站时第一页就做它
下单后发订单事件,库存、积分、通知异步消费;演练重复投递、乱序和积压 100 万条。
RocketMQ 事务消息与延迟消息 消息积压与幂等消费实战
一次下单跨三个库
订单、库存、券各写一笔,中途宕机后数据怎么对齐
还没做:学这一站时第一页就做它
下单拆成订单、库存、优惠券三步,分别用本地消息表和 TCC 做到最终一致,演练中途宕机。
CAP 与一致性模型 Raft 共识 分布式事务方案对比 幂等设计
拆成微服务后的一次下单
网关、注册中心、服务调用、熔断降级各在哪一跳
还没做:学这一站时第一页就做它
拆成网关、商品、库存、订单、券五个服务,接 Nacos、Gateway、Sentinel;演练库存服务挂掉时下单还能降级。
Nacos 注册与配置 Spring Cloud Gateway Dubbo 与 OpenFeign Sentinel 与熔断器状态机
订单表从一张到八张
按用户查和按商家查各怎么走,迁移那天发生了什么
还没做:学这一站时第一页就做它
订单表按用户 ID 分 8 张表,不停机迁移旧数据;商品搜索接 Elasticsearch,用 binlog 同步。
分库分表与 ShardingSphere Elasticsearch 原理(和 AI 地图站 06 的倒排索引共用) 不停机数据迁移 分布式数据库对照:TiDB、OceanBase、GoldenDB
10 万人抢 1000 张券的那一秒
流量从入口到数据库,一层一层被削成了什么样
还没做:学这一站时第一页就做它
做一次抢券:10 万人抢 1000 张,压测找到瓶颈,加限流、预扣、异步化,给出容量报告;再演练一次 Redis 主节点宕机。
限流算法(和 AI 地图站 10 共用) 秒杀系统设计 全链路压测与容量规划 多活与容灾
凌晨告警响了
从告警到定位根因再到复盘的 30 分钟
还没做:学这一站时第一页就做它
接上指标、日志、链路和告警;把前面埋的雷再触发一次,只看监控定位,写一份复盘。这套数据就是值班助手的输入。
Prometheus 与告警设计 OpenTelemetry 链路追踪(和 AI 地图站 09 共用) Arthas 线上诊断
一次发布
提交代码、打镜像、滚动替换、探针检查、出问题回滚
还没做:学这一站时第一页就做它
靶场全部上 K8s(本机用 kind 或 k3s 都行),配好探针、HPA 和滚动发布;演练一次发布回滚。
Docker 与 Kubernetes 基础(和 AI 地图站 10 共用) CI/CD 与发布策略
一个需求从一句话到方案评审
业务方提需求、建模、划边界、写方案、过评审
还没做:学这一站时第一页就做它
用 DDD 重新划分订单域和营销域,写一份完整技术方案和 3 条 ADR,找人评审。
设计模式在框架里 DDD 领域建模 架构决策记录(ADR)
交易靶场走完一圈
一次下单穿过的所有部件,以及每个部件你埋过的雷
还没做:学这一站时第一页就做它
靶场 1.0:架构图、压测报告、故障演练记录、ADR 全部公开。
不加新补给,用的是前面攒下的全部东西。
做一个迷你交易系统:下单、库存、优惠券、商品。每一站往里加一块,也埋一个真实的雷再亲手排掉。业务选交易,是因为 25 份招聘里约 10 份就是交易、营销、商品、券系统。它还有第二个用处:AI 地图里的值班助手,要排查的就是这个靶场。
你定的是 AI Agent 做主线、架构按需补,所以这张地图分两段用:主线进行中,它是补给的目录;主线走完以后,再按它从头系统地走一遍。
已有的 44 篇页面只算“有材料”,不算“学会”。有页面的知识点标着“页”,进度还是从 0 开始,你说做到了哪一级我再改。
在这张图上 44 篇都有位置,没有“储备”了。问题是分布:几乎全堆在高级工程师那一层,资深和架构师两层基本是空的。
这和你当初“想到哪学到哪”的结果一致:Spring 16 篇、Redis 10 篇,挖得很深;而招聘里同样高频的分布式、微服务、架构设计、需求分析,一篇都还没有。第二段系统学的重点就在这些空格上。
靶场用新版本写,同时兼顾生产上还大量存在的旧版本。下面是截至 2026 年 11 月的情况,到对应那一站再按官方文档核对。
| 组件 | 靶场用 | 还要会的 | 要注意 |
|---|---|---|---|
| JDK | 21(LTS) | 8、17,了解 25(LTS) | 生产上 8 和 17 仍然很多,升级坑见 JDK 那篇 |
| Spring Boot | 3.5 起步,J05 升到 4.0 | 2.x | 3.5 的开源维护 2026 年 6 月 30 日已结束;4.0(2025 年 11 月)换到 Jakarta EE 11 和 Jackson 3,最低 JDK 17 |
| Spring Cloud | 2025.1(配 Boot 4) | Spring Cloud Alibaba | 版本要和 Boot 对齐,混搭最容易出问题 |
| MySQL | 8.4 LTS | 8.0、5.7 | 8.0 已在 2026 年 4 月停止维护 |
| PostgreSQL | 17 或 18(对照用) | — | 18 在 2025 年 9 月发布;多版本存在表里,要懂 VACUUM;AI 地图站 06 用它的 pgvector 扩展 |
| Redis | 7 或 8 | 6 | 集群、持久化的原理各版本相通,命令细节看版本 |
| Kafka | 4.x | 3.x | 4.0 起去掉了 ZooKeeper,只用 KRaft;老集群要经 3.x 迁移 |
选J01–J04 先讲集合、并发、JVM、网络
没选从 Spring 开始
关键约束:框架里的问题最后都落到线程、内存和 IO 上;24 份招聘要 Java 基础,排第一。
选MySQL → Redis → 消息队列
没选按热门程度排,先学 Redis
关键约束:缓存一致性和消息可靠性,都要先懂数据库事务和日志才讲得清。
选J09 一致性、事务、幂等,J10 再拆服务
没选先学 Spring Cloud 组件
关键约束:不懂拆完以后一致性怎么办,组件会用也只是把单体问题搬到网络上。
选J12、J13 系统讲,J02 起每站都压一下
没选全部留到最后
关键约束:全链路的事要用到前面所有东西;但压测的习惯越早养越好。
选交易靶场贯穿 16 站
没选每站一个 demo,或者只看不做
关键约束:约 10 份招聘是交易类系统;排过的雷是面试里最值钱的故事,也是值班助手的教材。
选J05 起每站交一页方案
没选只写代码,到 J15 才学写方案
关键约束:17 份招聘要需求分析与业务理解,19 份要架构设计;写方案是练出来的。
选J05、J07 各 1 周,只补缺口
没选继续读 Spring、Redis 源码
关键约束:这两块已有 26 篇,边际收益最低;同样的时间投到 MySQL 和分布式,收益高得多。
↓ 先用页首的“先定位”查一下
先读那一页;读完说一声,进度改成“读懂”。
AI 主线正好用到就现在做;用不到就等第二段。
记进“以后再说”,回看地图时再决定加不加。