教育背景
华中农业大学(211) | 数据科学与大数据技术 | 2023.09 – 至今
获奖经历
- ICPC国际大学生程序设计竞赛区域赛(武汉站)铜奖(2025)
- CCPC全国邀请赛(郑州)银奖(2025)
- 蓝桥杯全国软件和信息技术专业人才大赛全国总决赛 C/C++ 程序设计大学A组 二等奖(2025)
- 中国高校计算机大赛 – 团队程序设计天梯赛全国总决赛 个人二等奖(2025)
专业技能
- 编程语言与基础:熟练掌握 Java,了解多线程、集合框架等;具备扎实的算法与数据结构基础。
- 数据库:熟悉 MySQL,了解索引、事务、锁机制,能通过执行计划进行 SQL 性能优化。
- 后端框架:掌握 Spring Boot + MyBatis,理解 IOC、AOP 等核心设计思想。
- 中间件:
- Redis:熟悉常用数据结构、持久化、高可用方案,了解缓存穿透/雪崩/击穿应对策略。
- 消息队列:了解 RabbitMQ,具备消息可靠投递、幂等消费等实践经验。
- 系统与架构:
- 了解 JUC 并发编程,了解线程池、锁机制。
- 了解 Spring Cloud(Nacos、OpenFeign、Gateway)微服务组件。
- 了解高并发系统设计理念,如缓存、异步、读写分离等。
- 开发与工具:熟练使用 Git、Maven、Docker,熟悉 Nginx、Vue,能独立完成项目开发与部署。
项目经历
高仿 QQ 的 Web 即时通讯系统(独立开发) | 2025.07 – 至今
技术栈:Spring Boot, WebSocket, JWT, Redis, RabbitMQ, MySQL, Redisson
项目描述:
独立设计并实现一个支持高并发、可扩展的即时通讯系统。该项目核心攻克了集群环境下的消息实时推送、海量消息的可靠存储与高效查询以及高并发业务场景下的数据一致性三大技术挑战,综合运用了WebSocket、消息队列、分布式锁等关键技术。
核心职责与成果:
-
分布式实时通信与安全认证
- 基于 WebSocket 实现双向实时通信,并设计心跳机制以维持长连接。
- 为解决集群部署下的会话同步问题,设计了会话路由方案:将用户与服务器的映射关系存储于 Redis,跨服务器消息通过 RabbitMQ 精准路由并推送,实现了系统的横向扩展能力。
- 采用 JWT 双Token(Access/Refresh) 机制实现无状态认证与安全刷新,并利用 AOP 与 Redis 分布式锁 对关键接口(如登录验证码发送)实施分布式限流,有效防御恶意请求。
-
消息可靠投递与存储性能优化
- 设计了 “推送即持久化” 的异步流程:消息实时推送后,立即发送至 RabbitMQ,由独立的消费者服务进行异步处理,实现业务与数据层的解耦。
- 消费者采用 “内存缓冲 + 批量写入” 策略,显著降低了数据库的写入频率与压力。通过消息唯一ID与手动确认(ACK)机制,确保了消息的可靠投递与消费的幂等性。
- 针对消息查询,设计了分级存储策略:活跃会话的最新消息直接从 Redis 缓存读取;查询历史或非活跃会话时,通过分布式锁保证缓存与数据库的数据一致性后执行查询,兼顾了性能与准确性。
-
高并发业务实践:群聊红包系统
- 实现了完整的群聊红包功能,核心解决高并发下的超抢与金额分配原子性问题。
- 使用 Redisson 分布式锁 确保对同一红包资源的访问串行化。
- 在锁内,采用 二倍均值随机算法 公平分配金额,并通过执行 Redis Lua 脚本,原子化地完成库存扣减与领取记录写入,完美保障了高并发场景下的数据准确性与一致性。
项目总结:
本项目以解决实际技术问题为导向,深入应用了消息队列、缓存、分布式锁等中间件。通过实践,不仅掌握了这些技术的核心用法,更深刻理解了它们在系统解耦、流量削峰、保证数据强一致性等场景下的价值,形成了从架构设计到编码落地的完整闭环能力。
自我评价
- 技术扎实,善于实践:具备良好的算法与 Java 开发基础,能独立完成项目从设计到部署的全流程。
- 逻辑清晰,解决问题能力强:通过算法竞赛与项目实践,能快速理解复杂业务场景,设计并实施可行的技术方案。
- 主动学习,追求深入:关注后端技术发展,乐于钻研实现原理,持续优化项目与个人技术栈。
- 团队协作意识强:具备竞赛团队合作经验,注重沟通与协作,期待在实习中为团队贡献价值。