1.熟练掌握java基础知识,对集合、线程、io等有深入的理解,具备良好的面向对象的编程思想,熟练使用设计模式
2.熟悉java并发编程,对java的各种锁机制、线程池机制、AQS等都有深入理解,并在项目中熟练使用
3.熟悉jvm,对GC算法、垃圾回收器都有深入理解,并且参与过线上项目的JVM调优工作
4.熟悉spring、springmvc、mybatis、springboot等核心框架,可以根据需求快速搭建项目,并阅读过核心源码(spring 依赖注入 启动 mybatis源码)
5.熟悉springcloud、springcloud alibaba等微服务框架,对nacos、sentinel等组件有深入理解,对服务划分、服务治理、服务分层都有深入理解,并具备线上项目经验
6.熟悉常用的分布式解决方案:分布式事务、分布式锁、分布式调度、分布式ID
7.熟悉mysql, 对mysql的锁、事务、索引等都有深入研究,并参与过线上项目调优经验
8.熟悉redis,了解底层磁盘及IO模型,数据持久化机制、哨兵机制,对于单机和集群都有使用经验
9.熟悉elasticsearch的核心原理,对倒排索引有深入理解
10.熟悉rabbitmq,了解核心原理,对应消息丢失、延时队列和重复消费都有项目经验
11.熟练使用xxl-job,搭建分布式调度任务管理
12.熟悉使用vue
13.熟练使用Jmeter,AB进行项目压测与性能调优
14.熟练使用Git、gitlab、jenkins、Docker、K8s搭建自动化部署项目集群,滚动发布等
- 技术栈:spring cloud、eureka、oracle、redis、mybatis-plus、oauth2.0
- 项目描述:基于民生银行卡中心资产负债开发的催收作业系统,包含账户流转、催收备注、外呼等功能
- 职责描述:
- 参与系统重构,从单体系统到SOA架构再到微服务,经理系统三次重构
- 参与核心模块需求评审,架构规划、设计以及技术选型,性能优化,攻克系统技术难题,构建高可用,高性能,高并发,高扩展的系统架构
- 设计系统核心模块的数据表结构,参与设计系统分案策略,完成每日百万级账户的入库、流转及分配
- 解决拉取案件时间过长问题,采用多线程,并发获取,将时间从2个小时压缩至20分钟
- 使用延迟队列解决大批量获取短信结果,导致数据库压力过高的问题