Java后端开发技能:

  • JVM:内存模型、类加载机制、双亲委派、垃圾回收算法、垃圾回收器、空间分配担保策略、可达性分析、强软弱虚引用、GC的过程、三色标记、跨代引用、内存泄漏与溢出
  • 多线程:集合、Synchronized、ThreadLocal、AQS、线程池
  • JVM调优:JVM调优目的原则、JVM调优常用的工具、排查步骤、各种GC场景下的优化

MySQL:

  • 数据库设计:索引数据结构、表结构设计优化
  • 事务隔离:脏读、不可重复读、幻读、隔离级别
  • 事务实现:原子性底层实现原理(undo log日志)、一致性底层实现原理、持久性底层实现原理(redo log机制)、隔离性底层实现原理(MVCC多版本并发控制)
  • 锁机制:BufferPool缓存机制、行锁、表锁、间隙锁、死锁、主键自增长实现原理
  • 索引:索引失效、聚集索引、辅助索引、覆盖索引、联合索引
  • SQL执行:SQL的执行流程
  • MySQL调优:SQL优化、灾备处理、异常发现处理、数据服务、数据分区分库分表、主从复制、读写分离、高可用(双主故障切换、高可用性与可伸缩性、组复制)经验

Redis:

  • 数据结构:简单字符串、链表、字典、跳跃表、压缩列表
  • 持久化:持久化、过期策略、内存淘汰策略
  • Redis与MySQL数据一致性:Redis分布式锁
  • Redis集群:热点数据缓存、哨兵模式、集群模式、多级缓存架构、并发竞争、主从架构等
  • Redis调优:绑核、大key优化、数据集中过期优化、碎片整理、内存大页优化、持久化优化、丢包/中断/CPU亲和性优化、操作系统Swap与主从同步优化、高可用主从同步和哨兵机制、多级缓存、冷热分离、缓存雪崩、穿透、击穿、热点缓存重构、缓存失效等

消息中间件:

  • Kafka、RabbitMQ、RocketMQ:消息可靠投递、消息丢失、消息顺序性、消息延迟、过期失效、消息队列满了、消息高可用等问题
  • MQ调优:CPU、内存、磁盘、网络、操作系统、MQ本身配置优化等

Spring框架:

  • SpringBean生命周期、Spring循环依赖、Spring容器启动执行流程、Spring事务底层实现原理、Spring IOC容器加载过程、Spring AOP底层实现原理、Spring的自动装配、Spring Boot自动装配、SpringMVC执行流程
  • Spring Cloud:Gateway调优、Alibaba Nacos长轮询机制和服务注册发现
  • ShardingSphere:读写分离一致性解决方案

系统架构设计:

  • 多级缓存、动静分离、流量负载均衡、系统异步化、缓存队列、防刷与风控、数据一致、削峰填谷、限流与降级、流控与容灾等经验
  • 调优经验:操作系统参数、JVM、Tomcat、MySQL、MQ、Redis、网关、系统架构等调优经验

团队管理经验:

  • 可独立或领导Java团队进行代码研发
  • 产品需求讨论、项目计划制定、风险控制、成本控制、问题梳理、任务分配、指导与培训开发人员、代码审核、功能设计等方面的经验
10-10 22:26