专业技能

编程基础: 熟悉Golang语言,包括GC工作原理、内存分配和GPM调度机制。以及Mysql,MVCC、本地事务等。

计算机基础: 熟悉操作系统虚拟内存、进程调度、并发和异步原理等;计算机网络基础,包括TCP/IP、HTTP协议等。

微服务: 熟悉分布式架构基础,RPC、包括CAP理论、消息队列、雪崩、分布式锁和事务等。

数据结构与算法: 会使用常见数据结构预算法。堆、栈、链表、二叉树、哈希表等。

其他: 常使用JavaScript、React做前端开发,并对Rust语言有一定的掌握,善于尝试不同的技术栈。

工作经历

上海尼好系统集成有限公司

软件开发工程师

三月 2019 - 九月 2023

在职期间担任小组组长,参与并主导开发过公司多个项目,负责组织需求评审,任务规划分配与交付,以及技术支持

开发和维护公司组织的开源UI组件库,github star 600+,项目地址 https://github.com/uiwjs/uiw

项目经历

微服务电商系统 - 全栈开发

主要技术:Golang、Redis、RocketMQ、MySql、Naocs、Consul

项目介绍:使用微服务架构的在线购物平台,实现了用户、库存、商品、购物车和订单功能

主要内容:

  1. Web 层作为服务的入口,使用 Gin 框架对客户端提供 RESTful 风格的 Api
  2. 在 Service 层对 Web 层提供 gRPC 服务,有用户服务、库存服务、商品服务、订单服务,并采用轮询策略做了负载均衡
  3. 使用 Redis 和 JWT 做用户身份鉴权,实现了多服务共享 Token 实现信息,解决 Session 一致性问题
  4. 使用 Consul 实现服务注册与发现,使用 Nacos 做配置中心
  5. 订单扣减库存时需要考虑超卖和订单取消、超时库存归还问题;通过 RocketMQ 提供的可靠消息确保请求到达库存服务,在MySql 添加库存归还表记录,订单编号做索引确保不会重复归还
  6. 使用 Redis 做分布式锁保证商品库存的归还时的幂等性
  7. 通过对接支付宝平台实现支付功能
  8. 前端主要使用 JavaScript、React 技术栈完成

项目难点: 下单扣减库存超卖;订单超时未支付库存归还需要保证分布式一致性和幂等

鹰眼监控平台 - 前端开发工程师

一月 - 一月

主要技术:react、umi、antd、echart

项目介绍:通过接入大数据分析,为公司网点和分拨中心提供车辆监控,动态轨迹,库存报警,和运力配置等用于实时决策的运营数据

工作内容:

  1. 数据大屏,在百度地图上展示全国各个网点下单数量。使用webSocket作为传输协议,避免去轮训订单数据
  2. 使用 echart 做数据可视化图表和数据下钻,展示库存存量、票数占比、时效产品、到达货物类型占比等
  3. 对车辆装载率,卸载率,准点率,车辆流向等做业务数据计算
  4. 通过大数据分拨和网点到达的货量,出发货量,货物流向做预测

项目难点:

  • 由前端通SQL TO JSON直接去获取数据,并且在前端完成数据汇总,需要做大量请求数据合并,最终呈现到界面
  • 需要根据业务情况,将请求中无关联的部分做并行化,降低响应时间
  • 依附各平台的数据数据可能丢失,客户端并行请求也可能部分丢失,从而导致计算出来结果偏差很大

易度商祺 - 前端开发工程师

四月 2023 - 五月 2023

项目介绍:易度商祺是数字化解决方案服务平台,帮助企业低成本快速构建数字化解决方案

工作内容:

  1. 对开源项目apitable,做定制化二次开发,主要包括去商标、调整权限级别、增加工作表导入导出功能;以及产品官网

  2. 使用 Nextjs 提供SSR技术便于SEO,使用Framer-Motion、Tailwindcss库完成UI布局和动画。

  3. 解决表格绘制部分编译、权限管理调控,这部分使用Rust开发

尼好OA系统 - 项目负责人

项目描述: 用于公司内部考勤和日报功能

职责:主导项目推进,主要负责需求评审,任务规划与分配并定期交付,以及技术支持

工作内容:

  1. 前端使用JavaScript、React、UIW组件库,后端使用的NodeJs、NestJs和TypeOrm框架技术
  2. 使用JWT做登录和角色鉴权,以及gitlab授权登录
  3. 完成人员管理、打卡记录、日报编写、日报下载功能,管理员批量下载员工月报功能。

KV-Server -

教育

四川攀枝花学院

机电一体化 - 大专

2012 - 2015