熟练掌握Java语言,对于IO、并发编程有深入的了解,了解AQS;
熟悉常用的设计模式,比如策略模式、代理模式、模版模式等,并在项目中有实际应用经验;
了解JVM内存模型、类加载机制、垃圾回收算法;
熟练使用Spring、SpringBoot、Mybatis等框架进行项目开发,对于Spring的核心功能及实现原理有深入的了解过;
熟练掌握Mysql、对于Mysql索引、事务有深入的了解,并且具备线上SQL调优经验;
熟悉常用的SpringCloud组件,项目中应用过Feign、Nacos、Gateway;
熟练使用Redis常用五种数据结构,并了解其实现原理;了解如何解决缓存雪崩、缓存穿透、缓存击穿问题;拥有解决数据库和缓存数据不一致问题的经验;应用过Redis分布式锁Redisson解决资源并发问题;
了解常用的消息队列,包括kafka、rocketmq、rabbitmq;
熟悉linux常用命令排查线上问题;
了解HTML、JS、CSS等前端技术。
项目:劳动力管理系统(支持百万劳务)
任务:劳务敏感信息治理,设计手机号、身份证号等敏感信息以秘文的形式存储和传输;
行动:
1. 从mapper梳理所有涉及敏感信息明文的数据表、以及接口;
2. 采用双写策略,将秘文写入数据库,定时任务校验秘文的正确性;
3. 开关切换读取明文到秘文;
4. 任务将明文清空;
结果:
1. 完成100多万劳务敏感信息治理;
2. 在切换过程中,未出现线上BUG;