个人介绍
精通 Java 核心,有良好的编码能了;
精通 Spring Boot,Spring Cloud 技术栈;
精通 微服务设计方案和原理;
精通 JVM 实战调优;
熟悉 分布式常见解决方案包括:分布式事务、分布式一致性、分布式锁;
熟悉 MySQL、具有sql优化、索引优化、性能调优相关经验;
熟悉 常见算法和数据结构;
熟悉 Redis,Zookeeper,RocketMQ 中间件;
熟悉 Linux常用的操作命令,熟悉shell脚本编程
熟练 使用 HTML,CSS,JS,Vue 等前端技术栈;
熟练 使用 IDEA,Git,Maven 项目管理和项目构建工具。
工作经历
2019-05-30 -至今成都思多科医疗科技有限公司软件工程师
软件架构: Java、Spring Boot、Spring Cloud、MySQL、MyBatis、Redis、OSS、阿里短信服务、Swagger、Docker 、Vue 负责内容: 主要负责公司项目架构设计; 主要负责公司项目核心功能开发维护; 主要负责公司项目上线部署; 主要负责公司项目前端相关页面开发。
教育经历
2015-09-01 - 2019-06-01四川大学锦江学院软件工程本科
资质认证
技能
项目介绍: 公司超声系统的后台服务,其中核心功能包括账号管理、病历管理、数据存储、远程会诊服务调用、文件上传下载,项目难点在于远程服务调用的复杂逻辑需要良好的系统架构设计能力,以及超神复杂的参数数据需要在云端进行同步的存储,需要丰富的数据库表设计经验,以及上传下载中对第三方服务的接入。 技术栈: Java、Spring Boot、MySQL、MyBatis、Redis、阿里短信服务、阿里OSS、Swagger、Lombok 负责内容: 负责业务逻辑构思以及项目架构设计; 负责数据库表设计; 负责 Redis 集成,主要解决高频访问数据的缓存以及短信验证码的临时存储; 负责第三方的服务(OSS、SMS、Zego)接入; 负责项目上线部署,这个项目主要采用传统项目部署方式,并没有使用到容器化技术。
项目简介: 思多科设备使用数据分析系统主要用于收集设备全国销售数量、分析设备部署情况、设备权限控制等,便于公司进行详细的市场分析以及售后维护。 技术栈: VUE、ElementUI、Axios、Echarts、wangEditor 项目职责: 负责登录和主页等页面模块的开发; 负责新闻编辑页面富文本编辑器的实现; 负责数据可视化的实现。
项目介绍: 一款专科专用的线上会诊系统,核心功能包括异步会诊、同步会诊、订单预约、新闻模块、在线互动模块、在线支付、报告编辑、报告出具。项目难度在于复杂业务逻辑的表设计,订单涉及到预约的业务逻辑调度问题,在线支付模块的集成,实时视频模块的集成等。 技术栈: Java、Spring Boot、Spring Cloud、Zookeepr、Redis、MySQL、MyBatis、阿里短信服务、阿里OSS、支付宝、*支付、Swgger、Lombok、Vue、Docker 负责内容: 负责 Eureka 生产环境优化(对Eureka的源码有一定的了解): 负责抢单模块开发(分布式锁); 由于服务较少,关闭 Eureka 自我保护机制,降低无效服务调用率; 三级缓存优化,关闭掉从 readOnlyCacheMap 读注册表,直接到 readWriteCacheMap 中读取; 由于 Timer 计时器存在缺陷(单线程,依赖系统时间等),改用 ScheduledExecutorService。 负责 验证码服务模块 实现: 验证码的生成服务; 验证码校验服务; Review 代码的时候,提升10倍效率(改变随机验证码的实现方式)。 负责 短信服务模块实现 实现: 集成阿里短信服务,实现短信发送功能; 短信模板存储于缓存,减少 DB,减少 IO。 负责OSS服务 集成: 上传、下载、删除; 前端鉴权。 负责 JWT 前端权限校验集成: 采用 Redis 管理 Token 过期状态。 负责 Spring Boot Admin 集成。 负责 SSL 证书部署。 负责老项目向微服务的改造: 兼容项目的 url,通过 zuul 过滤器实现; 根据用户作动态路由。 负责 灰度发布 架构方案设计和落地,并且负责核心代码编写。 负责 定时任务框架Quartz 集成。 负责 *支付 集成。 负责业务逻辑构思以及项目落地,利用雪花算法保证了订单ID的唯一性; 负责微服务架构设计,因为项目并发不是很大,所以采用分布式架构的主要原因的是各个项目的解耦,让后期维护更加简单; 负责 Zookeeper 集成,这里主要使用 Zookeeper做配置中心; 负责 Redis 集成,作为点赞评论等高频数据的持久化存储,以及临时数据的缓存; 负责第三方服务的接入(OSS、SMS、Zego); 负责前端相关页面开发; 负责项目上线部署,这里用到了Docker 容器化技术。