🏅 核心优势
- Java全栈专家:8年Java开发经验,熟练运用Spring全家桶(SpringBoot/SpringCloud/SpringData/Spring Security)构建高可用系统,坚持精进技术,熟悉数据结构以及设计模式
- 架构设计能力:主导设计过高并发的分布式系统,具备微服务/高并发设计经验,落地微服务拆分与熔断限流机制
- 抽象业务系统设计能力: 能够快速且精确的对业务进行抽象,将其变为系统流程,快速进行业务开发
- 技术创新力:携程2021黑客松编程大赛冠军方案主设计师
- 行业经验:深耕金融科技领域,熟悉风控系统、支付清算核心架构
- 代码能力一流: 曾给开源社区文档提出过contribute,自己将代码作为平时的爱好,也喜好算法
🛠️ 技术图谱
后端技术栈
核心框架Spring Boot MyBatis Plus Spring JPA Spring Security Quartz SLF4J
架构设计Spring Cloud 微服务 分布式事务 服务熔断 Nacos
中间件Redis KafkaMQ Apollo
数据库
Oracle MySQL SQL Server SQL优化 读写分离
工程能力
JVM调优 CI/CD流水线 Jekins Docker K8S
技术素养
拥有一颗保持学习的心,精读Spring Framework等英文源码注释,结合文档,可以迅速熟练上手各种陌生开源项目,熟练掌握并使用各种设计模式
💼 职业履历
🏦 上海花旗金融 | 高级开发工程师 (2022.09 - 至今)
固定收益项目组 | 地产金融方向
业务开发 (
SpringBoot SpringData-JPA SQLServer Kafka Redis K8S Jenkins(CI/CD))
开发并维护服务于美国市政项目(CRA/LIHTC)的业务管理系统。该系统提供端到端管理,涵盖符合法案企业的意向管理、Deal全周期管理(尽职调查、贷款协议谈判、议价定价、信贷审批、流程审批)、自动化开户、预算管理、资金发放、贷后抵押物管理及资产负债表管理等投融资核心环节。负责系统集成与数据治理:通过多样化技术方案实现上下游系统无缝集成;建立并执行数据核对(Reconciliation Process)机制,确保跨系统数据一致性,同时自动化生成各类业务报表与财务审计所需数据。技术开发
开发公共组件历史数据对比组件,目前在花旗友军后台服务中广泛使用
开发公共分布式锁组件,使用多态化使其可拓展,目前也在后台服务中使用
✈️ 携程旅行网 | 高级后端工程师 (2021.01 - 2022.09)
交通事业部 | 火车票业务线
职责
负责火车票系统的开发维护以及问题排查。
进行开发系统的相关设计以及部分代码审核。以及部分业务系统中部分前端页面的开发
负责制定与业务系统相关的数据接口标准,并进行相关的系统接口开发工作;
与产品对接安排开发周期按时完成开发计划。
监测生产问题防止系统故障导致事故。
核心项目:
携程火车票电子客票线下票台项目 (
SpringBoot Mybatis MySQL Kafka Redis K8S Distributed Transactions Quartz)
- 我在该项目中作为主开发,负责该项目中大部分功能开发。
- 负责对接携程内部火车票务接收C端订单并在系统中进行分发
- 包括订单分发,供应商管理,财务自动打款,支付核销等功能的开发
- 基本架构使用的springboot+mybatis+mysql架设,对进单以及退票系统进行过改造,全局使用reids作为分布式锁。并且数据交互接口为异步交互。缓存使用redis以及部分查找功能使用es。
- 负责支付模块的开发。负责系统开发文档的编写。其中关键使用redis作为分布式锁,并且使用数据库乐观锁管理账号余额增减,以及日常付款等功能。
- 负责参与需求评审,需求沟通,需求落地以及实现。
🏦 平安消费金融 | Java中级工程师 (2020.01 - 2021.01)
风控科技部 | 金融科技方向
职责
- 负责业务系统的开发工作,包括需求分析、系统设计、编程和测试等;
- 负责制定与业务系统相关的数据接口标准,并进行相关的系统接口开发工作;
- 应用系统维护支持,协助运营处理生产事件,数据修改,数据采集相关工作;
- 对其他软件工程师的代码进行审核;
- 参与相关领域的业务需求和功能设计评审;
- 参与开发评估,开发计划推荐和关联部门系统的事项推进;
重点项目:
风控系统接入:
在部分接口执行完毕后,需要对接风控系统。
使用aop切面编程,利用注解的方式,对指定接口进行around包裹,在返回结果后,根据参数类型判断阶段状态,来分别对接风控系统。
商城订单对接:
对接平安内部的商城系统。使用springboot+redis+mysql+mybatis+cloud+apollo
负责对公转账模块。从需求阶段开始接受,自行设计,编写表结构,时序图
每日对账定时任务执行完毕后,需要执行公对公转账。
使用乐观锁原理,来使得转账定时任务可以与对账定时任务互不干扰。并且可以多次重试失败的转账。
使用redis,完成实现补处理接口的锁。使得同一笔转账不会转账两次
基础信息查询模块建设:
使用的springboot+oracle+mybatis+redis+cloud+定时任务。
主要是对于原有基础信息下发系统的改造。基础信息下发系统主要以数据库表的形式,放在数据库中。专门由公司的一个系统集中管理所有基础数据,并且下发给别的系统使用。例如省市区信息,职业信息等。
将原有定时任务发送所有表给使用者的模式,改为了接口调用。
为了保证接口的效率,使用定时任务定时扫描所有基表改动信息,将改动信息存入reids缓存。以hset的形式存储,每一张表对应一个redis的key值。用以建立一个类似索引的机制来加快查询效率。
进件域改造:
使用springboot+redis+oracle+mybatis+cloud+apollo
主要负责用户信息完善模块,用户信息的校验,添加。使用了内部搭建的流程控制系统来控制整个进件流程。
负责银行卡绑定模块,验证码校验的逻辑。主要跟平安的付款系统交互。
开户系统搭建:
使用springboot+redis+oracle+mybatis+cloud+apollo
主要负责在对接银行使用一类户卡开通二类户的接口。跟其它系统对接参数。
使用了redis控制用户数据的缓存吗,使得校验和开户可以分开,使用apollo动态配置参数。
🍎 山西金石榴网络科技有限公司 | Java中级工程师 (2017.01 - 2019.12)
开发部 | 项目工程
进行项目的后端代码开发,以及维护。将需求落地实现,按时完成相关代码开发需求
🏆 技术成就
- 携程2021 Hackthon冠军 项目
📚 技术影响力
- 开源项目贡献者(libgdx-doc)
📌 附加信息
- 英语能力:熟练阅读英文技术文档
- 技术追求:持续研究各种架构,保持学习。对于OpenGL以及Java游戏框架LIBGDX也有一定的兴趣,正在持续学习中