关于
专业技能 --------------------------->
-
JavaSE:具有扎实的 Java 基础,对于多线程、集合、反射、Stream 流、Lambda 有一定的了解,熟悉常见的设计模式并且用于项目中
-
MySQL:熟练使用 MySQL 数据库以及常见优化手段(Explain 执行 SQL 优化,Mycat 分表经验),了解底层索引以及数据库隔离级别,使用 MybatisPlus 进行高效开发
-
NoSQL:熟练使用 Redis 作为缓存数据库,熟悉缓存穿透,缓存击穿,缓存雪崩等问题的解决方案,针对大数据量存储使用 MongoDB
-
常用框架:熟悉 Spring,SpringMvc,Mybatis,SpringBoot 等常用框架,可以根据需求快速搭建项目,并了解 SpringBoot 自动装配原理,SpringMVC 运行流程以及 Spring 框架 IOC 和 AOP 核心思想
-
微服务框架:熟悉 SpringCloud,Dubbo 等微服务框架,对 Nacos,Gateway,OpenFeign,Zookeeper 等组件有一定了解,最近的中国移动项目是使用k8s部署
-
分布式解决方案:基于可靠性消息的最终一致性方案和最大努力通知型方案解决分布式事务问题,基于 Redisson作为分布式锁和 redis 解决接口幂等问题
-
ElasticSearch: 熟练 ElasticSearch 的使用及倒排索引原理,使用 Ik 分词器对中文实现关键字匹配搜索,能够使用 Kibana 工具进行调优调试
-
消息队列:熟练 RabbitMQ 作为微服务之间解耦异步通信,针对大数据量处理使用 Kafka,解决消息丢失, 消息幂等,消息延迟消费等问题
-
Linux:了解 Linux 常用命令,Docker 容器技术,使用 Arthas 诊断工具处理线上问题,最近的中国移动项目使用 XXL-JOB 定时执行任务
-
JUC:了解 JUC 并发编程,对 Synchronized 锁机制,CAS 机制,Atomic 原子类,ThreadLocal 本地线程以及线程池工作原理具有一定了解并在移动项目中使用
-
JVM:了解 JVM 内存模型, GC 算法,垃圾回收器,类加载机制等
-
前端:了解使用 Vue,ElementUi,Axios进行前端开发
项目经历 --------------------------->
项目名称:中国移动智慧营业厅(一级排队系统)
项目描述:
用户通过微厅、手厅、网厅进入附近营业厅页面,查看可预约的营业厅,选择想要预约的营业厅进入取号页面或者预约页面,用户可选择要办理的业务和预约时间段确认预约或直接取号。用户直接取号后直接分配票号,进入队列。用户预约后则需到店后取号
架构技术:
SpringCloud + SpringBoot + MyBatisPlus+ Redis + RabbitMQ + XXL-JOB + K8s部署
责任描述:
- 负责一级排队系统的生产环境的问题定位和排查。
- 参与安全组线上会议,负责安全组漏洞问题修复。
- 参与需求评审会议,方案设计和技术的选型评估,对接全国各省份。分析方案可行性和高可用性。
- 负责项目新功能的开发迭代和相关接口开发。并且输出接口文档、割接文档、上线文档等
设计技术:
- 基于 RabbitMQ 支持可靠性投递这一特点,在项目开发过程中采用基于可靠性消息的最终一致性的分布式事务解决方案去处理分布式事务场景。
- 使用aop切面生成调用链id并且跟着业务流转以便解决生产问题
- 基于 Redis 消息中间件,解决在线取号接口幂等性,一分钟只能取一次票号的限流操作,查询数据缓存。
- 优化票号从数据库取替换成redis自增解决分布式场景下取号重复问题
- 使用 XXL-JOB定时运行每日所需的取号报表数据
项目经历 --------------------------->
项目名称:网云立方
项目描述:
利用用户闲置的上行宽带资源,将闲置宽带转化为个人收益,为 B 端企业提供优质低成本的 CDN内容分发网络
架构技术:
SpringCloud + SpringBoot + MyBatisPlus + Redis + nacos + gateway
责任描述:
- 参与项目上云等迁移功能方案评估和讨论
- 负责迁移功能梳理,和相关功能迁移。并且输出接口文档、所需测试功能文档、上线文档等文档输出。
- 负责配合业务对上线功能验证和后续优化
设计技术:
- 根据测试和业务人员反馈定位有性能问题的接口,对调用耗时较长的接口进行调优
- 使用 MySQL 定时对日活数据进行同步小表,优化查询报表速度
- 优化旧有代码逻辑,短信发送使用redis订阅用于实现异步通信和项目模块之间解耦
- 迁移之后,接口单元测试,业务回归测试。