# 个人简历
- 姓名:江茂明
- 邮箱: yuzhi.jiang@foxmail.com
- 个人博客: https://blog.anml.cn/
- CSDN: https://blog.csdn.net/qq_43727225?type=blog
教育背景
软件工程(本科)
- 时间: 2019.09 - 2023.06
- GPA: 3.2 / 4.0
- 主修课程: 数据结构与算法、C、Java程序设计、高等数学、计算机组成原理、操作系统原理、互联网应用开发
- 荣誉奖项:
数学建模竞赛国家级二等奖(2022)
大湾区杯金融数学建模竞赛本科组三等奖(2021)
团体程序设计天梯赛团队三等奖(2021)
专业技能
- 编程: 熟悉面向对象编程范式,掌握 Java 多线程、集合、IO 等技能,了解 JVM、JMM、类加载机制
- 数据库: 熟悉 MySQL 数据库,熟练编写 SQL 语句,了解 MySQL 索引、锁、事务,了解 Redis 非关系型数据库
- 设计模式: 熟悉单例、工厂、装饰者设计模式,了解其他常用设计模式
- 工具: 熟悉代码管理工具 Git和SVN、Linux 基础命令,Docker
- 技术栈: SpringMVC、SpringBoot、SpringCloud、MyBatis、MyBatis-Plus、RabbitMQ、Elasticsearch、Docker
- 问题排查和调优:能够对sql进行调优,对难以复现的在线问题使用arthas进行无感排查,不影响生产环境
工作经验
| 某智能数字化技术有限公司 2023-02 - 至今
技术选型: SpringBoot、EasyExcel、EasyPoi、vue-plugins-hiprint(标签或报表打印)、YOLO
主要成就:
- 性能优化:重构报表导出模块,将30分钟的大单表导出时间优化至10秒内,复杂场景性能提升10倍+
- 架构设计:设计报表高级查询架构,开发效率提升200%,获得客户一致好评
- 安全控制:实现报表权限管理体系,支持权限字段动态同步至导出文件,有效防止数据泄露
- 算法优化:研发高价值物料智能匹配切割算法,降低物料废弃率20%以上
- 系统设计:设计设备预约调度系统,实现秒级精度分配,最大化设备利用率
- 智能监控:基于YOLO实现工作机械状态识别,实时监控设备运行状态,准确率达95%以上
- 成本控制:采用vue-plugins-hiprint替代思迈特报表,降低系统维护成本
- 流程优化:开发内部需求管理平台,实现需求全生命周期管理
- 监控体系:构建系统监控体系,整合主动式与被动式监控机制
- 创新研发:开发材料计算引擎,支持复杂公式解析与逆向求解
- 紧追市场AI前沿技术:探索阅读cherry-studio,cursor等大厂的MCP客户端实现方式和官方MCP协议,将公司系统部分模块和使用场景进行抽离,接入function Call和实现独立的MCP 客户端,并实现AI模型可以根据任务,拆分任务,按步骤实现方案。
📚 开源贡献
MyBatis-PageHelper
- 修复countBoundSql复制时additionalParameters丢失问题 #837
- 问题分析:foreach等动态SQL生成的临时参数未被正确复制
- 解决方案:在复制countBoundSql时同步复制additionalParameters
- 影响:修复分页查询时动态SQL参数丢失问题
项目经验
OJ在线判题系统 全栈 (2024.01 - 2024.06)
- 设计并实现了一个OJ在线判题系统,支持用户根据题目类型、难度、标签等维度浏览题目,在线编写和测试代码,并提交解决方案。系统通过预设的测试用例,结合题目设定的内存和时间限制,对用户提交的代码进行自动化评判。
技术选型: SpringBoot、Redis、Mybatis-Flex、Vue3、Arco Design
技术要点:
- 采用模块化架构设计,将系统划分为后端主业务、判题引擎和代码沙箱三个独立模块,通过清晰的接口定义实现模块间通信,提升系统的可维护性和扩展性
- 独立开发代码沙箱服务,通过API签名验证机制确保接口安全,并实现代码执行环境的严格隔离,限制网络访问、文件操作和依赖包安装等危险行为,保障系统安全性
- 设计动态测试用例管理机制,通过标识字段区分用户自定义测试与正式判题流程,采用独立数据表存储动态测试的输入输出结果,确保判题逻辑的完整性和准确性
轻松阅读 - 基于SpringCloud的分布式图书阅读平台 (2022.04 - 2022.08)
- 设计并实现了一个高可用、可扩展的分布式图书阅读平台,采用微服务架构,支持百万级用户并发访问。平台提供图书浏览、个性化推荐、智能搜索、书单管理等功能,实现了完整的图书阅读数字化解决方案。
技术栈: SpringCloud Alibaba、Nacos(服务注册与配置中心)、Gateway(API网关)、OpenFeign(服务调用)、JWT(认证授权)、ElasticSearch(全文检索)、MyBatis-Plus(ORM)、RabbitMQ(消息队列)、Redis(缓存)
核心职责与成果:
- 主导微服务架构设计与实现,完成Nacos配置中心和服务注册中心的部署与优化,实现配置的动态更新和服务的高可用
- 设计并实现用户中心服务,采用JWT+Gateway实现统一的认证授权机制,支持多端登录,接口响应时间控制在100ms以内
- 开发智能搜索服务,基于ElasticSearch实现多维度检索(标题、作者、ISBN等),结合IK分词器支持拼音、模糊搜索,搜索准确率达95%以上
- 设计图书服务缓存架构,采用Redis实现热点数据缓存,缓存命中率达90%,QPS提升300%
- 实现数据同步服务,通过RabbitMQ异步消息队列,保证MySQL与ElasticSearch索引库的最终一致性,数据同步延迟控制在1秒内
- 设计书单管理服务,支持用户自定义书单、收藏、阅读进度跟踪等功能,日活跃用户留存率达80%
技术亮点:
- 采用微服务架构,实现服务解耦,系统可扩展性强,支持快速迭代
- 设计统一的网关层权限校验机制,减少业务层冗余代码,提升系统安全性
- 实现高性能的全文检索服务,支持多维度、多条件的智能搜索
- 构建可靠的数据同步机制,保证核心数据的一致性
- 采用多级缓存策略,显著提升系统性能,支持高并发场景
短链接项目
这是一个基于Go和Vue开发的短链接服务项目,主要用于学习现代Web开发技术栈和持续集成部署流程。项目采用前后端分离架构,通过GitHub Actions实现完整的CI/CD流程,前端部署至Vercel,后端部署至云服务器。
技术亮点:
- 基于GitHub Actions实现自动化构建、部署,提升开发效率
- 使用Docker容器化部署,确保环境一致性
- 前端采用Vercel实现自动部署和全球CDN加速
- 后端采用云服务器部署,实现高可用性
核心功能:
- 无登录短链接管理:通过用户唯一编码实现便捷的短链接管理
- 访问统计:记录IP来源、访问时间等数据,提供汇总分析
- 短链接跳转:实现高效的URL重定向机制
项目价值:
- 深入理解现代Web开发技术栈
- 掌握CI/CD最佳实践
- 学习云原生应用部署方案
项目地址:https://shortlink.web.gitxp.com/#/shortlink
开源项目
- piclivecode:是一个简单的图片上传和二维码生成服务
- leetCoding刷题记录:leetCoding刷题记
- 代码执行沙盒 多语言代码沙盒平台,旨在提供安全、可控的环境来运行代码
技术文章
探索/成长路径
- 在大一开始在老师的推荐下开始学习数据结构与算法并参加一些竞赛,后进入校集训队训练并开始撰写个人笔记和算法题解以分享和巩固所学知识,也使用过一些如AWS、阿里云、百度云等服务器
- 个人博客路径为CSDN、博客园、hexo博客框架(部署到github)
- 博客链接:https://yuzhi-jiang.github.io/
个人总结
- 热爱技术、喜欢钻研,曾参加ACM国际大学生程序设计竞赛、团体程序设计天梯赛等算法集训队
- 多年博客记录,对新技术保持好奇心,将学习成果用于项目实践,总结形成个人笔记
- 了解 JVM、JMM、类加载机制,阅读部分Spring源码 仓库链接: https://github.com/yuzhi-jiang/small-sprinig
- 掌握 Java 多线程、集合。熟悉单例、工厂、装饰者设计模式。链接:https://github.com/yuzhi-jiang/gof23
- 熟悉 MySQL 数据库,熟练编写 SQL 语句,了解 MySQL 索引、锁、事务,熟悉 Redis 非关系型数据库
- 熟悉常用技术栈如:SpringMVC、SpringBoot、SpringCloud、MyBatis-Plus、RabbitMQ
- 良好的沟通、协调能力,有较强的学习能力
- 个人博客: https://yuzhi-jiang.github.io/
- small-spring简单实现: https://github.com/yuzhi-jiang/small-sprinig
- gof23设计模式实现: https://github.com/yuzhi-jiang/gof23](https://github.com/yuzhi-jiang/gof23)