1. java基础扎实,熟悉常见设计模式及数据结构,阅读过JDK源码如HashMap,ConcurrentHashMap等。
2. 熟悉Java并发编程,熟悉常见线程池的使用及执行流程,了解volatile、synchronize关键字实现原理,了解JUC下常用锁及其API。
3. 阅读过spring源码,熟悉springIOC启动流程,springAOP、spring事务及常见后置处理器底层实现原理。
4. 阅读过mybatis源码,熟悉sql执行流程,了解mybatis一二级缓存及插件底层实现原理。
5. 有过各种分布式场景的技术解决经验、如分布式锁、分布式事务及缓存数据一致性等。
6. 深入理解springboot、springcloud 微服务框架的使用,了解springboot及springcloud Netflix常用组件底层架构及实现原理。
7. 熟练掌握mysql数据库,深入理解mysql事务、索引、MVCC实现原理,了解常见sql调优方式。
8. 熟悉常见消息中间件MQ的使用如rabbitmq,熟悉消息确认机制、手动应答机制及消息重复消费等问题的处理机