xxx
性别:男 | 电话:xxxxxx
学历:本科 | 学校:中南林业科技涉外经济学院
专业技能
- 熟练掌握 Java 基础,如集合框架,反射机制等;熟悉多线程编程的概念和原理,熟悉 Java 中的线程创建、同步和协作
- 熟悉 MySQL 了解 InnoDB 存储引擎,索引,事务等,能够通过调整SQL语句和索引来提升数据库性能
- 熟悉使用 Spring 、Spring MVC 、SpringBoot 、Mybatis/Mybatis-Plus 等开源框架;熟悉AOP、IOC、SpringBoot的自动装配原理等
- 熟悉常用的 Linux 命令和基本操作,能够搭建服务器环境和部署项目;
- 熟悉 Redis 数据结构、持久化,缓存击穿、穿透的原理和应对方法;
- 熟悉使用 Git 、Maven 项目版本管理及构建工具; Swagger 生成 API 文档;使用 GitHub 进行代码托管,能够管理代码和构建项目;
- 了解 数据结构与算法,操作系统;了解常见的设计模式例如:单例模式,工厂模式,代理模式等;
- 了解 HTML ,Css ,JavaScript ,Vue ,Nginx ,Element UI 等
项目经历
2022.10-2022.11 莱客餐厅 后端
项目描述:本项目专门为餐饮企业(餐厅、饭店)定制的一款软件产品,包括系统管理后台和移动端应用两部分。
技术选型:Vue 、Element UI 、SpringBoot 、SSM 、Mybatis-Plus 、Redis 、MySQL 等
主要工作:
- 集中处理系统异常,自定义统一的错误码,并封装了全局异常处理器,屏蔽了项目冗余的报错细节,便于接口调用方便理解和统一处理;
- 使用 ThreadLocal 封装了线程隔离全局上下文对象,便于存取用户信息,减少用户查询次数
- 自定义了 Mybatis-Plus 的 MetaObjectHandler 配置全局上下文实现写数据前的创建时间字段的自动填充
- 兼容请求参数 date 类型序列化,自定义 Jackson 对象映射器处理日期;并扩展 Spring MVC 消息转换器,实现自动序列化
- 去重复编写用户校验的麻烦,基于 WebFilter 实现全局登录校验;并通过 AntPathMatcher 来匹配动态请求路径
- 使用 Redis 实现对菜品信息的自动缓存,大幅降低数据库压力的同时并缩短了接口响应耗时。
- 二次封装阿里云 SDK 接入短信服务用于用户注册登录,并用 Redis 来集中缓存验证码,防止重复发送
2023.1-2023.4 达人探店 后端
项目描述:本项目是一个点评类项目,实现了探店点评,好友聊天,优惠券秒杀等多个功能,用户可以登录写博客,拍照分享,商家可以发布优惠券,用户可以每天签到,可以领取优惠券来秒杀商品。
技术选型: SpringBoot 、MySQL 、MyBatis-Plus 、Redis 、Nginx 、Vue
主要工作:
- 设计并编写了登录模块,实现了短信登录功能。最初使用 Session 进行短信信息的缓存,后来改成使用 Redis 进行缓存,提高了系统的性能和扩展性。
- 利用题辑过期的方式,巧妙地避免了缓存击穿问题。通过手动封装 Redis 工具类,实现了防止缓存穿透和缓存击穿的逻辑(互斥锁+逻辑过期)。此举有效地提高了系统的性能和稳定性,提供了良好的用户体验。
- 利用 Redis 中的 sorted set 数据结构,实现了点赞排行榜功能。通过将时间戳作为分数,筛选出最早点赞的用户,为用户提供了有参考价值的排行榜数据。这一功能能够提高用户互动性和活跃度。
- 实现了上锁和释放锁的代码,确保了数据的一致性和并发安全,提高了系统的并发处理能力。
- 利用 Redis 中 Geo 、BitMap 和 HyperLogLog 的数据结构,实现了附近商户、用户签到和 IV 统计等功能。通过地理位置定位、位图操作和基数估计,为用户提供了个性化的服务和统计数据,增强了平台的吸引力和功能性。
荣誉奖项
2022 年湖南省 Python 程序设计一等奖
2021 年湖南省 Python 程序设计二等奖
2022 年一带一路金砖 Python 程序设计三等奖