1.熟练使用Java语言,理解Java语言特性,熟悉并发编程、网络通信 、常用数据结构、设计模式、JVM 原理;
2.熟练掌握 Spring、SpringBoot、Spring Data Jpa、MyBatis 等主流开发框架;
3.熟悉 PostgreSQL,具有 SQL 调优、分库分表、索引优化、数据库灾备等实战经验;
4.熟悉 Redis 线程模型,熟练掌握核心数据结构和使用场景。深入了其解执行流程、持久化和过期策略,熟练解决缓存穿透、缓存及穿、缓存雪崩等问题;
5.熟悉 RabbitMQ 等常见消息中间件的使用,对于消息可靠性、消息顺序性等原理有所了解,对于消息堆积、消息丢失等问题有解决经验;
6.熟悉常用设计模式,并在项目中熟练使用过单例、工厂、代理、策略及模板方法等设计模式;
7.了解Aws Cloud、Azure的相关组件使用;
8.了解领域驱动设计,并在项目中参与设计领域驱动模型。
项目名称: IMP即时通讯 开发、三线运维
项目简介:某车企即时通讯系统,为用户提供在线通讯功能,主要包括即时通讯、用户管理、配置管理、统计管理、用户登录等功能。
技术栈:SpringBoot、Websocket、PostgreSQL、Spring Data Jpa、Redis、RabbitMQ、AWS Cloud、JavaScript
责任描述:
参与技术选型,参与项目需求谈判,参与项目落地实施部署工作。参与开发工作,撰写技术文档。
1.使用Spring、Spring Boot、PostgreSQL、Spring Data JPA、Redis、RabbitMQ等框架,参与项目重构,并负责多个模块的开发;
2.基于WebSocket实现多用户在线会话、实时监控、会话转接等功能;
3.慢SQL优化,通过索引重建等方式提升SQL执行效率;
4.基于RabbitMQ、Redis实现WebSocket多实例部署;
5.结合客户提供的CI/CD工具,设计相关Pipeline流程;
7.负责运维管理,制定相关运维流程;
8.负责前后端三线运维。
项目名称: emi数字客户端 开发、三线运维
项目介绍:emi数字藏品平台,是一款虚拟数字藏品交易 App ,基于第三方区块链服务来完成数字财产的链上转移。主要包含客户端为手机 APP ,主要功能有数字藏品链上铸造,藏品发售、空投、秒杀、转售等功能。主要发售生肖、星座、新年等系列作品.
使用技术:SpringBoot、Redis、SpringCloud、RabbitMQ、ElasticSearch、Dubbo、SA-TOKEN
责任描述:
1. 从0到1 参与了数藏平台的开发,负责了用户权限认证、订单、支付、藏品等核心模块的开发
2. 作为订单模块的核心开发,主要设计了订单防重复提交、订单超时关单等功能
3. 基ElasticSearch实现藏品的搜索,解决了藏品模糊查询的性能问题。
4. 优化订单超时关单任务,引入基于 XXL-JOB +线程池,将关单性能从10单/s 优化到50单/秒
5. 引入雪花算法+Redis 自增 ID,实现唯一订单号的生成
6. 针对热点藏品,引入缓存机制,提升查询效率
7. 基于AOP+自定义注解+Redisson实现一套分布式锁注解,减少重复代码,降低出错。
8. 基于SA-TOKEN实现用户登录及用户鉴权模块