跳到正文
Joeplover
学习笔记·2026-06-20·约 6 分钟阅读

高级工程师成长清单

八阶段系统学习路线图:从设计模式到系统设计,覆盖 Python/Java 双语言,预计 50 天完成。

成长清单

🎯 高级工程师成长清单

相关笔记:[[DAY01-成长计划启动]] | [[DAY02-观察者模式]] | [[DAY02b-适配器模式]] 相关主题:[[索引-Python]] | [[索引-Java]] | [[索引-设计模式]]


📋 总纲

阶段主题天数状态
一设计模式与代码嗅觉10天▶ 进行中
二代码组织与架构演进8天⏳
三错误处理与防御性编程5天⏳
四并发与异步(Python + Java)6天⏳
五API 设计与接口思维5天⏳
六测试策略与可测试性5天⏳
七数据库设计与 ORM5天⏳
八系统设计入门6天⏳
九综合实战持续⏳

阶段一:设计模式与代码嗅觉(10天)

每一课的格式:先扔烂代码 → 你找问题 → 我补刀 → 引出模式

#主题核心收获✅
1策略模式if-else 堆砌 → 策略查找表✅
2模板方法固定骨架 vs 可变步骤✅
3观察者模式核心逻辑和"顺便干的事"解耦✅
4适配器模式接口不兼容时的粘合剂✅
5SOLID-单一职责"这个类为什么改了?"⬜
7SOLID-开闭+依赖反转不改旧代码加功能⬜
8组合 vs 继承什么时候不能用继承⬜
9设计嗅觉综合从一段 200 行烂代码找出全部问题⬜
10重构实战把烂代码一步步改好⬜

阶段二:代码组织与架构演进(8天)

从脚本 → 可维护工程的进化过程。

#主题核心收获
11函数式思维纯函数、副作用隔离、管道操作(Python)
12分层架构(三层)Controller → Service → Repository 怎么切
13依赖注入别 new,传进来(Python + Java)
14模块化与包设计一个项目应该有几个包/模块
15配置管理硬编码 → 环境变量 → 配置中心
16中间件/Middleware请求进来出去之间做了什么
17插件/SPI 架构让第三方也能扩展你的系统
18微服务思维导论什么时候该拆?拆了怎么通信?

阶段三:错误处理与防御性编程(5天)

#主题核心收获
19错误类型与边界系统错误 vs 业务错误 vs 编程错误
20重试与退避什么该重试?什么不该?
21超时与熔断别让一个慢调用拖垮整个系统
22优雅降级挂了也别全挂
23日志链路从 A 到 Z 追踪一次请求

阶段四:并发与异步(6天)

#主题PythonJava
24线程基础 & GILthreadingThread / Runnable
25线程池concurrent.futuresExecutorService
26async/awaitasyncioCompletableFuture
27锁与竞态Lock / RLocksynchronized / Lock
28生产者-消费者QueueBlockingQueue
29实际案例爬虫/定时任务Web 请求编排

阶段五:API 设计与接口思维(5天)

#主题核心收获
30RESTful 设计原则资源、动词、状态码、版本
31请求/响应规范入参校验、统一返回、分页
32认证与授权JWT、OAuth2、API Key
33接口版本兼容向前兼容策略
34OpenAPI/Swagger接口文档即代码

阶段六:测试策略与可测试性(5天)

#主题核心收获
35单元测试测什么不测什么、mock 边界
36集成测试数据库/外部服务怎么测
37TDD 实战先写测试再写代码的流程
38可测试性设计写代码时就想"这个怎么测"
39测试金字塔80% 单元 + 15% 集成 + 5% E2E

阶段七:数据库设计与 ORM(5天)

#主题核心收获
40范式与反范式什么时候拆?什么时候合?
41索引基础什么样的查询走索引
42事务与隔离级别ACID、脏读、幻读
43ORM 的正确用法N+1 查询、懒加载陷阱
44迁移与版本控制数据库变更怎么管理

阶段八:系统设计入门(6天)

#主题核心收获
45CAP 理论一致性 vs 可用性 vs 分区容忍
46缓存策略Redis、本地缓存、缓存穿透/击穿
47消息队列解耦、削峰、异步
48负载均衡轮询、哈希、一致性哈希
49读写分离 / 分库分表什么时候分、怎么分
50设计一个系统URL 短链/聊天/秒杀(白板设计)

📌 每日学习流程

1. 打开这个清单 → 看今天的主题
2. 我扔一段有问题的代码(或者一个概念让你解释)
3. 你找出问题 / 说出理解
4. 我补刀 + 引出模式 / 原理
5. 你写代码改造(或我来示范正确写法)
6. 我自动存学习记录到 F:\学习记录

✅ 进度追踪

阶段一:■■■■□□□□□□  4/10
阶段二:□□□□□□□□□□  0/8
阶段三:□□□□□□□□□□  0/5
阶段四:□□□□□□□□□□  0/6
阶段五:□□□□□□□□□□  0/5
阶段六:□□□□□□□□□□  0/5
阶段七:□□□□□□□□□□  0/5
阶段八:□□□□□□□□□□  0/6

⬆ 每次上课前我帮你更新这个进度条


📁 参考文档

文件说明
[[Java笔记]]Java 核心技术(含 Day1~12 + Spring + ZooKeeper 代码)
[[JAVA面试题]]Java 面试高频题(基础/高级/Spring/JVM/并发)