个人信息
- 男,2002 年出生
- 求职意向:后端开发工程师
教育经历
- 学士,东莞理工学院,软件工程专业,2021.9~2025.6
工作经历
1、快手
时间
2024年3.8-至今
职位
java开发工程师
负责业务
参与aigc数字人直播平台研发和维护
2、小黑盒
时间
2023年12.3-2024.3.4
职位
后端开发实习生
介绍
小黑盒是一款为Steam游戏玩家定制,集新闻资讯、游戏资料库、玩家社区、战绩查询为一体的App,注册人数超过4000万,日活超过300万。
实习工作
主要负责用户推荐、社区内容的开发、App推送等。
- 帖子推荐: 新增爬坡topic召回和爬坡ItemCf召回,有效提高了用户点击率。
- 重构小黑盒App推送: 改变直接从数据库获取热帖,改为从推荐池获取热帖,再送入模型中计算,将计算后用户和贴子存入HDFS, 再异步读取HDFS,发往Kafka进行消费。将推送流程拆分,减少了耦合,提高了系统的稳定性,同时实现了根据用户特征值精准推送。
- 完善用户特征值计算: 将用户绑定Switch等第三方平台行为加入到用户的特征值,并且用户同一行为采取时间衰减的计算方式,有效提高用户特征值计算的准确率。
- gc优化: 针对老版本推送go服务的内存突然飙升,通过追踪内存分配情况,采用池化技术和定时手动触发GC的方式,将运行内存从18G降为9G。
- 游戏图鉴查询: 针对大部分游戏人物和英雄固定且数量较少的情况,采用内存缓存,定时将数据加载到内存,取代
- Redis缓存,接口平均访问速度从300ms降为46ms,有效提高系统的访问速度和稳定性。 推送缓存查询: 使用BitMap对推送过的帖子进行缓存,有效减少Redis的内存使用。
项目经历
莞青君
项目介绍
莞青君是一款服务于学校讲座,提供抢票、验票、查询历史讲座等功能的小程序,使用人数超1w,多次承受超2000人同时抢票。
项目地址:https://github.com/DGUT-GuanQing/GQ-BackEnd
采用技术 : SpringBoot、SpringCloud、SpringSecurity、Nacos、Feign、Redis、RabbitMQ、MinIO、MySQL。
功能实现:
- 使用JWT和SpringSecurity实现用户登陆和权限校验,保证系统的安全性。
- 使用CAS协议对接学校系统,实现用户中央认证登录。
- 结合Redis和Lua脚本实现抢票,通过RabbitMQ实现数据异步处理,显著提高系统处理速度。 针对mq发送失败和消费失败,采取重试机制,超过重试次数的将失败记录持久化,后期对用户采取补偿措施,使抢票服务的可用性达到百分之百。
- 用令牌桶算法进行接口限流,有效支持高达两千用户同时进行抢票,显著提升了系统稳定性和抗压能力。
- 使用Redis缓存热点数据,如当前讲座和用户信息,有效减轻数据库负担。在qps3000的场景下,系统能稳定运行。
- 在真实抢票环境中,面对2000多人抢票,cpu负载率始终低于百分之50,并且服务仍然能够快速响应查询。
- 负责后端整体架构设计,包括数据库设计、功能开发及项目部署。
技能清单
- Java、spring框架
- redis、mysql、kafka、mongodb等中间件
- python、go相关框架