Skip to content

Latest commit

 

History

History
73 lines (68 loc) · 4.29 KB

GOALS.md

File metadata and controls

73 lines (68 loc) · 4.29 KB

中级工程师

  1. 阅读理解UML图意图
  2. 熟悉23种设计模式,清晰表达实现要点。
  3. 阅读jdk源码(String,Integer,Long,Enum,BigDecimal,ThreadLocal,ClassLoader,ArrayList,LinkedList,HashMap,LinkedHashMap,TreeMap,CouncurrentHashMap,HashSet,TreeSet)
  4. 熟悉Java拆箱装箱原理,Integer cache范围,会使用 nio ,并发集合等
  5. 熟悉使用Java关键字原理(transient,instanceof,volatile,synchronized,final,static,const),如:fianl可以修饰哪些地方(类、方法、变量、形参、匿名类),修复数组有没有问题等等
  6. JVM内存结构(堆、栈、方法区、直接内存),对象存活判定,GC算法, 类加载机制(ClassLoader、类加载过程、双亲委派)
  7. 熟悉使用java序列化框架(protobuf,hession,avro等等)
  8. 会使用一种MQ(RabbitMQ,RocketMQ,ZeroMQ等等)
  9. 熟练使用泛型
  10. 会写JUnit单元测试
  11. 会写基本正则表达式
  12. 并发类使用(Thread,Runnable,Callable,ReentrantLock,ReentrantReadWriteLock,Atomic*,Semaphore,CountDownLatch,CyclicBarrier)
  13. 熟练使用Redis
  14. 书籍《Head First 设计模式》,《Effective Java》,《算法珠玑》

高级工程师

  1. 熟练通过UML表达业务流程
  2. JVM内存模型(内存可见性、重排序、顺序一致性、volatile、锁、final)
  3. 垃圾回收(内存分配策略、垃圾回收器(CMS、G1)、GC参数)
  4. JAVA对象模型(oop-klass、对象头),泛型实现原理
  5. HotSpot(即时编译、编译优化)
  6. 性能和故障排除技能(jstack、jmap、jstat、jinfo、jhat、btrace、tprofiler)
  7. 熟悉使用java序列化框架实现原理(protobuf,hession,avro等等)
  8. 熟悉JMS/AMQP规范,会使用一种MQ(RabbitMQ,RocketMQ,ZeroMQ等等),会实现延时队列,处理顺序消费,消息消费失败等常见情况
  9. 熟悉 Redis 常见命令时间复杂度 ,熟悉 Redis 工作模型
  10. 优化复杂SQL,对 数据库锁粒度有清晰的理解
  11. 熟练使用mock框架(mockito,easymock等)
  12. 熟练使用正则(如后向引用等等)
  13. 熟练使用SPI和熟悉SPI实现原理
  14. java JUC包下类的实现原理,会设计线程池
  15. 查解决死锁问题能力,熟练使用java bin下的工具包
  16. 熟悉TCP、HTTP协议
  17. 熟悉class文件格式,会使用字节增强框架(asm、cglib等)
  18. 熟悉锁概念(CAS,偏他锁,轻量级锁,重量级锁,自旋锁,可重入锁,锁粗化,锁消除,monitor)
  19. 熟练在业务开发中使用设计模式
  20. 书籍《深入理解Java虚拟机》,《Java并发编程的艺术》,《Spring源码深度解析》,《MySQL性能调优与架构设计》,《MySQL技术内幕InnoDB存储引擎》,《重构》

架构师

  1. 精通使用UML表达设计思路
  2. 熟练JDK源码和实现原理
  3. 熟悉GC原理
  4. 熟悉主流框架的实现原理
  5. 熟练使用NoSQL产品,并用于设计场景,redis,hbase等,
  6. 熟悉主流MQ实现原理以及使用差异
  7. 算法思想,递推,地柜,穷举,贪心,分治,动态规划,迭代,分枝界限
  8. 熟悉cpu、磁盘、文件系统(ext2 ext3 ext4)、网卡、内存。cpu cache line 在java设计中的体现,
  9. 分布式事物(2PC,3PC,CAP,BASE,可靠消息最终一致性,最大努力通知,TCC)
  10. 微服务(康威定律),ServiceMesh,Docker,Spring boot,Spring Cloud
  11. 数据库核心实现原理,分库分表,熟悉binlog格式,业务数据建模
  12. CDN原理和设计,DNS原理和设计
  13. 熟悉HTTP2,SPDY,HTTPS,QUIC协议
  14. 熟悉设计原则并用于实际开发中
  15. 书籍《代码整洁之道》,TOGAF(The Open Group Architecture Framework),《分布式服务架构:原理、设计与实战》, 《深入理解Java虚拟机:JVM高级特性与最佳实践》,《深入分析Java Web技术内幕》,《大型网站技术架构 核心原理与案例分析》

技术经理

  1. 需求管理
  2. 项目管理
  3. 风险管理
  4. 沟通管理
  5. 人才招聘和管理
  6. 项目复盘
  7. 书籍《架构即未来》,《非暴力沟通》

技术总监

  1. 技术体系
  2. 研发体系
  3. 团队管理
  4. 团队培养
  5. 技术规划
  6. 书籍《增长黑客》,《指数型组织》,《商业的本质》杰克韦尔奇,《学管理》杰克韦尔奇,《领导力21法则》