简历
个人信息
技能清单
- 熟练使用编程语言 Java,Kotlin,Python 等语言进行后端开发。
- 熟练掌握 Spring Boot、Spring MVC、MyBatis、Hibernate 等开源框架进行项目开发,并能够进行二次开发和定制化。
- 熟悉 RESTful 规范并能够设计出合理的API,具备良好的接口设计和文档编写能力。
- 熟悉常用的设计模式,如策略模式、观察者模式、工厂模式、建造者模式等,并能够熟练应用到项目中。
- 熟悉分布式原理及 Spring Cloud Alibaba 相关组件 Nacos,Feign,Sentinel,Zipkin,Gateway,Seata、RocketMQ,具备分布式系统设计和开发能力。
- 熟练使用 MySQL、PostgreSQL、SQLServer 等关系型数据库,有 SQL 调优经验;了解 MongoDB、Redis 等非关系型数据库的使用和优劣。
- 能够独立进行业务分析和设计,熟练使用 ERD 工具进行数据建模和数据库表设计。
- 熟练使用 RabbitMQ、RocketMQ 消息队列确保系统之间异步解耦合;XXLJob,SchedulerX 分布式任务调度。
- 了解机器学习相关知识,熟悉 PaddlePaddle 和 Mindspore 框架,曾使用 PaddleOCR 训练模型并用于生产环境,使用 Mindspore 训练模型开发了机器视觉相关系统,并且拿到了华为技术认证书。
- 熟练使用 Linux,掌握 Shell、Python 等进行运维自动化。
- 熟练掌握 Docker、Kubernetes 等运维工具,能够独立搭建软件运行环境并进行项目部署,在团队中也推广过一些 DevOps 方案。
- 熟练使用 Nginx 用做项目反向代理及负载均衡,了解其他 HTTP 服务器的使用和优劣。
- 熟练使用 SVN、Git 等版本控制工具,Maven、Gradle 等项目构建工具。
- 熟悉微信公众平台、微信小程序、微信/支付宝支付功能开发,独立开发封装过支付中心。
- 熟悉 Markdown 语法,具备良好的文档编写和分享能力,熟练使用Vim等编辑器进行代码编写。
- 了解 JavaScript,TypeScript;前端框架 Vue3 及 uni-app,具备Web前端开发能力。
工作经历
诺*科技有限公司(2020.08 ~ 2023.08) 后端研发负责人
负责工作:
1、参与公司多个项目的后端架构设计、开发和维护,具备独立开发项目能力。
2、使用主流技术栈,如 Java、Kotlin、Python、Spring Boot、Spring Cloud Alibaba、MyBatis、K8S、Docker 等,进行后端开发部署。
3、负责项目的认证鉴权、支付管理、缓存管理、网络通信等关键功能实现。
4、管理项目的 CI/CD 流程,确保项目的快速迭代和高效运行。
5、与前端、产品经理和其他成员紧密合作,掌握项目进度,共同解决项目中遇到的问题,确保项目顺利推进。
6、跟踪行业新技术和趋势,为公司项目的技术选型和发展方向提供建议。
零一**科技有限公司(2017.07 ~ 2020.08) 后端研发
负责工作:
公司主要开发“工程建设信息化”相关产品。在职期间在公司研发部,从0到1开发了“建设管理系统”,“四好农村路管理系统”后端 API 及 Android 客户端,我主要负责项目的核心模块开发及项目部署。
项目经验
rGPT - 诺*科技(2023-03 ~ 2023.08)
项目介绍:
“rGPT” 是一款支持在线问答、图像生成、文档分析和网页分析的综合性自研平台。该平台的核心目标是通过先进的人工智能技术,为用户提供高效、实用的工具,以满足不同领域的需求。
- 设计并实现了各类工作场景提示词(Prompt),通过精心设计 prompt 的组合,引导模型生成符合用户需求的结果。
- 深入研究 OpenAI API,根据接口特性设计调用流程,实现安全、高效的模型调用。
- 利用向量数据库 pgvector 存储文本的 embedding 数据,建立知识库,实现对长文本的深度分析和检索。
- 利用 Function calling 实现插件功能,如联网,企业定制功能。
开发描述:
- 后端:使用 Java 语言,基于 Spring Boot,Spring Security,Mybatis Plus 进行模块化设计开发。
- 数据存储:使用 PostgreSQL 关系型数据库,并集成 pgvector 扩展实现向量索引和搜索。Redis 用于缓存频繁查询的数据,减轻数据库压力。
- 消息推送:使用 SSE 和 WebSocket 协议进行流式消息推送,保持客户端和服务端实时消息通信。
- 部署:使用 Docker 进行容器化打包,并部署于 Kubernetes 集群,实现服务的高可用和弹性扩容。
- API 安全调用:对 OpenAI API 进行二次封装,处理鉴权、容错、服务降级等逻辑,确保稳定可靠调用第三方 API 服务。
- 网络代理:针对 API 所需的网络环境,使用国外服务器进行代理转发,绕过区域限制正常调用服务。
+个鸡腿 - 诺*科技(2021.09 ~ 2022.07)
项目介绍:
“+个鸡腿”是一个面向大学生的商品交易与社交平台。主要功能为商品购买配送,周边商铺入驻,供应链管理,本地/校园生活社区,活动,合伙人分账,抽奖。项目共覆盖成都高校11所。
- 微服务架构,将用户、订单、支付、社交、抽奖等功能解耦为独立服务。
- 基于 Spring Cloud Alibaba 实现服务注册发现、负载均衡、限流熔断,分布式事务。
- 关键场景使用分布式锁确保业务正常运行。
- RocketMQ 消息队列确保系统之间异步解耦合。
- 高可用部署,无状态服务多实例,数据库主从热备份。
开发描述:
- 后端API:使用 Java 语言,Spring Cloud Alibaba 系列组件 Nacos,Feign,Sentinel,Zipkin,Gateway,Seata、RocketMQ 进行开发。
- 数据库:关系型数据库 PostgreSQL,使用 MyBatis Plus 进行对象映射开发。
- 缓存:Redis 实现系统缓存,减少数据库压力。
- 消息队列:基于 RocketMQ 实现订单、支付等业务解耦和异步化。
- 部署:使用 Docker 容器进行部署,飞流 Flow 实现容器编排。
- 流量控制:通过 Sentinel 实现限流、熔断等流量控制。
- 支付中心:自研支付中心,对接微信/支付宝支付,提供统一支付接口。
国投生物数据聚合分析平台 - 诺*科技(2020.08 ~ 2023.08)
项目介绍:
“国投生物数据聚合分析平台”是“国投生物”公司针对互联网及自主上传文档的大数据聚合分析平台,主要功能包括:报告分析,产品分析,公司分析,资讯数据抓取分析。本系统能快速聚合关注产品及公司的信息,对生物投资起到一定的参考作用。
- 报告分析:用户上传文档,提取文章报告中实体,精要信息。
- 产品分析:关注产品动态,可查看产品上下游信息,相关公司,舆论信息等。
- 公司分析:可对公司生成聚合报告,内容包括:行业/市场/竞争,产品/技术,财务状况分析,风险问题等信息,同时提供风险预警。
- 数据抓取:对互联网平台进行定时的数据抓取,数据清洗,对数据进行分析,抽取内容中的实体及知识图谱关系。
开发描述:
- 业务API服务:使用 Java、Kotlin、Spring Boot、MyBatis、PostgreSQL、Spring Security、Redis 进行开发。集成 Elasticsearch 和 RabbitMQ 实现搜索引擎和消息中间件。
- 爬虫服务:基于 Python、Flask、Scrapy 实现,使用 Crawlab 分布式系统管理,建立IP代理池,绕过反爬,数据存储到 MongoDB 集群。
- 数据清洗服务:针对项目情况建立清洗方案,定义策略,进行数据清洗入库功能,进行自动化处理。
- 知识抽取服务:集成 Deepdive、HanLP,建立实体库,提取三元组,建立知识图谱。
- 部署:使用 Docker 部署,Nginx 用作反向代理,持续集成使用飞流 Flow。
有解APP - 诺*科技(2022.09 ~ 2022.11)
项目介绍:
“有解”是一款主打青年(16-26岁)朋辈互助的APP,在“有解”通过与同龄人/行业专家一对一付费聊天的方式解决困惑,拓展认知,共同成长。主要的功能有沙龙,会议,直播,主题一对一聊天。
开发描述:
- 后端:使用 Kotlin 语言,基于 Spring Boot 框架进行模块化开发。
- 认证鉴权:集成 Spring Security,实现 JWT 令牌验证。
- 数据库:关系型数据库 PostgreSQL,对象映射采用 MyBatis。
- 缓存:使用 Redis 缓存用户信息、活动信息等数据。
- 直播:集成腾讯云 TRTC、IM 实现低延迟、高质量的音视频直播,实时聊天。
- 部署:使用 Docker 容器进行部署,飞流 Flow + Kubernetes 实现容器编排。
公路工程建设管理系统 - 零一**(2017.07 ~ 2020.08)
项目介绍:
“公路工程建设管理系统”主要做的是工程建设的信息化,将工程中所有场景移到线上,工程上的进度全部使用BIM模型来展示,使建设管理更加清晰,从而提高工作效率。系统在“广东黄埔区有轨电车一号线”及“郑州西南段改建工程”项目上正常运行。我主要负责项目的开发及部署发布。
开发描述:
- 后端:使用 Spring Boot,Spring Data JPA 进行开发,并使用 Java 和 Kotlin 语言混编(前期使用Java,后期转为Kotlin)。
- 身份认证:使用 Spring Security + JWT 实现角色权限管理。
- 缓存:Redis 缓存机制,降低数据库访问压力。
- 工作流:针对业务流程相关操作绘制 bpmn 流程图,使用 Activiti 完成项目中流程相关操作。
- CI/CD:使用 Gradle 编译,Docker 部署,Nginx 用作反向代理,持续集成使用 GitLab Runner 和 Ansible。部署配置发布项目,定义 CI 流程,维护项目保持正常运行,在迭代中抽离出了单独的 DevOps 项目,以便新项目更快部署。
- 聊天通讯:使用七牛云 RTC 服务完成了视频通讯,视频录制功能。结合 WebSocket 完成视频/文字聊天及实时消息通知等功能。
- 因为项目周期比较长,所以处理了项目演进中的一些问题,如 API 速度调优,调整项目结构,代码重构及版本升级,开发过程中为节约开发时间,写出更简洁、优雅的代码,将 Java 代码逐渐修改为 Kotlin。
自我评价
- 平时喜欢逛一些技术社区,关注行业技术,并使用它们用于项目的开发。近期持续关注并学习AI领域的知识和技术。
- 对待工作态度认真,有良好的编程思维和抽象能力,注重代码规范,具有强烈的求知欲和良好的学习能力。
- 在性格方面,我比较容易相处,具备良好的心理素质,能够承受工作压力,同时拥有较强的沟通和交流能力。
- 热衷于编程和互联网领域,享受团队合作的过程,不断锻炼自己快速解决问题的能力。希望能够开发有价值且能真正解决问题的软件产品。