简历编写指南
专业技能
Java基础
熟练掌握 JavaSE 基础知识,熟悉多线程与并发编程,具备良好的面向对象编程思想。熟练掌握 Java 核心知识、JUC、HashMap、斐波那契散列等,具备良好的面向对象编程思想。熟练掌握Java核心知识、JUC、HashMap、斐波拉契散列等,具有良好的面向对象编程思想
熟练掌握 Java 设计模式,如工厂、代理、模板、策略等设计模式,并善用设计原则构建可复用代码。
深入理解 JVM 底层原理,熟悉 JVM 各类垃圾收集器的使用及核心参数的调优,具备一定的 JVM 调优能力。
设计模式:熟悉常用的设计模式,设计原则,理解其设计意图,构建易维护,易拓展,高灵活,可测试的代码.
熟练掌握 Java 设计模式,如工厂、代理、组合、策略等设计模式,并善用设计原则构建可复用代码。
熟练掌握Java语言基础和面向对象的思想,具备良好的编码习惯
熟练掌握集合框架,了解常用集合的原理,如ArrayList、LinkedList、HashMap等
掌握Java并发编程,如锁机制、线程池机制、AQS等
熟悉JVM的内存结构和垃圾回收机制和类加载机制
熟悉掌握 JAVA 核心知识、JUC 并发工具类的使用和原理,如线程池、原子类、ReentrantLock 阻塞队列等, 阅读过部分 JDK 源码,如 ArrayList、HashMap,熟悉 JAVA 异常处理流程。
深入理解 JVM 底层原理,熟悉 JVM 各类垃圾收集器的使用及核心参数的调优,具备一定的 JVM 调优能力。
数据库
- 熟练使用 MySQL数据库,熟悉数据库事务控制、索引优化、SQL 语句调优。
- 熟练掌握 MySql,掌握 MySQL 主从同步,读写分离技术以及集群的搭建,具备一定的 SQL 调优能力。
- 深入理解 Redis 线程模型,熟练掌握 Redis 的核心数据结构的使用场景,熟悉各种缓存高并发的使用场景,比如缓存雪崩,缓存穿透等。
- 熟悉Redis五大常用数据类型及应用场景,了解RDB和AOF持久化
- 深入理解Redis线程模型,熟练掌握redis的核心数据结构的使用场景,熟悉各种缓存高并发的使用场景,比如缓存雪崩、缓 存穿透等。
- 熟悉MySQL的基本原理及使用,了解MySQL索引、事务、日志、锁机制
Spring全家桶
熟练使用 Spring、SpringMVC、SpringBoot、MyBatis 等开源框架,多年实战经验,可快速根据需求完成项目的构建;阅读并编写过 Spring 全链路核心功能源码,如 AOP、IOC,对源码有一定的理解,并能运用到实际业务开发中。
熟练运用 Spring Cloud/Spring Cloud Alibaba 技术栈,以及基于微服务框架搭建和开发,对分布式服务特点,旧服务的改造,服务划分有着深入理解。
开发框架:熟练使用 Spring、SpringBoot、SpringCloud、Mybatis、Mybatis-Plus 等主流开发框架,可以快速开发高质量的软件
阅读并编写过Spring部分核心功能代码,如AOP、IOC,对源码有一定的理解,并且能运用到实际业务开发中。
熟练掌握Spring Boot、Spring、MyBatis等常用框架的使用,了解Spring的IOC、AOP原理
了解Spring Cloud微服务,了解Nacos、Gateway、RocketMQ的使用
深入学习 Spring 核心流程模块,如IOC、AOP、依赖倒置等,掌握Spring解决复杂场景所需的分治、抽象和 知识(设计模式、设计原则),能从核心原理上解决Spring场景问题。同时,具备基于 Spring 开发 SpringBoot Starter 的技能,减少研发成本,为复杂项目提供通用技术组件。
阅读并编写过 Spring 全链路核心功能源码,如 AOP、IOC,对源码有一定的理解,并能运用到实际业务开发中。
消息队列
消息队列: 熟悉消息队列 RocketMQ,能够实现系统间的异步、削锋和解耦。
熟悉 RocketMQ 消息中间件进行消息的异步数据处理。
熟练掌握 Redis 的核心数据结构的使用场景,熟悉各种缓存高并发的使用场景,比如缓存雪崩,缓存穿透
熟练掌握分布式场景中的常见的技术问题及解决,比如分布式锁,分布式事务,分布式 session,分布式任务调度。
熟悉 RabbitMQ、Kafka 等常用的消息中间件进行消息的异步数据处理。
掌握 Linux 常用命令,了解 Nginx 服务器,熟练使用其实现反向代理,负载均衡,动静分离等功能。
工作经历
个人工作经历:
深圳市宇航智能信息技术有限公司 ZN-技术中心-Java开发工程师 2023.3~2024.3
- 参与公司产品的开发与维护
- 参与项目上线部署维护,运行优化
- 负责了旧系统的对接增量业务的全流程研发,涵盖了从设计、开发、测试到调优的各个环节
模版工作经历:
*XXXX**软件开发工程师 2022.11 – 至今
XXXX软件开发工程师 2021.03 - 2022.10
XXXX软件开发工程师 2020.06 - 2021.03
科技有限公司 2022-10 ~ 2023-07 全栈开发工程师
主要负责高校数字化业务,担当前后端维护开发的重要角色。通过工单的指派,积极完成系统的持续优化和功能增强。负责与团队协作,确保系统稳定运行,并提供技术支持解决潜在问题。
物流有限公司 2021-06 ~ 2022-06 IT部 java开发工程师
负责了旧系统的对接增量业务的全流程研发,涵盖了从设计、开发、测试到调优的各个环节。
技术上负责后端,前端,app 端的增量修改。
对于新重构的系统,主要负责对接业务的设计、开发和测试,深入理解和掌握业务需求,为新系统的开发提供强有力的支持。
2020-04 ~ 2021-05 深圳市泓齐网络科技有限公司 Java开发
- 负责完成项目负责人分配的开发任务
- 参与项目的实施以及问题排查工作
2021-06 ~ 2023-01 珠海卓轩科技有限公司 Java开发
- 惟客云系列产品迭代开发与维护,完善标品功能体系。
- 惟客云 DDD 改造升级,协助制订 DDD 开发流程规范,领域模型搭建,负责商品域设计与开发。
- 以惟客云标准产品支持事业部交付项目,提供技术指导与开发。
- 参与项目上线部署维护,运行优化等。
2023-03 ~ 至今 深圳市兔展科技有限公司 Java开发
- 参与储备一代系列产品迭代开发与维护,完善标品功能体系。
- 参与项目上线部署维护,运行优化等。
- 参与公司基础产品的升级与维护
项目经历
项目名称:华大智造MES 项目(2022 年 7 月-至今)
项目描述: 轻 MES 项目是供应链侧的重要系统之一,打破了和供应商之间的生产信息壁垒,实现了**管控供方全库存信息、供方制造过程全透明、过程批次扣料绑定追溯、作业标准化,供方品质在线。目前轻 MES 项目上线了49 家供应商,每天产生 50 多万的生产数据。
**技术架构:**Spring Cloud、Spring Boot、MyBatis-Plus、MySQL、Redis、SkyWalking、xxl-job
职责描述:
随着上线的供应商增多,生产数据增大,导致扫描端无法承载起现在的业务,导致了大量供应商负面反馈,对 MES核心模块扫描模块进行重构
1. 对生产数据中的核心数据表进行分析,结果显示表中 85%的数据为冷数据,对此对表进行了冷热数据的拆分,使得核心表的数据保持在 300 万左右,使得核心表的读写效率提高了 90%
2. 对扫描逻辑的代码流程重构,引入 Redis,将生产扫描的数据进行预热处理,引入了 Redisson 分布式锁,防止产品码同一时间的重复扫描。
3. 引入 SkyWalking 对分布式链路进行监控和追踪。
项目名称:营销中心-抽奖活动(2023 年 2 月-2023 年 6 月)
项目描述: 抽奖活动是**营销中心的一个重要服务,主要是用于满足 C 端人群拉新、促销、留存的系统。该系统运
用抽象、分治和 DDD 知识,拆解服务边界,凝练领域服务功能。围绕抽奖服务建设领域服务,包括规则引擎、抽
奖策略、活动玩法、奖品发放等。这可以满足业务产品快速迭代上线的需求,同时减少研发成本,提高交付效率。
**技术架构:**Spring Cloud、Spring Boot、MyBatis-Plus、MySQL、Redis、RocketMQ、xxl-job
职责描述:
1. 参与构建以 DDD 分层结构的处理方式,搭建整个抽奖系统。
2. 运用工厂、策略、模板等设计模式提高代码的可读性以及可维护性。
3. 因活动秒杀的并发场景,将秒杀从最开始的数据库行级锁优化为 Redis Key 加锁,又从 Redis Key 的独
占锁,优化为滑块锁。优化后整体秒杀性能提升 70%。
4. 解耦抽奖流程,把抽奖和发奖用 RocketMQ 消息串联起来,避免一个流程太长,导致用户一直等待。
项目名称:物流工作台-WMS 项目(2022 年 11 月-2023 年 3 月)
**项目描述:物流工作台项目-WMS 项目解决了供应链侧的库存不透明,需要大量人工汇总、数据失真,价值变现大、周转保障差等问题。其中 WMS 项目上线了 100 多家仓库,每日的进出库扫描量达到 600 万。
**技术架构:**Spring Cloud、Spring Boot、MyBatis-Plus、MySQL、Redis、RocketMQ、SkyWalking、xxl-job
职责描述:
参与 WMS 项目的需求评审、架构设计以及技术选型,构建高可用,高并发,高扩展性的系统架构。
定义热点数据并缓存到 Redis 中,降低了数据库的访问压力,提高了出库扫描接口的响应时间(从 1s 减少至 40ms)。
利用 Redisson 分布式锁,解决出入库条码重复扫描问题。
利用异步编排技术,使用自定义线程池+ CompleteFuture 并发编程提高了报表查询接口的效率(响应时间从 10s 减少至 500ms)
采用 RocketMQ 和 xxl-job 定时任务补偿机制实现分布式事务的最终一致性。
参与文件服务的开发,接入阿里云 OSS 文件系统。
项目名称:营销活动平台 2023-01 ~ 2023-06
**项目描述:**抽奖系统是营销活动平台中的一个重要微服务,用于满足C端人群拉新、促活、留存的系统。核心模块包括抽奖、发货、决策等。系统在秒杀场景下进行优化
核心技术: SpringBoot、Mybatis、Dubbo、Kafka、MySQL、XDB-Router、ES、ZK、Redis
职责描述:
为满足不断变化的业务需求,采用DDD(领域驱动设计)的方式进行项目分层,构造出具有组装化、可编排、可插拔特性的服务。
为应对业务需求和领域边界,将流程细分为规则引擎、活动维护、抽奖策略、奖品发放等模块,以此确保系统的维护性和迭代能力。
为满足模块工程的非业务需求,针对各个领域特性,结合设计原则和多种设计模式(如工厂、模板、组合和策略等),设计出易维护,易拓展的代码。
考虑到热点接口有瞬时大量并发,将 默认tomcat服务,切换为Undertow服务大量减少线程切换,无数据库性能提升200%.梳理热点接口,发现库存扣减存在大量锁竞争,参考 ConcurrentHashMap 分段锁以及Redis 令牌库存设计思想,结合实际情况从 Mysql 行锁,优化为 Redis Key 滑块锁,实现了更细粒度的并发控制.
为提升接口的响应时间,通过使用消息队列,解耦了数据库落库与发奖流程,减少了热点接口的响应时间。
针对项目进行压力测试阿里云计算型4h8g 100mbps,并发500,QPS 平均 455.24 上下,tp50: 211 tp95: 470 tp99: 516. 平均 RT 215.96ms
测试发现并发超过 1000 以后响应时间急剧增加,引入 Google Guava RateLimiter 对接口进行限流,保证接口响应时间.
项目名称:DB-Router 数据库路由组件 2023-02 ~ 2023-03
**项目描述:**此组件项目是为了解决在分库分表场景下,可以应对自身业务场景多变特性,即支持个性的分库分表、只分库或者只分表以及双字段控制分库和分表,也可以自定义扩展监控、扫描、策略等规则,同时又能满足简单维护迭代的数据库路由组件。这块路由组件在设计实现上除核心技术外,还进行了严格雪崩标准(SAC) 测试,确保数据的散列效果。
核心技术: AOP、AbstractRoutingDataSource、MyBatis Plugin StatementHandler、扰动函数、哈希散列、ThreadLocal
职责描述:
通过调研平方散列、除法散列、乘法散列、哈希散列以及斐波那契散列等多种散列算法,结合雪崩测试,成功找到了一种适合数据库路由的散列算法,并进行了功能的开发与实现。这极大地提升了数据访问的效率与准确性。
引入MyBatis Plugin插件开发功能,实现了SQL语句执行的表信息动态变更,完成了对应表的策略设计。这使得系统的数据路由更加灵活和精准。
项目名称:鑫磊物流系统 - 蚁链·鑫磊物流信息化平台(两版系统) 2021-06 ~ 2022-06 java 开发
**项目描述:**鑫磊物流平台是公司贯穿的业务,从“人员、车辆、货物流、资金流、信息流”等五个方面对零担物流企业进行全方位的管控,系统真正做到操作简单、贯通全程、三流合一、协作通畅、智能分析。
核心技术: SpringBoot、SpringCloud、RocketMQ、MySQL、Redis、ES、Nacos、Vue
职责描述:
为了确保核心的开单业务稳定,根据国网平台的接口变更和新增的业务进行开发和对接工作,以保证系统的正常运行。
为面向C端用户设计开发微信自助下单业务,减少网点负担,提升C端用户体验.
运单查询导出页面接口的响应时间较长,经过排查发现是Pass系统的字典翻译注解问题。通过调整机器配置、引入ReflectionUtils优化反射操作等方式,将响应时间提升了300%。为提升转运中心的扫描效率,引入了自动扫描机器,减轻了搬运工 人的扫描负担。同时,对扫描机器和物流系统之间进行了对接设计自动扫描模块,大幅度减少了漏扫和人工压力。
为了保证系统的稳定性,处理了一些对接运单过程中的异常情况。通过设计开发通用的异常报警功能,基于AOP、工厂、模板、策略等设计模式,构建了一个易用可拓展的组件。
由于百度地图的精度低于高德地图,并且国网平台和重构平台都使用高德地图,使用适配器和工厂等设计模式实现了灵活可维护的地图切换功能。
高德地图和百度地图使用了不同的坐标系统,因此系统中需要同时存在两种坐标。编写了PHP脚本用于实现高德和百度坐标的转换,以减少人力成本并提升网点用户的体验。
由于部分BI报表由于异常操作导致数据有误,与经理沟通后修正了有误的报表数据,并设置了合理的边界条件,以确保系统的正确性和稳定性。
由于业务数据的快速增长导致月初报表导出时间过长 600s,严重影响了主线业务的运转。通过SQL调优、提前数据采集和分库计算等手段,确保接口及时返回数据,并保证了系统的稳定性。
为了保障老系统的数据安全和减少云数据库的成本,在本地机房搭建了Ubuntu系统,并使用XtraBackup将TB级别的数据进行备份。
新系统上线后,现有的老系统仍负责部分业务。基本上与老系统的功能有所重合。
2021-11 ~ 2022-04 惟客云 DDD 改造 -商品域后端改造
**项目介绍:**惟客云旧系统采用传统的 MVC 架构,经过长时间的迭代后,代码腐化严重,迭代困难,所以决定采用DDD 来重构惟客云 业务系统,由以往的专注于系统的技术架构往专注于解决业务复杂性过渡。
个人职责:
- 协助技术负责人进行整个惟客云业务系统的 DDD 改造,依据公司的核心业务展开进行战略设计,识别出微服务的界限上 下文,划分出营销域、交易域、会员域等核心领域,商品域、订单域、支付域等支撑域,组织架构等通用域;解决了之前微 服务职责不清晰,代码腐化严重,二开成本大等问题,提升了研发与交付效率;
- 参与公司基于 Cola 框架二开的应用框架的规范制定,包括模块的职责,上下文交互,领域指令的规范,技术方案的编 写,文档沉淀流程,领域建模流程制定等等,目前全公司后端微服务都已使用该框架,并向项目交付组推广 DDD 与应用框 架的使用,规范了公司的研发流程与文档协同过程;
- 主要负责商品领域的功能开发,其中通过RocketMq异步接收与发送事件的形式实现了事件驱动,满足各个场景下面对于 商品的需求。使用 TCC 实现履约事务,Seata AT 模式管理短事务,负责与交易以及营销等其他模块的对接,包括接口对 接,上下文交互流程等;
项目成果:
- 完成 DDD 改造,提高了惟客云产品系列的交付质量与效率。
2022-04 ~ 2022-07 华侨城-内容中心
项目介绍: 该项目为华侨城集团文旅业态项目,主要实现了在文旅业态运营模式下的会员管理,主要包含 BBC 商城,餐饮购票,内容发 布等核心功能。
个人职责:
- 构建以 DDD 分层结构的处理方式,搭建整个内容中心微服务,便于后续交付部门基于产品二开
- 交付项目,提升交付效率,能达到 80% 的复用率,项目交付时期提供技术支持,目前已成功交付华侨城与华润项目;
- 剧院票务功能迭代开发的时候担任了scrum master一职,负责后端技术方案评审,领域模型设计,核心功能流程设计;
- 负责用户作品发布,作品审核模块功能开发,作品审核接入微信内容安全风控模块,实现作品自动审核发布/人工审核发布 功 能,并采取异步回调&降级熔断&超时重试机制保证核心功能的可用性;
项目成果:
项目按时交付,内容发布功能为集团提高了用户活跃度,提升了交易额。
内容中心模块以 DDD 模块开发与标品交付,后续成功交付了华侨城与华润项目,达到 80% 代码复用率,提升了交付效 率。
剧院票务商品根据华侨城要求进行定制开发,后续成功交付,并且把该功能迁回标品,为商品模块新增一种类型的商品
2022-07 ~ 2023-03 印力摩客云
项目介绍: 万科印力集团商业中心项目,拥有3000万会员,月活跃用户300万,随着业务发展,原平台难以支持产品迭代和系统升级, 所以将原平台以惟客数据的技术体系进行改造,组织架构底座、会员、积分、卡券 等模块采用 DDD 重构。
个人职责:
参与项目前期业务需求调研,了解核心业务扭转;调研核心功能的历史技术实现与流程,构思大体的重构思路与方案设计;
为了解决先前开发流程不规范,迭代节奏乱,目标不明确等问题,本次项目采用SCRUM敏捷框架,使用 JIRA 敏捷项目管 理工具配合 Confluence 文档协同工具,进行整个项目的生命周期管理;本人担任会员模块的后端开发,负责模块的技术选 型、执行开发任务、定期总结(代码 review 与回顾会议)、计划排定、POC (技术文档)制定与评审;
使用 DDD 思想搭建整个会员微服务,实现微服务高内聚低耦合,解决了原来小组职责分工不明确,代码腐化迅速的问 题,提升了研发效率与提高了代码质量;
运用设计原则、DDD 思想和工厂、代理、模板、组合、策略等设计模式,降低共性功能重复开发成本,提升特殊功能的开 发效率,搭建方便维护和易于拓展的系统工程;
负责大表的 SQL 语句优化,根据不同业务场景,配合执行计划分析,进行 SQL 语句 逻辑的调整,索引结构设计与优化, 表字段设计与优化;
项目成果:
项目按时交付,目前已经历过五一活动高峰期的考验,能够不影响历史原有功能与逻辑,提升了系统性能,提高了运营效 率与营收。
解决了先前职责划分不清晰,代码冗余难以维护等问题,成功指导甲方开发同事掌握 DDD 思想与开发流程,提升了研发 效率与代码质量。
规范了研发流程,包括需求,开发,bug 的流转;落实设计先行,文档沉淀等习惯,解决了先前研发目标不清晰,无法积 累沉淀与复盘等问题。
项目名称:营销活动平台 – Lottery 微服务抽奖系统
**系统架构:**以 DDD 领域驱动设计开发,微服务拆分的分布式系统架构
**核心技术:**SpringBoot、Mybatis、Dubbo、MQ、MySQL、XDB-Router、ES、ZK
**项目描述:**Lottery 抽奖系统,是营销活动平台中的一个重要微服务,用于满足C端人 群拉新、促活、留存的系统。系统根据微服务的界限上下文,运用抽象、 分治和 DDD 知识,拆解服务边界、凝练领域服务功能。以围绕抽奖服务, 解耦功能流程,建设领域服务,包括:规则引擎、抽奖策略、活动玩法、 奖品发放等。来满足业务产品快速迭代上线的诉求,减低研发持续投入成 本,提升交付效率。
我的职责:
- 构建以 DDD 分层结构的处理方式,搭建整个抽奖系统架构。
- 运用设计原则和工厂、代理、模板、组合、策略等设计模式的综合使用,搭建和开发方便维护和易于迭代的系统工程。
- 鉴于系统内有较多的规则策略过滤,包括:准入、人群、⻛控、A/BTest等诉求,以适合系统规模可快速开发和使用的方式,搭建去中 心化的量化人群规则引擎组件,通过业务诉求对 Logic 的扩展和内置引 擎执行器的使用,完成自由组合的人群过滤服务。降低共性功能重复开 发所带来的成本问题,提供研发效率。
- 应实际秒杀峰值场景 TPS 5000 ~ 8000 的诉求,开发统一路由组件, 不仅可以满足差异化不同字段的分库和分表组合,以及 Redis 库存分片 和秒杀滑动库存分块,开发统一路由 XDB-Router 的 SpringBoot Starter 技术组件。此套组件经历数次大促活动场景,支持横向扩展, 可以满足业务规模的快速增⻓。
自我评价
思维能力强、逻辑清晰、善于总结和提炼,保持良好的自学能力,对新技术敏感,能够 快速提取可落地
的技术方案运用到实际项目开发中。
具有立体化思维,能够在原有独立完成中小型项目技术上形成多层次、组件化分拆和解耦的能力,能创造
性的完成大中型复杂项目的基本设计和核心逻辑开发。
有丰富的敏捷迭代经验,一定的项目管理与风险意识,工作中曾经担任过 master 角色,清楚项目该如何把控以及推进
具备较强的文档沉淀,沟通协作能力,迭代中的功能开发都会先以开发设计文档为主,先进行文档设计以及评审,规避后 续返工的风险。
深入理解领域驱动设计,工作中一直都以 DDD 思想对模块功能进行分析设计,熟悉对 DDD 开发流程与规范
具备较强的业务理解能力,在职期间参与多个企业级项目以及公司基础产品的开发
抗压负责能力出色,能够在规定时间按时按质完成项目交付。
思维能力强、逻辑清晰、善于总结和提炼,保持良好的自学能力,对新技术敏感,能够 快速提取可落地的技术方案运用到实际项目开发中。
具有立体化思维,能够在原有独立完成中小型项目技术上形成多层次、组件化分拆和解 耦的能力,能创造性的完成大中型复杂项目的基本设计和核心逻辑开发。
具备独立完成复杂工作、指导他人的能力,能够组织干系人对问题进行研究、分解、并 完成中型项目的方案设计与实施,并成提供良好的交付物。
能够带领团队完成复杂和大型项目的设计、开发与交付,能够对团队内外进行专业的技 术支持和指导,具备解决非纯技术类复杂事务的协调能力和沟通能力。