学习路线 · v1 · 2026-11-08 · 对照 25 份招聘要求

Java 后端架构学习地图

从高级工程师到架构师,把 Java 后端系统地走一遍。按招聘里真正要的排轻重,按依赖排先后;用一个交易靶场贯穿,每一站往里埋雷、再亲手排掉。

16 站3 个等级专注学约 24 周(每周 26 小时)1 个贯穿项目:交易靶场每站先看全景对照 25 份招聘要求 已有 44 篇覆盖 0 个知识点作者进度:0 / 117 个知识点用上
AI Agent 工程师主线 · 12 站 · 现在在走这条

按需补给 →
走完后系统学 →

Java 后端架构本页 · 16 站 · 之前的 44 篇都挂在这张图上

想到一个问题?先在地图上找

输入关键词,看它在哪一站、有没有现成的页,还是不在这张图上。

试试:

终点:三个等级,对着招聘要求定

每级写的是招聘里这一层通常要求什么、学完能做到什么、怎么算过关。年限只能靠时间攒,地图管的是能力和能拿给别人看的作品。

起点 · 有几年经验、会用不一定说得清原理终点 · 能做选型、扛住流量、说清每个取舍
  1. 高级工程师站 J01–J08 · 11 周

    独立负责一个模块:Java、并发、JVM、Spring、MySQL、Redis、MQ 都懂原理、会调优、能排查。

    招聘里:多为“3 年以上”,美团、阿里的高级岗大多是这一层。

    过关 靶场单体扛住你埋的每一个雷:超卖、Full GC、慢 SQL、热 key、消息积压,都能用工具定位并修好。

  2. 资深 / 技术专家站 J09–J14 · 10 周

    负责一组分布式服务的一致性、稳定性和容量:拆服务、分库分表、限流降级、压测、监控、上 K8s。

    招聘里:多为“5 年以上”,SHEIN、吉利、得物、霸王茶姬的资深岗。

    过关 抢券压测和容量报告;订单表不停机分表迁移;只看监控定位故障并写出复盘。

  3. 架构师站 J15–J16 · 3 周

    从业务问题出发做选型和演进决策,写方案、过评审、带团队,并说清被放弃的方案输在哪。

    招聘里:8–10 年以上、3–5 年架构经验,常要求带过团队(远程搜索架构师、游昆、信安力联、霸王茶姬)。

    过关 用 DDD 重划靶场边界,交技术方案和 ADR;能接住 30 分钟的架构追问。

对照 25 份招聘要求

2025 年 7 月到 2026 年 11 月的高级、资深 Java 后端和 Java 架构师岗位:大厂 17 份(美团 6、阿里 4、得物 2,腾讯、字节、蚂蚁、SHEIN、吉利各 1),其他公司 8 份。数的是“提到过”,职责和加分项都算。右边标出地图里在哪一站,以及你已经有几篇相关的页。

  1. Java 基础(集合、IO、数据结构)24J01已有 1 篇
  2. MySQL 与 SQL 调优23J06已有 3 篇
  3. Redis 与缓存设计22J07已有 10 篇
  4. Spring / Spring Boot20J05已有 11 篇
  5. 架构设计、选型与演进19J15、J16已有 1 篇
  6. 消息队列(Kafka、RocketMQ)18J08已有 3 篇
  7. 高并发与性能调优18J12已有 3 篇
  8. 并发编程17J02已有 5 篇
  9. 高可用与稳定性(限流熔断降级、容灾)17J10、J12已有 1 篇
  10. 需求分析与业务理解17J15,每站写方案还没有页
  11. 微服务与服务治理(Spring Cloud、Dubbo)15J10还没有页
  12. 分布式系统(一致性、事务、幂等)15J09已有 1 篇
  13. 设计模式与代码质量15J15还没有页
  14. JVM 原理与调优11J03已有 2 篇
  15. AI 编程工具10J15 · AI 地图站 01还没有页
  16. MyBatis9J05已有 5 篇
  17. 网络(TCP/HTTP、NIO、RPC)9J04已有 2 篇
  18. 技术领导(规范、评审、带团队)9J15还没有页
  19. 领域建模与 DDD9J15还没有页
  20. AI 应用接入(Agent、RAG)9AI 地图还没有页
  21. Linux 与脚本8J14还没有页
  22. 线上问题排查8J03、J13已有 1 篇
  23. 容量规划、压测与故障演练7J12已有 1 篇
  24. Docker、K8s、CI/CD7J14还没有页
  25. Elasticsearch 与搜索6J11还没有页
  26. 监控告警与链路追踪5J13还没有页
  27. 分库分表与分布式数据库3J11还没有页
  28. PostgreSQL3J06(对照学)已有 1 篇
  29. 大数据(Flink、Spark、HBase)3以后再说还没有页
  30. 前端框架1以后再说还没有页
  31. Python / Go1AI 地图站 01还没有页
25 份原文出处,以及每份提到了哪些能力
  1. 某互联网公司 · 高级 Java 架构师(搜索系统)· 远程 · 30–50K 2026-09Java 基础 并发 JVM Spring 微服务 MySQL 分库分表 Redis 消息队列 ES 搜索 高并发 高可用 分布式 线上排查 监控链路 压测容量 K8s/CI 技术领导 架构设计 AI 应用
  2. 东辰智造 · 高级 Java 全栈开发 · 广州 · 20–35K 2026-08Spring MySQL Redis 设计模式 前端 AI 应用 AI 编程工具 K8s/CI 线上排查 需求/业务 架构设计 技术领导
  3. 某交易平台(预测市场) · 高级 Java 工程师 · 远程 2026-09Java 基础 并发 JVM 微服务 MySQL Redis 消息队列 高并发 高可用 分布式 线上排查 压测容量 网络/RPC 架构设计 AI 编程工具
  4. 吉利 · Java 资深开发工程师 · 杭州 2026-02Java 基础 Spring 微服务 MyBatis MySQL Redis 消息队列 设计模式 需求/业务 AI 编程工具 技术领导
  5. SHEIN · 高级/资深 Java 后端(CRM 营销触达)· 上海 2026-11Java 基础 并发 Spring 微服务 MySQL Redis 消息队列 ES 搜索 高并发 高可用 分布式 监控链路 压测容量 K8s/CI 设计模式 Linux 需求/业务
  6. 游昆信息 · Java 高级架构师(广告 DMP/SSP)· 上海 · 30–50K 2026-04Java 基础 并发 JVM 微服务 MySQL Redis 消息队列 高并发 高可用 分布式 监控链路 压测容量 K8s/CI 网络/RPC 技术领导 架构设计 大数据
  7. 美团 · 交易系统平台 · 营销活动配置 · 高级 Java · 北京 2026-10Java 基础 并发 Spring MyBatis MySQL Redis 消息队列 ES 搜索 高并发 高可用 网络/RPC 设计模式 技术领导 DDD 需求/业务 架构设计 AI 编程工具
  8. 美团 · 点评技术部 · 高级 Java(作者研发)· 上海 2026-09Java 基础 并发 JVM Spring MyBatis Redis 消息队列 高可用 分布式 设计模式 DDD 需求/业务 架构设计 AI 编程工具 AI 应用
  9. 腾讯 · 营销与交易产品部 · 云 mall 高级 Java · 深圳 2026-10Java 基础 Spring 微服务 MySQL Redis 消息队列 高并发 高可用 分布式 线上排查 设计模式 DDD 需求/业务 AI 编程工具
  10. 字节跳动 · 资深后端(国际电商供应链与物流)· 杭州 2023-10 发布,2026 仍在招Java 基础 微服务 MySQL 分库分表 Redis 高可用 分布式 设计模式 DDD 需求/业务 架构设计
  11. Mico World · 高级 Java(直播商业化)· 北京 2026-09Java 基础 Spring MySQL Redis 消息队列 Linux 需求/业务
  12. 美团 · 数据通道 · 高级 Java · 北京 / 上海 2026-10Java 基础 并发 JVM MySQL PostgreSQL 高可用 分布式 Python/Go 压测容量 网络/RPC 架构设计 AI 应用
  13. 阿里巴巴 · 高德 · 高级 Java · 北京 2026-09Java 基础 并发 JVM Spring MySQL Redis 消息队列 高并发 Linux 高可用 线上排查 监控链路 压测容量 K8s/CI 网络/RPC 设计模式 DDD 需求/业务 架构设计 AI 编程工具
  14. 美团 · 交易系统平台部 · 券平台 · 高级 Java 2026-10Java 基础 Spring MyBatis MySQL Redis 消息队列 高并发 高可用 分布式 架构设计 AI 编程工具
  15. 阿里巴巴 · 飞猪 · 高级 Java(酒店)· 杭州 2026-10Java 基础 并发 Spring 微服务 MyBatis MySQL 消息队列 Linux 高可用 分布式 线上排查 设计模式 DDD 需求/业务 架构设计
  16. 得物 · 交易 · Java 开发工程师 / 专家(商品) 2023-12 发布,2026 仍在招Java 基础 并发 Spring 微服务 MyBatis MySQL Redis 高并发 Linux 设计模式 需求/业务 架构设计
  17. 得物 · 供应链平台 · 资深 Java 2023-12 发布,2026 仍在招Java 基础 并发 Spring 微服务 MyBatis MySQL Redis 高并发 Linux 设计模式 需求/业务 架构设计
  18. 美团 · 闪购 · 高级 Java(商品)· 成都 2025-07Java 基础 并发 Spring MyBatis MySQL Redis 消息队列 高并发 分布式 网络/RPC 设计模式 DDD 需求/业务 AI 编程工具
  19. 美团 · 交易系统平台部 · 权益平台 · 高级 Java · 北京 2026-09Java 基础 并发 JVM Spring 微服务 MyBatis MySQL 分库分表 Redis 消息队列 ES 搜索 高并发 高可用 分布式 网络/RPC 技术领导 DDD 架构设计 AI 编程工具
  20. 蚂蚁集团 · 后端研发(Agent 应用方向)P5–P6 · 上海 / 杭州 2026-10Java 基础 Spring MySQL Redis 消息队列 高并发 高可用 分布式 线上排查 技术领导 需求/业务 架构设计 AI 应用
  21. 某上市公司 · Java Agent 工程师 · 宁波 · 20–25K 2026-04Java 基础 并发 JVM Spring 微服务 MySQL PostgreSQL ES 搜索 高并发 K8s/CI 网络/RPC 设计模式 AI 应用
  22. 霸王茶姬 · C 端资深 Java 后端 · 南京 2026-08Java 基础 并发 JVM Spring 微服务 Redis 消息队列 高并发 高可用 分布式 线上排查 监控链路 压测容量 技术领导 需求/业务 架构设计
  23. 阿里巴巴 · 千问事业部 · Java 高级开发(UC 国际网盘)· 广州 2026-11Java 基础 MySQL Redis 高并发 Linux 网络/RPC 设计模式 需求/业务 架构设计 AI 应用
  24. 信安力联 · Java 架构师(AI 智能体平台)· 35–60K 2026-05Java 基础 并发 JVM Spring 微服务 MySQL PostgreSQL Redis 消息队列 高并发 高可用 分布式 K8s/CI 技术领导 架构设计 AI 应用 大数据
  25. 阿里巴巴 · 千问办公 · Java 服务端(业务系统)· 杭州 2026-10Java 基础 并发 JVM Spring 微服务 MySQL Redis 消息队列 ES 搜索 高并发 Linux 高可用 设计模式 DDD 需求/业务 架构设计 AI 应用 大数据

十六站路线

按依赖排:先语言和运行时,再框架和三件套,然后分布式、微服务和稳定性,最后架构和团队。每站三步:先看场景全景,再逐个学知识点,最后回到全景讲一遍。点开一站看全景、知识点、这一站给靶场加什么、怎么算过关。时长按专注学(每周 26 小时)估。

高级工程师资深架构师 会用懂机制懂设计 页已有页面,点开就是
  1. ① 先看全景这一站的场景从头走一遍,知道每个知识点在链路的哪一站
  2. ② 再下钻按建议顺序逐个学知识点页,在项目里做出来
  3. ③ 回到全景合上页面把整条链路讲一遍,这次每一站往下多讲两层
J01 Java 语言与集合高级工程师1 周 · 26 小时AI 主线用到:站 01 把天天在用的东西讲清楚:集合怎么存、泛型怎么擦、反射和代理怎么来的、新版本加了什么。 一个订单对象的一生 0%

① 先看全景

一个订单对象的一生

new 出来、放进集合、经过反射和代理、被序列化发出去

打开全景页 →

知识点 7 个

  • 面向对象、接口与抽象类、泛型和类型擦除页
  • HashMap:哈希、扩容、树化页
  • 常用集合怎么选:ArrayList、LinkedList、Set、Queue页
  • 异常、反射、注解与动态代理页机制
  • IO 与 NIO 基础:流、Buffer、Channel页机制
  • JDK 8 到 25 的新特性:Lambda、Stream、record、模式匹配页机制
  • 数据结构与算法:日常和面试够用的那部分页

交易靶场 · 这一站

搭骨架:一个 Spring Boot 单体,商品、库存、订单三张表;领域对象用 record,查询用 Stream 写。

怎么算过关

  • 不查资料讲清 HashMap put 的全过程,以及扩容为什么是 2 倍
  • 说出 JDK 8 到 21 里你项目真正会用的 5 个新特性

补给

HashMap 与 ConcurrentHashMap 源码 反射、注解与 SPI HashMap 的亲戚们:LinkedHashMap、WeakHashMap、ThreadLocal

J02 并发编程高级工程师2 周 · 52 小时AI 主线用到:站 01、08 多线程下为什么会错、锁和无锁各怎么修、线程池怎么配;17 份招聘点名要。 一个下单请求在线程池里 0%

① 先看全景

一个下单请求在线程池里

Tomcat 线程接住请求,两个线程同时扣同一件库存时撞在哪

打开全景页 →

知识点 9 个

  • 线程、线程状态与上下文切换页
  • Java 内存模型:可见性、有序性、happens-before页机制
  • synchronized 与锁升级、CAS 与原子类页
  • AQS 与 ReentrantLock、Condition、Semaphore页下一圈
  • 线程池:执行流程、参数、拒绝策略、怎么配页页下一圈
  • ConcurrentHashMap 与阻塞队列页页
  • CompletableFuture 与异步编排页
  • ThreadLocal 与内存泄漏页
  • 虚拟线程:什么时候用、pinning 的坑页下一圈

交易靶场 · 这一站

下单并发扣库存:先复现超卖,再用 synchronized、CAS、数据库条件更新三种办法修好,各压一遍比吞吐。

怎么算过关

  • 画出线程池 execute 的三个分支,按你的接口算出该开多少线程
  • 讲清 volatile 能不能保证 i++ 安全、为什么
J03 JVM 与调优高级工程师2 周 · 52 小时AI 主线用到:站 01、04、05 内存怎么分、GC 怎么收、出事了怎么查;值班助手要学的排障知识,这一站你先亲手会。 一个对象从 new 到被回收 0%

① 先看全景

一个对象从 new 到被回收

分配在哪、什么时候晋升、Full GC 那一刻发生了什么

打开全景页 →

知识点 8 个

  • 内存结构:栈、堆、元空间、直接内存页下一圈
  • 对象创建、对象头与内存布局页下一圈
  • 垃圾回收:分代、可达性、G1、ZGC页
  • 类加载与双亲委派,SPI 为什么要打破它页
  • JIT、逃逸分析与常见的性能误区页
  • GC 日志与调优:先定目标,再动参数页
  • JVM 故障排查:OOM、频繁 Full GC、CPU 飙高页
  • 容器里的 JVM:内存和 CPU 限制页

交易靶场 · 这一站

埋三个雷:内存泄漏、大对象引起的频繁 Full GC、死循环把 CPU 打满。用 jstack、jmap、JFR、Arthas 各排查一次,写成排障记录,这也是值班助手的教材。

怎么算过关

  • 看一份 GC 日志,说出停顿从哪来、该不该调
  • OOM 以后 5 分钟内定位到是哪个对象占的
J04 网络与 RPC高级工程师1 周 · 26 小时AI 主线用到:站 01、03、07 一次远程调用经过了什么:TCP、HTTP、IO 模型、Netty、序列化,以及超时到底该怎么配。 订单服务调库存服务的一次 RPC 0%

① 先看全景

订单服务调库存服务的一次 RPC

十站:Stub、负载均衡、长连接、protobuf、HTTP/2 帧、Netty、TCP、Reactor、业务线程池、超时;第一圈是浏览器打开网页

打开全景页 → 第一圈:从输入 URL 到页面展示

知识点 6 个

  • TCP:握手、挥手、TIME_WAIT、粘包页页
  • HTTP/1.1、HTTP/2 与 HTTPS页
  • IO 模型与 Reactor页页
  • Netty:EventLoop、Pipeline、ByteBuf页
  • RPC 原理:序列化、协议、服务发现、负载均衡页
  • HTTP 客户端与连接池:超时怎么配页页

交易靶场 · 这一站

把订单调库存从 HTTP 换成 RPC,比较延迟和连接数;把超时、重试、连接池配对。

怎么算过关

  • 抓一次包,指出 TCP 和 TLS 握手各花了几个往返
  • 讲清 Reactor 为什么一个线程能管上万连接
J05 Spring 与 MyBatis 原理高级工程师1 周 · 26 小时AI 主线用到:站 01、03、07、08 已有 16 篇页面,这站以复习和补缺为主:Boot 4 升级和测试是新内容。 一个请求穿过 Spring 0%

① 先看全景

一个请求穿过 Spring

过滤器、DispatcherServlet、AOP、事务、MyBatis,直到 SQL 发出去

还没做:学这一站时第一页就做它

知识点 10 个

  • IoC、Bean 生命周期与循环依赖页页
  • AOP 与代理页
  • 事务:传播、隔离、失效场景页页
  • Spring Boot 自动配置与启动流程页页
  • Spring MVC 请求处理、过滤器与拦截器页页
  • 事件、异步与扩展点页页
  • MyBatis 执行流程、插件、缓存与 MyBatis-Plus页页页页
  • Spring Security:认证与授权页
  • Spring Boot 3 到 4:Jakarta、Jackson 3 怎么升级
  • 测试:JUnit 5、Mockito、Testcontainers

交易靶场 · 这一站

靶场从 Spring Boot 3.5 起步,这一站结束时升到 4.0;关键流程补单元测试,用 Testcontainers 起 MySQL 和 Redis 做集成测试。从这一站起,每站写一页技术方案。

怎么算过关

  • 说出 @Transactional 失效的 5 种情况和各自的原因
  • 画出一个请求从 Tomcat 到 Controller 再到 MyBatis 的完整路径

补给

Spring Boot 4 升级 JUnit 5、Mockito 与 Testcontainers

J06 MySQL 与 PostgreSQL高级工程师2 周 · 52 小时AI 主线用到:站 06、10 MySQL 是招聘里第二高的一项(23 份),你的缺口也最大:索引、执行计划、日志、复制要一次补齐。PostgreSQL 只有 3 份提到,拿来对照着学,AI 项目里会用到它。 一条 UPDATE 从应用到磁盘 0%

① 先看全景

一条 UPDATE 从应用到磁盘

解析、加锁、写 undo 和 redo、提交、binlog 复制到从库

还没做:学这一站时第一页就做它

知识点 10 个

  • 索引与 B+ 树:聚簇索引、回表、覆盖索引、最左前缀
  • 执行计划与 SQL 调优:EXPLAIN、慢查询、索引失效
  • 事务、MVCC 与锁页
  • 日志:redo、undo、binlog 与两阶段提交
  • 主从复制、读写分离与复制延迟
  • 连接池与事务性能页页
  • 表结构设计与大表变更(Online DDL)
  • 版本:8.0 已停止维护,升级到 8.4 LTS 要注意什么
  • PostgreSQL 的不同:多版本存在表里、要 VACUUM,索引类型和 JSONB页
  • 怎么选 MySQL 还是 PostgreSQL,pgvector 为什么让 PG 在 AI 项目里更常见

交易靶场 · 这一站

给订单表灌 1000 万行,制造 3 条慢 SQL 和 1 次死锁,逐个用执行计划和锁日志解决。再把同一张表导进 PostgreSQL,跑同样的 3 条 SQL,对比执行计划。

怎么算过关

  • 看 EXPLAIN 说出走没走索引、为什么
  • 讲清一条 UPDATE 在 InnoDB 里写了哪几种日志、按什么顺序
  • 说出两种数据库的 MVCC 各把旧版本放在哪,PostgreSQL 为什么要 VACUUM

补给

索引与 B+ 树 EXPLAIN 与 SQL 调优 redo、undo、binlog 与崩溃恢复 主从复制与读写分离 PostgreSQL 对照 MySQL(含 pgvector,和 AI 地图站 06 共用)

J07 Redis 与缓存设计高级工程师1 周 · 26 小时AI 主线用到:站 05、06 已有 10 篇,原理铺满了;这站补缺的是缓存一致性和多级缓存这两个设计题。 一次商品详情查询 0%

① 先看全景

一次商品详情查询

本地缓存、Redis、数据库各走一遍,改价时缓存怎么跟上

还没做:学这一站时第一页就做它

知识点 8 个

  • 数据结构与编码页页
  • 线程模型与 IO 多路复用页
  • 持久化与高可用:RDB、AOF、主从、哨兵、集群页页
  • 过期删除与内存淘汰页
  • 缓存一致性:先改库还是先删缓存、延迟双删、订阅 binlog
  • 缓存三大问题与大 key、热 key页页
  • 分布式锁与 Lua页页
  • 多级缓存:Caffeine 加 Redis页

交易靶场 · 这一站

商品详情加两级缓存,故意制造热 key 和缓存击穿,再修好;改价以后,读到旧价不超过 1 秒。

怎么算过关

  • 说出你选的一致性方案能接受的最坏情况
  • 讲清热 key 为什么加机器没用

补给

缓存一致性方案对比 多级缓存:Caffeine 加 Redis

J08 消息队列高级工程师1 周 · 26 小时AI 主线用到:站 08、10 消息从发出到消费完,哪里会丢、会重、会乱、会堆;18 份招聘点名要。 一条订单消息的一生 0%

① 先看全景

一条订单消息的一生

发出、落盘、复制、被三个下游消费、提交位点

还没做:学这一站时第一页就做它

知识点 6 个

  • 可靠性:生产确认、副本、消费提交页
  • 存储与性能:分段、页缓存、零拷贝页
  • 消费组、重平衡与积压处理页
  • 幂等消费与顺序消息
  • RocketMQ:事务消息、延迟消息、顺序消息
  • 怎么选:Kafka、RocketMQ、RabbitMQ、Redis Stream页

交易靶场 · 这一站

下单后发订单事件,库存、积分、通知异步消费;演练重复投递、乱序和积压 100 万条。

怎么算过关

  • 说清消息哪几处可能丢、各怎么防
  • 积压了怎么快速消化,又不压垮下游

补给

RocketMQ 事务消息与延迟消息 消息积压与幂等消费实战

J09 分布式基础资深2 周 · 52 小时AI 主线用到:站 08、10 一台机器的事务和锁到了多台机器就不灵了:一致性、共识、分布式事务、幂等,15 份招聘要。 一次下单跨三个库 0%

① 先看全景

一次下单跨三个库

订单、库存、券各写一笔,中途宕机后数据怎么对齐

还没做:学这一站时第一页就做它

知识点 7 个

  • CAP、BASE 与一致性模型
  • 共识:Raft 怎么选主、怎么复制日志
  • 分布式事务:2PC、TCC、Saga、本地消息表、Seata
  • 幂等设计:唯一键、状态机、去重表
  • 分布式锁:Redis、ZooKeeper、数据库怎么选页
  • 分布式 ID:雪花算法、号段页
  • 时钟、超时与重试:分布式里为什么不能信时间

交易靶场 · 这一站

下单拆成订单、库存、优惠券三步,分别用本地消息表和 TCC 做到最终一致,演练中途宕机。

怎么算过关

  • 任何一步失败时,说出数据最终是什么状态、靠什么保证
  • 讲清 Raft 为什么要多数派

补给

CAP 与一致性模型 Raft 共识 分布式事务方案对比 幂等设计

J10 微服务与服务治理资深2 周 · 52 小时AI 主线用到:站 10 什么时候拆、怎么拆、拆了以后怎么管:注册、配置、网关、调用、限流熔断。 拆成微服务后的一次下单 0%

① 先看全景

拆成微服务后的一次下单

网关、注册中心、服务调用、熔断降级各在哪一跳

还没做:学这一站时第一页就做它

知识点 7 个

  • 服务怎么拆:按领域拆、拆多细、什么时候不该拆
  • 注册发现与配置中心:Nacos
  • 网关:Spring Cloud Gateway、路由与鉴权
  • 服务调用:OpenFeign、Dubbo、负载均衡
  • 限流、熔断、降级:Sentinel、Resilience4j页
  • 灰度发布与流量治理
  • Spring Cloud 与 Spring Cloud Alibaba 怎么选

交易靶场 · 这一站

拆成网关、商品、库存、订单、券五个服务,接 Nacos、Gateway、Sentinel;演练库存服务挂掉时下单还能降级。

怎么算过关

  • 画出一次下单的调用链和每一跳的超时
  • 说出拆分以后多了哪些问题,各怎么兜

补给

Nacos 注册与配置 Spring Cloud Gateway Dubbo 与 OpenFeign Sentinel 与熔断器状态机

J11 分库分表与搜索资深2 周 · 52 小时AI 主线用到:站 06 单库单表扛不住以后:怎么拆、怎么迁、拆完怎么查,搜索为什么交给 Elasticsearch;顺带看懂 TiDB、OceanBase、GoldenDB 这些分布式数据库替你做了哪些事。 订单表从一张到八张 0%

① 先看全景

订单表从一张到八张

按用户查和按商家查各怎么走,迁移那天发生了什么

还没做:学这一站时第一页就做它

知识点 7 个

  • 分库分表:什么时候拆、分片键怎么选、ShardingSphere
  • 分片以后的难题:跨片查询、分页、全局表
  • 不停机数据迁移:双写、校验、灰度切换、回滚
  • Elasticsearch:倒排索引、分片、写入和查询过程
  • MySQL 到 ES 的同步:binlog、Canal、一致性
  • 分布式数据库:TiDB、OceanBase 原生分布式,GoldenDB 分片加全局事务,金融行业为什么在用
  • 从 MySQL 换过去要注意:自增 ID、写热点、大事务、隔离级别

交易靶场 · 这一站

订单表按用户 ID 分 8 张表,不停机迁移旧数据;商品搜索接 Elasticsearch,用 binlog 同步。

怎么算过关

  • 迁移的任何时刻都能回滚,说出靠什么
  • 按商家查订单怎么办(分片键是用户 ID)

补给

分库分表与 ShardingSphere Elasticsearch 原理(和 AI 地图站 06 的倒排索引共用) 不停机数据迁移 分布式数据库对照:TiDB、OceanBase、GoldenDB

J12 高并发与高可用资深2 周 · 52 小时AI 主线用到:站 03、04、09、10 流量来了顶得住、机房挂了活得下:容量要算出来,预案要演练过。 10 万人抢 1000 张券的那一秒 0%

① 先看全景

10 万人抢 1000 张券的那一秒

流量从入口到数据库,一层一层被削成了什么样

还没做:学这一站时第一页就做它

知识点 7 个

  • 三高的账:Little 定律、可用率串并联页
  • 响应时间为什么越压越长页
  • 限流算法:令牌桶、漏桶、滑动窗口
  • 秒杀与抢券:削峰、预扣、异步化
  • 压测与容量规划:全链路压测、影子库页
  • 多活与容灾:同城双活、异地多活、RTO 和 RPO
  • 故障演练与预案

交易靶场 · 这一站

做一次抢券:10 万人抢 1000 张,压测找到瓶颈,加限流、预扣、异步化,给出容量报告;再演练一次 Redis 主节点宕机。

怎么算过关

  • 用压测数据算出大促要几台机器
  • 说清你的系统 RTO、RPO 各是多少,怎么测出来的

补给

限流算法(和 AI 地图站 10 共用) 秒杀系统设计 全链路压测与容量规划 多活与容灾

J13 可观测与线上排查资深1 周 · 26 小时AI 主线用到:站 09 出事以前看得见,出事以后找得快:指标、日志、链路,再加一套排查路线和复盘。 凌晨告警响了 0%

① 先看全景

凌晨告警响了

从告警到定位根因再到复盘的 30 分钟

还没做:学这一站时第一页就做它

知识点 6 个

  • 日志、指标、链路三件套
  • Prometheus 加 Grafana:指标和告警怎么设
  • 链路追踪:SkyWalking、OpenTelemetry
  • 排查方法论:从现象到根因页
  • Arthas 线上诊断
  • 故障复盘:时间线、根因、改进项

交易靶场 · 这一站

接上指标、日志、链路和告警;把前面埋的雷再触发一次,只看监控定位,写一份复盘。这套数据就是值班助手的输入。

怎么算过关

  • 告警响了,5 分钟内说出是哪个服务、哪一类问题
  • 复盘里写出 3 条能落地的改进

补给

Prometheus 与告警设计 OpenTelemetry 链路追踪(和 AI 地图站 09 共用) Arthas 线上诊断

J14 云原生与交付资深1 周 · 26 小时AI 主线用到:站 04、10 服务怎么打包、怎么跑、怎么扩、怎么发布和回滚。 一次发布 0%

① 先看全景

一次发布

提交代码、打镜像、滚动替换、探针检查、出问题回滚

还没做:学这一站时第一页就做它

知识点 6 个

  • Docker:镜像分层、多阶段构建
  • Kubernetes 核心:Pod、Deployment、Service、Ingress
  • 弹性与资源:HPA、requests 和 limits、探针
  • Java 在容器里:内存、CPU、启动速度页
  • CI/CD 与发布策略:滚动、蓝绿、金丝雀
  • Linux、脚本与配置密钥管理

交易靶场 · 这一站

靶场全部上 K8s(本机用 kind 或 k3s 都行),配好探针、HPA 和滚动发布;演练一次发布回滚。

怎么算过关

  • 说清 Pod 被 OOMKilled 和 Java 抛 OOM 的区别
  • 发布出问题时 1 分钟内回滚

补给

Docker 与 Kubernetes 基础(和 AI 地图站 10 共用) CI/CD 与发布策略

J15 架构设计、领域建模与团队架构师2 周 · 52 小时AI 主线用到:站 04 从业务问题到系统方案:怎么划边界、怎么选型、怎么写方案过评审、怎么带人一起做。 一个需求从一句话到方案评审 0%

① 先看全景

一个需求从一句话到方案评审

业务方提需求、建模、划边界、写方案、过评审

还没做:学这一站时第一页就做它

知识点 9 个

  • 需求分析与业务建模:从业务问题到系统方案
  • 设计模式:在 Spring、MyBatis 里找到它们
  • DDD:限界上下文、聚合、领域事件
  • 架构演进:单体、模块化、微服务,什么时候走下一步
  • 技术选型与架构决策记录(ADR)
  • 技术方案文档与评审
  • 重构与偿还技术债
  • AI 辅助研发:给足上下文、校验产出、对结果负责
  • 技术领导:规范、Code Review、带人

交易靶场 · 这一站

用 DDD 重新划分订单域和营销域,写一份完整技术方案和 3 条 ADR,找人评审。

怎么算过关

  • 讲清每个服务的边界为什么划在这
  • 方案里写出被放弃的方案,以及它输在哪

补给

设计模式在框架里 DDD 领域建模 架构决策记录(ADR)

J16 毕业:架构答辩架构师1 周 · 26 小时 把靶场变成别人能验证的作品,再接住一场架构追问。 交易靶场走完一圈 0%

① 先看全景

交易靶场走完一圈

一次下单穿过的所有部件,以及每个部件你埋过的雷

还没做:学这一站时第一页就做它

知识点 4 个

  • 系统全景图和容量报告
  • 一次完整的故障复盘
  • 架构答辩:20 分钟讲清所有取舍
  • 作品集:靶场开源、技术博客

交易靶场 · 这一站

靶场 1.0:架构图、压测报告、故障演练记录、ADR 全部公开。

怎么算过关

  • 别人照着仓库 30 分钟能跑起来
  • 接住 30 分钟的架构追问

补给

不加新补给,用的是前面攒下的全部东西。

一个项目走完全程:交易靶场

做一个迷你交易系统:下单、库存、优惠券、商品。每一站往里加一块,也埋一个真实的雷再亲手排掉。业务选交易,是因为 25 份招聘里约 10 份就是交易、营销、商品、券系统。它还有第二个用处:AI 地图里的值班助手,要排查的就是这个靶场。

Kubernetes 集群 J14 用户与压测流量 请求 网关:路由 · 鉴权 · 限流 J10 J12 券服务 抢券 · 预扣 J12 库存服务 并发扣减 J02 订单服务 最终一致 · 事件 J09 J08 商品服务 两级缓存 · 搜索 J07 下单事件 搜索 读写主库 Redis:缓存 · 预扣库存 J07 Kafka J08 Elasticsearch J11 MySQL:主从复制 · 订单分 8 张表 · 每个服务一个库 J06 J11 埋点 可观测 指标 · 日志 链路 · 告警 J13 读告警和日志 值班助手 AI 地图的项目 来这儿排障 圆圈 = 第几站加上 高级 J01–J08 资深 J09–J14 架构师 J15–J16
交易靶场的最终样子。流量经网关进入集群里的四个服务;券和库存用 Redis 预扣,订单发事件给 Kafka,商品走两级缓存和 Elasticsearch,所有服务读写分表后的 MySQL。可观测系统收集指标、日志和链路,值班助手读这些数据来排障。手机上可以左右滑动看全图。
  1. J01骨架:商品、库存、订单三张表
  2. J02并发扣库存:超卖和三种修法
  3. J03埋 JVM 雷:泄漏、Full GC、CPU 打满
  4. J04HTTP 换 RPC,配好超时和连接池
  5. J05升到 Boot 4,补测试
  6. J061000 万订单、慢 SQL、死锁
  7. J07两级缓存、热 key、改价一致性
  8. J08订单事件,重复、乱序、积压演练
  9. J09下单三步最终一致,中途宕机演练
  10. J10拆成五个服务,降级演练
  11. J11订单分表、不停机迁移、ES 搜索
  12. J1210 万人抢 1000 张券、容量报告
  13. J13指标、日志、链路、告警,写复盘
  14. J14上 K8s,发布和回滚
  15. J15DDD 重划边界、技术方案和 ADR
  16. J16靶场 1.0 公开、架构答辩

什么时候学:分两段

你定的是 AI Agent 做主线、架构按需补,所以这张地图分两段用:主线进行中,它是补给的目录;主线走完以后,再按它从头系统地走一遍。

第一段:跟着 AI 主线补(现在到 2027 年 6 月)

  • 每站标着“AI 主线用到:站 xx”,到了 AI 那一站就先学这里对应的知识点
  • 每周 8 小时,30 周约 240 小时,大约能走完这张图的三分之一,优先是 J02、J03、J07、J12、J13
  • 交易靶场先搭到 J03(单体加 JVM 雷),够值班助手排障用

第二段:系统走一遍(2027 年 6 月到 9 月下旬)

  • 每周 26 小时,从 J01 按顺序走,第一段学过的只做过关检验
  • 全程约 24 周,减去第一段的量,约 15 周
  • 想调先后,比如先系统学 Java、后走 AI,告诉我,两张地图一起改

每个知识点走四级,和 AI 地图一样

  1. 读懂看着图能讲给自己听,预测题答对一半以上
  2. 跑通在靶场里做出来,换个参数也知道会怎样
  3. 讲出合上页面讲 5 分钟,录下来
  4. 用上靶场里埋过、排过,提交记录里看得到

已有的 44 篇页面只算“有材料”,不算“学会”。有页面的知识点标着“页”,进度还是从 0 开始,你说做到了哪一级我再改。

已有 44 篇挂在哪

在这张图上 44 篇都有位置,没有“储备”了。问题是分布:几乎全堆在高级工程师那一层,资深和架构师两层基本是空的。

这和你当初“想到哪学到哪”的结果一致:Spring 16 篇、Redis 10 篇,挖得很深;而招聘里同样高频的分布式、微服务、架构设计、需求分析,一篇都还没有。第二段系统学的重点就在这些空格上。

版本基线

靶场用新版本写,同时兼顾生产上还大量存在的旧版本。下面是截至 2026 年 11 月的情况,到对应那一站再按官方文档核对。

组件靶场用还要会的要注意
JDK21(LTS)8、17,了解 25(LTS)生产上 8 和 17 仍然很多,升级坑见 JDK 那篇
Spring Boot3.5 起步,J05 升到 4.02.x3.5 的开源维护 2026 年 6 月 30 日已结束;4.0(2025 年 11 月)换到 Jakarta EE 11 和 Jackson 3,最低 JDK 17
Spring Cloud2025.1(配 Boot 4)Spring Cloud Alibaba版本要和 Boot 对齐,混搭最容易出问题
MySQL8.4 LTS8.0、5.78.0 已在 2026 年 4 月停止维护
PostgreSQL17 或 18(对照用)—18 在 2025 年 9 月发布;多版本存在表里,要懂 VACUUM;AI 地图站 06 用它的 pgvector 扩展
Redis7 或 86集群、持久化的原理各版本相通,命令细节看版本
Kafka4.x3.x4.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 份要架构设计;写方案是练出来的。

Spring 和 Redis 不再深挖

选J05、J07 各 1 周,只补缺口

没选继续读 Spring、Redis 源码

关键约束:这两块已有 26 篇,边际收益最低;同样的时间投到 MySQL 和分布式,收益高得多。

地图怎么用

想到一个 Java 问题

↓ 先用页首的“先定位”查一下

有现成的页

先读那一页;读完说一声,进度改成“读懂”。

在某一站,还没有页

AI 主线正好用到就现在做;用不到就等第二段。

不在图上

记进“以后再说”,回看地图时再决定加不加。

以后再说