刘天龙

13476248538(同微信) | liutl_wel@163.com
个人主页:https://liutianlong.top
1994-11 | 男 | 陕西省靖边县 | 离职 | 西安
求职意向:Java 开发工程师 | 期望薪资:18k-19k

教育经历

中国地质大学(武汉) | 2014.09 - 2018.07
信息与计算科学 · 本科 · 数学与物理学院 · 全日制 | 武汉

专业技能

Java 后端: Java 基础、JVM、多线程与并发;Spring、Spring Boot、Spring Cloud、MyBatis、Hibernate、Dubbo、Nacos。
数据与中间件: MySQL(索引、事务、SQL 调优)、Redis/Redisson、Kafka、RocketMQ;可使用 Python 处理数据。
工程能力: 分布式锁、异步消息、批处理与并行计算、公式/规则引擎、慢 SQL 与 JVM 问题定位。
工具: Linux、Git、Maven、IDEA、VS Code、MAT、JMeter、Druid。

工作经历

用友网络科技股份有限公司 | 2021.12 - 2026.02
后端开发高级工程师 · 薪资核算 | 北京
负责薪资档案、薪资取数、发放单核算审批及支付明细,保障多租户薪酬业务准确、稳定运行。

北京东方国信科技股份有限公司 | 2019.09 - 2021.11
软件开发工程师 · 数据治理产品研发中心 | 北京
负责数据治理平台统一调度工作流的设计、开发与维护,覆盖流程发布、调度执行、监控运维和事件触发。

中国科学院地理科学与资源研究所 | 2017.12 - 2019.09
科研助理 · 农业政策研究中心 | 北京
使用 TERM/CGE、MATLAB、R、Python 开展分析建模、数据处理与可视化。

项目经历

人力-薪酬管理

项目周期: 2021.12 - 2026.02 | 所属公司: 用友网络科技股份有限公司 | 角色: 后端开发高级工程师

项目简介: 用友 BIP 人力云薪资业务模块,覆盖薪资档案、薪资标准、发放单和支付明细,贯通维护、审核与支付流程。

主要工作与技术问题:

  • 发薪方案及项目生成(公式依赖闭包): 基于 MDD 元数据生成方案版本和发放项目;递归解析公式变量构建依赖闭包,校验权限、启用状态、分段、税种兼容与重复引用,避免引用版本中不存在的项目。
  • 薪资发放单及人员生成(组合、去重与批量装配): 按“发薪方案 × 薪资期间”生成发放单模型,预先查询已存在发放单以避免重复创建;按组织和方案懒加载发薪人员,批量装配发放单人员后按 1000 条分片写入,兼顾多组织生成效率与事务粒度。
  • 发薪人员生成(多段任职算法): 解析本组织、非在职、历史任职和业务规则等核算范围;把候选人按任职开始日期排序,以薪资期间与任职有效期重叠为条件筛选,计算多税种和个税组织,并标记最后任职记录,保证人员档案与任职变更时间线一致。
  • 异步消息处理(分页状态机与背压): 使用模板方法统一同步流程,通过 BatchHandler 每页查询 1000 条、累计成功数并计算进度;任务提交至带界队列的 YMS 线程池,队列饱和时采用 CallerRunsPolicy 背压,Redis asyncKey 保存进度、失败信息并供前端轮询。
  • 本地消息补偿(幂等与并发收敛): 任职变动事件通过事件总线本地消费,过滤无效元数据并按 任职ID + 操作类型 剔除重复消息;发送失败返回非成功状态交由上游重试,消费异常标记 Retry。针对方案同步与事件消费同时生成同一人员的问题,使用方案级/任职级 Redis SETNX 锁、超时释放和差异化锁值合并结果,保证重复投递和并发消费下最终一致。

技术栈: Java、Spring Boot、MDD、MyBatis、MySQL、Redis、Kafka。

人力-薪资计算引擎

项目周期: 2021.12 - 2026.02 | 所属公司: 用友网络科技股份有限公司 | 角色: 后端开发高级工程师

项目简介: 薪资核算核心服务,覆盖数据采集、公式解析、分段聚合、重算、分布式进度和结果落库。

主要工作与技术问题:

  • 分布式进度卡在中间值: 多批次计算由不同实例上报进度,实例异常退出后批次永久未完成;使用 Redis 分布式锁串行更新、批次加权聚合,并结合实例存活列表回收失效批次,使总进度正常收敛。
  • 大名单计算的内存与性能压力: 采用名单分批、ForkJoinPool 员工/项目双维度并行、批量查询和 CallerRunsPolicy 背压,并按薪资项目按需加载考勤、社保、定调薪等数据集,减少全量取数和内存占用。
  • 公式依赖与跨期计算错误: 对个税等强依赖项目重排计算顺序;年度累计函数增加有限重试,超限直接失败;修复分段计算、假勤批量取数和存休折算问题,保证“计算成功后再落库”。
  • 函数取数链路异常: 围绕“函数参数解析 - 数据集预取 - 变量转换”逐层定位定调薪档案和业务规则取不到值的问题,补齐数据集及参数适配,并前置校验规则配置。
  • 补发补扣/离职测算: 主导按原方案、薪资期间和历史发放单重建计算上下文,完成员工差额重算与差异明细回填,保证历史调整可追溯。

技术栈: Java、Spring Boot、MDD MetaDao、MyBatis、MySQL、Redis/Redisson、Kafka、ForkJoinPool、YMS。

数据治理平台-统一调度调度器

项目周期: 2019.09 - 2021.11 | 所属公司: 北京东方国信科技股份有限公司 | 角色: 软件开发工程师

项目简介: 调度编排服务,负责任务触发、流程运行控制及调度请求分发。

主要工作与技术问题:

  • 重复调度与状态失联: 手动、Quartz、事件和父子流程均可能触发同一流程;通过调度唯一记录、启停状态机、持久化调度参数和幂等判断,避免重复启动和取消竞态。
  • 子流程变量传递错误: 梳理父子流程变量映射及同步/异步调用方式,在启动前完成变量替换和子流程版本解析,保证父子流程状态与参数一致。
  • 实例宕机后的任务恢复: 记录任务所在节点与运行状态,通过 Dubbo/REST 重试、节点故障转移和宕机任务重新分发,解决多实例环境下任务失联。

技术栈: Java、Spring、Spring Boot、Hibernate、MySQL、Dubbo、Redis、Nacos、ZooKeeper。

数据治理平台-统一调度执行器

项目周期: 2019.09 - 2021.11 | 所属公司: 北京东方国信科技股份有限公司 | 角色: 软件开发工程师

项目简介: 工作流任务执行节点,负责接收调度请求、运行任务、回调结果并上报资源状态。

主要工作与技术问题:

  • 多类型任务互相阻塞: 支持 SQL、存储过程、Shell、JavaScript 和自定义插件,按任务类型拆分线程池并增加业务线程池限流,避免单一慢任务耗尽公共执行资源。
  • 任务无法停止与资源泄漏: 实现执行线程中断、强制终止、任务资源释放和堆栈采集,为运维停止异常任务、恢复执行器节点提供手段。
  • 执行结果回调失败: 对 RPC 回调结果进行重试和补偿,补充运行任务数、峰值、线程堆栈、CPU/内存等监控,缩短任务卡死和节点异常的定位时间。

技术栈: Java、Spring、Spring Boot、Dubbo、Nacos、ZooKeeper、线程池、Shell、SQL。

数据治理平台-统一调度管理平台

项目周期: 2019.09 - 2021.11 | 所属公司: 北京东方国信科技股份有限公司 | 角色: 软件开发工程师

项目简介: 工作流管理服务,提供流程建模、保存发布、版本与调度配置及监控运维。

主要工作与技术问题:

  • 多表流程保存一致性: 流程保存涉及流程、任务、事件、实例和调度数据;重写二次保存与状态更新,明确事务边界,修复重复保存和发布异常。
  • 监控列表重复与慢查询: 多角色用户会重复看到流程,重写监控查询并去重;结合大表分区、索引重构和 Druid 慢 SQL 分析降低查询压力。
  • 事务/JVM 稳定性: 修复 Spring 事务代理回滚,定位 CPU 和内存溢出,并用 Redis 缓存热点数据。

技术栈: Java、Spring、Spring Boot、Hibernate、MySQL、Dubbo、RocketMQ、Redis、Nacos、GitLab。

开源商城项目学习实践(yudao-cloud)

项目周期: 2026.02 - 至今 | 所属公司: 开源项目 | 性质: 个人学习与本地实践

项目简介: yudao-cloud(芋道源码)基于 Spring Cloud Alibaba,商城拆分为商品、营销、交易、统计四个服务,并与会员、支付、基础设施协同。

项目来源: GitHub - YunaiV/yudao-cloud

主要工作与技术问题:

  • 商品模型问题: 围绕 SPU/SKU、分类品牌、规格属性、上下架、库存销量、收藏和评价,梳理多规格商品的数据建模及商品服务对外 RPC 接口。
  • 营销规则耦合: 交易价格计算将商品价、会员优惠、优惠券、限时折扣、积分和物流费拆为独立计算器;通过计算器链组合规则,使新增营销类型减少对订单主流程的侵入。
  • 库存并发超卖: 学习带库存条件的原子更新(仅当库存充足时扣减),并区分下单、支付、取消和售后场景的库存变化,理解并发校验与补偿边界。
  • 支付回调重复处理: 支付回调根据订单状态和支付单号校验,重复通知直接返回,避免重复更新订单;结合唯一约束和消息重试理解支付与交易的一致性。
  • 状态流转与补偿: 梳理订单创建、支付、取消、收货、评价和售后退款状态,结合 XXL-Job 自动取消/收货/评价任务及支付退款 API,理解状态机与跨服务补偿。
  • 工程链路跟踪: 结合本地配置跟踪“商品展示 - 营销匹配 - 购物车/结算 - 下单支付 - 库存更新 - 售后退款”,整理 Nacos、Gateway、Feign、MyBatis Plus、Redis 的协作方式及问题定位文档。
  • 计价链与金额边界: 分析促销计算器依次处理会员、折扣、优惠券、积分和物流费的顺序,以及商品级、订单级优惠金额的累计方式;通过最终支付金额校验拦截异常计价结果。
  • 购物车有效性校验: 购物车展示需要跨商品服务批量获取 SPU/SKU,下架、删除或库存不足时标记无效;学习将多次单项查询合并为批量查询,降低商城首页和结算页的 RPC 压力。
  • 库存回退路径: 区分支付成功扣减、订单取消和售后完成后的补回操作;通过订单项与 SKU 的映射统一转换为库存变更请求,避免各业务分支重复实现库存逻辑。
  • 多租户与登录上下文: 梳理网关解析 Token 后通过请求头透传租户和登录用户,Feign 拦截器在商城跨服务调用时继续传递上下文,避免商品、交易和支付服务读取到错误租户数据。
  • 本地部署与问题定位: 对比单体与微服务启动方式,梳理端口、Nacos 命名空间、MySQL/Redis 和网关路由配置;通过服务调用链与日志定位跨服务接口异常,形成可复现的本地调试记录。

技术栈: Java、Spring Boot、Spring Cloud Alibaba、Nacos、Spring Cloud Gateway、OpenFeign、MyBatis Plus、Redis/Redisson、XXL-Job、MySQL。

个人总结

7 年 Java 后端开发经验,长期从事人力资源 SaaS 与数据治理平台研发,具备复杂业务链路分析、跨模块协作和线上问题定位能力。熟悉批处理、并行计算、消息队列与分布式任务调度,注重数据准确性、可观测性和代码质量。