80 lines
2.4 KiB
Markdown
80 lines
2.4 KiB
Markdown
### **0到1级:基础认知**
|
||
|
||
**目标**:建立模块基础认知,掌握开发调试工具链
|
||
|
||
1. **架构学习**
|
||
|
||
- 阅读文档核心概念(数据流、线程模型、关键接口)
|
||
|
||
2. **代码初探**
|
||
|
||
- 使用gdb调试一个核心函数,并解释其调用栈
|
||
|
||
- 提交填空式代码报告
|
||
|
||
```
|
||
关键函数:________
|
||
函数的作用:________
|
||
发现的疑问:________
|
||
```
|
||
|
||
3. **运行验证**
|
||
|
||
- 运行UT(ASAN),新增一个测试用例,并上库
|
||
- 修改现有测试用例输入值,观察结果变化
|
||
|
||
4. **问题定位**
|
||
|
||
- 阅读模块定位手册,并绘制故障依赖关系图
|
||
|
||
**交付物**:代码报告、UT运行&上库报告、故障依赖关系图
|
||
|
||
------
|
||
|
||
### **1到2级:熟悉逻辑**
|
||
|
||
**目标**:理解业务逻辑,掌握问题定位方法
|
||
|
||
1. **模拟问题分析**(替代实际Bug修复)
|
||
- 分析历史Bug报告,编写假设性修复方案(无需提交代码)
|
||
- 复现一个已知简单问题(如空指针崩溃)
|
||
2. **依赖分析**
|
||
- 绘制模块依赖图(调用方/被调用方+协议类型)
|
||
- 分析接口性能测试(关注QPS/RT)
|
||
3. **日志追踪**
|
||
- 根据日志关键词定位一次完整请求链路
|
||
- 编写日志分析速查表(错误码→可能原因)
|
||
|
||
**交付物**:Bug分析文档、模块依赖报告、性能分析报告、日志速查表
|
||
|
||
------
|
||
|
||
### **2到3级:深度掌握**
|
||
|
||
**目标**:独立开发核心功能,解决复杂问题
|
||
|
||
1. **核心逻辑开发**
|
||
- 参与模块的核心功能开发(如实现一个新特性),并记录开发过程。
|
||
2. **性能分析**
|
||
- 使用`perf`分析模块性能热点。
|
||
- 分析性能瓶颈等历史问题,总结解决模式。
|
||
3. **架构改进**
|
||
- 组织一次技术分享,讲解模块的架构设计和优化思路。
|
||
- 分析模块历史问题根因分类。
|
||
|
||
**交付物**:功能代码(通过审查)、性能报告、分享材料
|
||
|
||
------
|
||
|
||
### **3到4级:技术主导**
|
||
|
||
**目标**:主导架构演进,把控技术方向
|
||
|
||
1. **系统级设计**
|
||
- 主导或参与模块的技术创新项目(如引入新技术),并记录项目过程。
|
||
2. **架构分析**
|
||
- 分析模块的历史技术决策,评估其成功或失败的原因。
|
||
- 根据限制条件分析性能的极限。
|
||
- 组织一次技术分享,展示模块的技术深度和未来方向。
|
||
|
||
**交付物**:代码(上库)、分析报告 |