个人简历
by tong
邮箱:2585463717@qq.com 岗位:Java后端开发工程师
教育经历
河北师范大学 - 本科 - 软件工程专业 (2019.09 - 2023.06)
CET-6(英语六级)
专业技能
- 具有扎实的 Java 基础,对集合、多线程、JVM、SPI 机制有深入理解
- 熟悉设计模式原则,熟练掌握常用的设计模式:单例、模板、策略、责任链等
- 熟练掌握 Spring MVC、SpringBoot 等开发框架,对 Spring 源码和核心原理有一定理解
- 熟悉 MySQL,能够进行 SQL 的优化及问题处理,了解分库分表相关知识
- 了解分布式系统的设计与应用,熟练掌握 Redis、RocketMQ 的使用及核心原理
- 熟悉 Spring Cloud Alibaba 微服务体系及相关组件
- 具有良好的英语阅读和书写能力,能够阅读英文技术文档
工作经验
科大讯飞有限公司 - Java 后端实习工程师
2022.04 - 2022.07
施耐德电气 - 供应链数据开发实习生
2022.11 - 2023.02
古茗科技有限公司 - Java 后端开发工程师
2023.02 - 2024.12
项目经历
拓展系统
项目介绍
打通了古茗意向加盟商到加盟商的流程,涵盖加盟商申请、资格审核、选址落铺等功能,便于总部进行管理,提升加盟商开店效率
技术栈
SpringCloud + SpringBoot + Nacos + MySQL + MyBatis + Redis + RocketMQ + XxlJob
职责
- 独立负责人才池、消息模块的开发与设计,确保模块的高质量交付。
- 主导代码审查,优化代码质量,确保系统的稳定性和可维护性。
- 参与制定并推动代码规范的实施,指导新成员快速融入团队,提升团队整体技术水平。
挑战与解决方案
1. 地理空间服务优化
业务背景:
需实时计算拓展随机画出范围内的特定点位类型数据,校验选址是否符合总部规则,包括店铺、竞品、商圈等百万级点位数据,涉及复杂空间关系判断与高并发查询
技术方案:
- 空间计算选型:
- 对比 Redis GEO:因需处理多边形等复杂计算规则,选择 MySQL+JTS 方案
- 使用 JTS 的
STRtree 加速空间查询,处理 10 万级多边形区域
-
索引优化:
- 通过 explain 发现原有的索引失效,通过查阅官方文档等方式找到根因问题(需要显式指定坐标系类型和字段不为空)
成果:
- 地图范围查询接口平均从 5 s→500 ms,极大提升了用户体验感
- 输出《MySQL 空间索引最佳实践》,在组内进行分享
2. 消息模块建设
业务背景:
在拓展端会设计到不同应用的发送消息类型不同(钉钉、微信、短信),另外根据业务需求不同,消息发送的时间也不同(即时通知,定时通知,延时通知)
- 消息类型扩展:
- 使用 SPI 机制解耦消息接口与具体实现,支持钉钉、微信、短信等多种消息类型的动态扩展。
- 不同类型消息实现:
- 实时消息:使用 RocketMQ 消息队列
- 延时消息:基于 Redis 的 ZSet 数据结构,设计延时消息队列
- 定时消息:使用 XxlJob 定时任务调度
成果:
- 方便了不同系统的消息类型选择,减少重复开发和使用成本
巡店系统
项目介绍
古茗巡店系统是为督导和稽核服务而设计,旨在确保门店出杯品质(古茗旗下近万家门店)。该系统方便督导人员通过线上进行门店巡查,稽核远程发现门店违规操作。门店员工及老板可以使用系统记录巡店情况、提交报告,以确保门店运营符合标准。
技术栈
SpringCloud + SpringBoot + Nacos + MySQL + MyBatis + Redis + RocketMQ
具体工作
- 巡店系统 Java 后端核心开发
- 负责合规、门店待办等模块的日常开发
- 参与需求分析,组织技术方案设计,对项目进行管理
- 项目上线后续跟进,优化,线上问题排查跟进
工作成果
- 代码封装:
- 在对接简道云的过程中,发现同一类型的字段需要转换成不同类型处理,通过自定义注解进行实现,实现快速转换,简化了开发流程,提高了代码的可维护性和可读性。
- 应用 AOP 技术封装用户权限获取功能,简化权限验证逻辑,提升代码复用性和系统可维护性。
- 接口优化:
- 在日常巡检过程中,发现数据导出接口耗时过长,通过 SQL 索引优化、深分页处理等方式对接口进行优化,平均从原有的 20 s 降低至 500 ms 左右,提升了用户体验
- 协助他人:
- 在上线过程中,发现店铺数据缺失的问题,协助同事分析并解决了数据缺失的多线程安全问题,确保系统顺利上线运行
自我评价
- 具备良好的学习能力和对新事物的接受度
- 注重沟通,能够与团队高效合作,解决问题并实现目标
- 追求高质量的代码,注重规范性、可读性和可维护性,确保系统的稳定性和可靠性
- 具备责任心,能够在压力下保持稳定,并有效地处理挑战
home