Skip to content

程序员练级大纲

rhwayfun edited this page Mar 1, 2018 · 1 revision

究上:学习优秀的设计和思路

  1. 看源码:jdk 8、spring、mybatis、dubbo、rocketmq
    • jdk 8:Map(HashMap/ConcurrentHashMap)、Collection(ArrayList/LinkedList/BlockingQueue)
    • spring:bean生命周期、依赖注入、AOP实现(动态 VS 静态)、MVC、事务、springboot
    • mybatis:ORM概念和原理、执行流程、一级缓存和二级缓存
    • dubbo:执行流程、拦截器处理、如何自定义拦截器、序列化、服务注册与发现
    • rocketmq:执行流程、如何做MQ监控、消息可靠性保证、如何解决重复消费
  2. 设计模式
    • 工厂模式
    • 单例模式
    • 观察者模式
    • 门面模式
    • 责任链模式
    • 代理模式
    • 策略模式
  3. 高可用:部署、mysql、redis
  4. 性能优化:线程池、并行、异步、批量写、缓存、读写分离
  5. 整洁的代码:坏味道、重构手法、IDEA重构技巧
  6. DDD:领域建模

究下:技术的本质是不变的

  1. core java:java se、jvm
    • se:语法、关键字(final、finally、static等)、OOP
    • jvm:内存模型、类加载机制、垃圾回收算法、GC、内存分配、对象创建
  2. 操作系统:CPU、内存、硬盘
  3. 协议 :TCP、UDP、HTTP、HTTPS
  4. 数据结构:队列、栈、数组、map
  5. 常用算法:快排、堆排、深度优先查找、广度优先查找、二分法
  6. 编码的本质
  7. 多线程

进行中

  1. clean code 参考资料:《重构》、《代码整洁之道》
  2. DDD 参考资料:《领域驱动设计》
Clone this wiki locally