工作态度
- 积极、主动,不是自己负责的模块也需要多了解熟悉
- 沟通很重要,多主动和领导和同事沟通自己的想法,多讨论各自的理解
- 业务上多思考需要完善和提效的部分,技术上多思考优化和提升性能的部分
- 及时总结,完成的任务及时终结收获和感受
技术点方法论
- 这个技术点是干什么的,解决什么问题?
- 这个技术的特定是什么?
- 对比同类,这个技术的优缺点分析
- 通过对比和可以看出这个技术的应用场景分析
- 研究方法论,对这个技术需要解决的问题进行分析和扩展
熟悉项目方法论
- 系统的目的
- 系统的评价指标,量化系统的好坏
- 了解系统的难点、挑战点
- 熟悉现有项目的架构,表设计,学习如何抽象问题
- 评价系统的设计优缺点,如何优化
研究问题方法论
- 搜索文献综述,追寻问题的成因、发展、现状、难点
- 了解问题的架构,如何划分各个子部分问题
- 查文献资料,各个子问题的解决方案和优缺点
- 总结形成自我思考
问题思考法
- 对问题质疑,这个是不是一个真正的问题
- 对问题的来源分析
- 对问题的关键点分析
- 是否遇到类似问题,查看解决思路
- 搜索相关关键词,谷歌
- 找资料解决问题
- 记录问题,和解决办法
- 总结问题
结论思考法
- 对于给定结论做一下剖析
- 分析出结论的关键字,明确含义
- 考察结论的成立条件和证据的正确性,考察逻辑合理性
- 对结论的理解,联想其相关性事物
- 对结论的理解,想一下该结论的反命题
- 复诉结论,分享给他人,加速学习效率
项目流程
- 分析需求的合理性,分析其收益和风险,给需求定级
- 认真研读需求文档,找出需求点,使用SMART分析、立项分析项目
- 分析上下流影响,是否会打垮下游服务等问题,新增功能导致的数据结构或其他改变是否需要通知上游服务
- 认真写设计文档,画出相关交互流程图,日志记录点
- 技术选型,分析选用的理由
- 认真写接口文档,画出流程图,考察细节,以及前后对接大体方案确定
- 认真写测试文档,罗列所有测试项和测试目的以及观察指标
- 编码,写单侧
- 自己测试,完成测试文档的任务
- 联调(分前后端的话)
- 提测(如果有测试)
- 上线后立刻回归测试,记录测试结果
数据侧流程
- 先查询hive,查看结果是否符合预期
- 少量执行几条,看效果,后期上线分批次10% 20% 50% 80% 100%
- 考虑回滚策略,数据如何恢复
- 考虑数据上线的影响
立项总结
- 确定目标
- 分析目标可达性
- 考察实现方法的多样性
- 列出所有计划,分析每一个方案的优缺点,及其对策
bug经验
- 出现bug先看日志,尽可能找日志
- 复现bug,查原因,dbug流程
- 半小时无果,问同事,看看是否有过类似问题
线上工作总结
- 线上出现问题立刻回滚,不要指望修复覆盖错误
- 上线后立刻回归验证
- 上线一台测试情况后再决定是否继续其他机器上线
- 上线失败,查看日志,如果没有则尝试线上重新启动服务看报错
- 敬畏生产环境
工作经验总结
- PREP汇报方法,先说结论在阐述理由举例说明再次强调结论
- 5W2H,对事情的提问原则
- SMART原则分析项目
阅读技术书籍总结
- 快速浏览一遍,了解书籍大体内容
- 再次细度一遍,思考相关细节点,做笔记整理
- 总结全书,画出知识图谱,思维导图
- 复习(相关记忆曲线时间结点)
决策方法论
- 对已有方案的优缺点分析
- 对目标的重要性紧迫性分析
- 按照方案对目标的重要性决策