1、具有扎实的java基础,对⾯向编程具有深刻的理解,熟练掌握java集合、多线程、⽹络编程等基本开发技术;
2、熟练掌握java并发编程相关知以及JMM内存模型;熟练掌握volatile、synchronize等关键字的使⽤以及原理;熟练掌握AQS以及
其他JUC包下常⽤并发⼯具类的使⽤以及相关原理,并阅读过相关源码;熟练掌握CAS的基本使⽤以及原理;熟练掌握线程池的使
⽤和⼯作原理;
3、对jvm虚拟机有深⼊的了解。熟练掌握jvm内存模型、垃圾回收算法、垃圾回收机制、各种垃圾收集器;对常见jdk提供的
jvm⼯具有⼀定的了解(jstack、jmap、jstat等),对开源的jvm⼯具(arthas)有⼀定的使⽤经验,熟悉常见的jvm参数配置,对jvm调
优有⾃⼰的见解;
4、深⼊理解mysql索引机制、锁机制以及事务,熟悉常见mysql优化⼿段,熟悉mysql主从架构的原理;
5、能够熟练使⽤elasticsearch,并了解其读写原理以及倒排索引原理
6、深⼊理解spring,springboot、springcloud、springmvc、mybatis等开源框架的设计原理以及底层架构,研究过部分核⼼源
码;;
7、深⼊理解redis线程模型,熟练掌握redis核⼼数据结构的使⽤场景,熟悉常见的⾼可⽤架构,熟悉各种缓存⾼并发使⽤场
景,例如缓存雪崩,缓存穿透,热点缓存重建;
8、熟悉消息中间件rocketmq的使⽤,解决过各种消息通信场景的疑难问题,⽐如消息丢失,消息重复消费,消息顺序性,⼤
规模消息积压问题;
9、了解常见的分布式场景的技术难题的解决⽅案,例如分布式锁,分布式id,分库分表以及分布式事务
10、使⽤过docker、k8s,skywalking以及grafana,了解他们的基本使⽤
手游交易平台:
内容:1、该项⽬主要是将⼿游相关的虚拟商品进⾏商城售卖,商品主要游戏账号,游戏币,游戏道具以及游戏礼包,主要功 能包括商品的上下架,商品的购买下单以及⽀付,库存管理,订单管理以及限时秒杀游戏礼包的领取;
2、项⽬主要采⽤技术栈有springboot、springcloud、nacos、redis、rocketmq、elasticsearch、mysql以及Shardingphere、 docker、k8s
3、阿⾥云平台提供的流量数据:⽇均访问量DAU:10万左右;⽇访问峰值UV:30万;秒杀服务最⾼1000QPS
业绩:1、主要负责库存服务的设计、搭建以及研发;
2、参与秒杀服务的设计,将秒杀服务与现有交易服务进⾏解耦,避免影响正常的交易
3、使⽤redis作为热点数据缓存,避免秒杀场景下所有数据打到db,利⽤布隆过滤器,解决缓存穿透的问题
4、使⽤rocketmq进⾏异步消费,进⾏异步下单处理
5、使⽤redis的redisson实现分布式锁,保证库存扣减的原⼦性
6、 使⽤Hystrix实现服务的限流、熔断降级