1.熟练使用 JDK 中的集合、队列、锁、多线程,了解其底层结构和原理;
2.熟练使用 Spring、Spring Boot、Spring MVC、Spring Cloud、MyBatis 框架;
3.熟练使用 RabbitMQ、Dubbo、XXL-JOB 等中间件;
4.熟练使用 MySQL、Redis、MongoDB 数据库,有水平分表经验;
5.熟练使用设计模式,如模板、策略、责任链等模式;
了解 Docker、k8s,有使用经验;
6.编译过 Spring、Spring Boot 源码,阅读过框架部分源码;
7.对业务拆分、微服务拆分、技术架构设计有一定经验
2023.10-至今
目前在一家互联网公司任职,主要从事AIGC应用层开发
2019年-2023年: 北京企家有道科技有限公司(薪人薪事)
工作内容:
(1)经历了薪人薪事单体应用向微服务拆分重构过程,考勤业务目前有 6 个微服务。
(2)多次主导和设计考勤重大需求。
(3)多次参与系统升级和技术改造,比如全链路 traceid 跟踪、数据库迁移和分表、dubbo
升级等。
项目一:考勤主系统
相关技术:springboot+mybatis+mysql+redis+mongodb+dubbo+zk+rabbitmq+nacos+maven+git
项目描述:该系统是一个多Module 应用,是所有考勤业务的主要入口,分别为管理员 PC、
员工 H5和 APP 端提供服务。包括了考勤设置、考勤状态引擎计算、假勤审批、年假计算
和加班计算等业务逻辑。
(1)维护升级考勤状态计算引擎,运用责任链模式使考勤状态计算易拓展和维护。
(2)参与过加班计算相关需求,该需求实现过程中运用了 DDD 模型,目的是为了解耦错
综复杂的业务。
(3)参与过年假计算和考勤设置等相关需求。
(4)多次改造该系统各 Module 间的循环调用关系,比如拆除 commons module、整合删除
冗余代码等。
项目二:考勤报表计算系统
相关技术:springboot+mybatis+mysql+dubbo+redis+mongodb+rabbitmq+zk+maven+git+nacos
项目描述:该系统是由我主导从考勤主系统中拆分重构的独立服务,是对员工的考勤数据
进行分类汇总,分为日报表和月度报表,为考勤HR提供有利的数据支撑。
(1)利用数据分层思想来设计数据存储和计算架构,同时将报月度表数据存储方式由纵
表改为宽表,单表数据存储记录减少 90 %。
(2)利用 MySQL 的 JSON 数据类型和虚拟列特性。冗余员工数据,使报表分页、搜索摆
脱对员工组织服务的强依赖,查询耗时由 3 秒降低到 0.8 秒。
(3)利用多线程和 XXL-JOB 分布式调度实现月度报表近实时计算,月度报表计算延迟控
制在 1 分钟内。
(4)利用 MongoDB 存储日报表数据,基于 RabbitMQ 的批量消费、消息重试、延时消费
功能来确保日报表数据计算不丢失和数据实时生成。
(5)利用 EasyExcel 导出报表数据,分页查询数据写本地文件,然后上传 OSS,避免了高
峰期客户集中导报表数据宕机情况的发生。
(6)通过水平分表、冷热数据隔离,提高单表查询效率和降低单表数据存储总量。
项目二:考勤打卡系统
相关技术:springboot+mybatis+mysql+mongodb+dubbo+zk+rabbitmq+nacos+maven+git
项目描述:该系统主要功能是提供员工打卡、查询打卡记录和接收第三方对接平台同步的
打卡记录,该服务处理全年处理打卡 1 亿+次。
(1)员工打卡入口有 APP、H5、对接的钉钉、飞书、企业微信等第三方平台。
(2)对打卡记录按企业 ID为维度进行分表,只保留近一年的打卡记录,历史数据转移到
历史归档库中
(3)设计熔断打卡服务,即当打卡业务受到其他服务影响不可用时,利用网关给各打卡
入口返回指定错误码后,让打卡业务走熔断服务,保证服务的可用性。
2018.03-2018.12: 美团点评
在美团点评工作期间,主要负责美团闪付、美团SaaS公交平台相关工作。
项目一:美团闪付交易系统
相关技术:spring+springmvc+mybatis+mysql+redis+maven+git+thrift+kafka+es
项目描述:美团闪付是美团、外部银行和银联三方共同合作推出的线上、线下 pos 的创新
支付方式。它充分的利用了手机的 NFC 功能以及各类手机钱包,比如 huaweipay 、apple
pay 等,在不通的领域帮助用户快速完成支付。美团闪付底层通过第三方支付通道钱袋宝
完成交易。美团闪付的主要流程有:
(1)开户:生成用户的闪付账户,包括银行二类账户和美团自己的账户 ID,即:62 卡+28
卡,该过程由我们的账户系统。
(2)加载设备卡:将我们的闪付账户绑定到手机的各种 pay(apple pay、huawei pay 等)
中,由设备卡系统完成。
(3)交易:用户消费扣款流程,由闪付交易系统完成,交易系统借助美团支付平台扣取
用户在美团平台绑定的银行卡上的钱。我们的交易方式有:消费、冲正、撤销、预授权申
请、预授权完成、预授权撤销、预授权完成撤销。
项目二:美团公交sass平台账户系统
相关技术:spring+springmvc+mybatis+mysql+redis+maven+git+thrift
项目描述:公交saas平台是为了给不具备或者科研能力不足的公交公司提供一个易接入,
可靠的二维码乘车平台。该平台包含了三个主要模块:账户系统、二维码拉码系统、乘车
交易系统。整体流程如下是:
城市的公交公司想接入美团saas平台,它需要接入saas平台的账户系统、拉码系统和交
易系统。账户系统负责为用户分配一个唯一的卡号;拉码系统负责把用户信息按固定格式
生成一个字符串,由客户端将该字符串制作成二维码进行展示,公交机具厂商车载机识别
码后生成交易记录,异步上送到交易系统。该流程即可完成用户的一次乘车行为。
2015年-2018年: 京东金融
在京东金融集团工作期间,主要负责市场营销系统以及相关营销活动开发。主要参与了小金库红包、陪伴计划、京东金融会员项目、京东金融优惠券返利系统等项目
项目一:小金库红包系统
相关技术:spring+springmvc+mybatis+mysql+dubbo+zk+redis+velocity+bootstrap+maven+git
项目描述:该项目主要是为京东金融各类营销活动提供红包发放服务、小金库拉新、提高
小金库保有量。该项目的架构分为三部分:
(1)rpc 服务:提供红包发放服务;用户红包余额查询服务,双 11 期间该服务的 qps
达1.1w。
(2)运营后台:基于shiro的权限管理、活动管理、订单管理以及数据统计。
(3)分布式work:基于数据库实现分布式work,异步发放红包奖励;定时任务扫描过期
红包记录;监听业务线mq消息处理拉新用户红包奖励发放
该系统是一个多Module 应用,是所有考勤业务的主要入口,分别为管理员 PC、 员工 H5和 APP 端提供服务。包括了考勤设置、考勤状态引擎计算、假勤审批、年假计算 和加班计算等业务逻辑。
在京东金融集团工作期间,主要负责市场营销系统以及相关营销活动开发。主要参与了小 金库红包、陪伴计划、京东金融会员项目、京东金融优惠券返利系统等项目