夯实基础
- JDK:集合、多线程、io、异常、反射、注解、序列化、反序列化。
- 设计模式:常用几种的原理、使用场景
- 数据结构:数组、链表、栈、队列、树、红黑树、平衡二叉树
- 网络:TCP、HTTP、HTTPS、负载均衡算法
- 框架:IOC、AOP源码以及原理;Spring中启动过程、bean的初始化流程,bean的生命周期,如何解决循环依赖
- 缓存:核心原理与最佳实践,并深入学习,Redis底层数据结构及实现原理,常规的使用方法
- RPC:各种优缺点,rpc原理,最好使用netty自己实现一下
- MQ:Kafka,RocketMQ,RabbitMQ等,消息的幂等性,事务实现,如何保证不丢消息
- 数据库:索引原理、隔离级别、锁机制、分库分表、慢SQL定位以及优化、线上问题优化,数据库和缓存的一致性问题
- Netty:NIO原理、核心组件、I/O多路复用、零拷贝
- JVM:运行时数据区、垃圾回收算法、垃圾回收器、常用配置参数、线上问题定位以及解决
- Linux:基本命令的使用、快速定位和排查问题
- 分布式理论:CAP、BASE、2PC、3PC、TCC,服务降级,熔断,restful接口等
具体项目
- 独立完成复杂模块的需求分析、方案设计和最终落地实现
- 快速排查问题的能力,遇到问题能及时定位和修复上线,例如:数据库死锁、服务器宕机、Full GC频繁等,API调用时间长能否独立排查,及时解决