个人信息
- 学历:本科 性别:男 微信:llxw0502(转成半角)
- 年龄:1992.04 电子邮件:zjy__007#126.com(#替换成@)
- 工作经验:8年 求职意向:golang工程师|Java架构师|Python工程师
工作经历
- 2020.11——至今 小米通讯技术有限公司 研发工程师
- 2019.06——2020.10 嘉兴乐玩网络科技有限公司 高级开发工程师
- 2016.11——2019.05 上海迈外迪网络科技有限公司 后端研发工程师
- 2014.07——2016.11 每实互联有限公司 PHP开发工程师
专业技能
- 1.具有4年+大型系统golang 架构设计经验,具有分布式、高并发、高可用、大数据量的系统架构设计以及研发经验
- 2.参与设计过注册用户9000万、日活300万、日访问量超1亿的小米商城转型 golang 的设计与研发。拥有扎实的技术功底,对Golang标准库、生态,性能优化等熟练使用
- 3.精通分布式事务,阅读过2PC、TCC相关组件的源码,设计可靠消息最终一致性方案、最大努力通知方案、saga
- 4.其它语言:精通Java、python,熟悉Node.js、puppeteer、Shell等偏应用层和小工具开发,特别针对 python,工作以来一直在用,基于python 各类爬虫 (如:scrapy),各类脚本编写,搭建django、Flask服务,用Tensorflow、opencv、numpy等机器学习框架及依赖处理计算机视觉相关问题、PyTorch做深度学习框架解决推荐系统问题,用NLTK做nlp 相关有丰富的使用经验
- 5.精通 Mysql,具有 sq|优化、Mycat 分库分表、索引优化、性能调优、数据库灾备等丰富的实战经验
- 6.精通Redis缓存,具有集群搭建(Twemproxy、PredixyRedis Cluster) ,冷热备份,性能调优、数据迁移等实战经验
- 7.精通 ElasticSearch,熟练使用 Solr、Logstash.、Beats 及 Kibana,搭建 ELK 日志收集
- 8.熟悉接入层、缓存、微服务、存储层三高方案,如主从、切片分库分表、负载均衡、故障转移、限流降级、分布式事务等等, 可应对海量用户
- 9.熟练使用 MongoDB,具有集群搭建(副本集、分片集群) ,冷热备份、数据迁移、安全管理等实战经验
- 10.消息中间件:掌握 Redis、ActiveMQ、RocketMQ、 RabbitMQ、 kafka、ShardingJDBC 等运用、 原理及集群布署及常见问题的部署方案
- 11.负载均衡:熟练使用 Nginx (Tengine、 Openresty) 、Haproxy. LVS、KeepAlived.zookeeper 等负载均衡组件,并可以实现自定义实现 nginx 中间件
- 12.熟悉 Scrum 敏捷开发思想,能基于DevOps落地CI / CD,有团队管理经验,规范制定及实践实施
- 13.自动化部署:容器化或传统部署模式下,有效结合Git、 Jenkins、 Gradle等工具,完成自动化部署
- 14.容器化部署:能够独立编写各类Dockerfile, 具有搭建swarm集群 、 kubernetes集群的多次完整项目经验,能够精准把握各环节
- 15.自动化运维:熟练使用Saltstack, 数据监控(zabbix)
- 16.阅读过源码:docker、kubernetes、beego、dubbo、springboot
- 17.熟悉大数据相关技术,如 Spark、Hadoop、Hive、Strom、Hdfs .
- 18.个人博客地址:https://zuisishu.com
- 19.英文口语流利,可作为工作语言
项目经历
项目名称:小米新零售门店渠道建
- 技术框架:
yaf
,golang
,Gin
,Gorm
,J2EE
,JPA
,SpringMVC
,SpringBoot
,SpringCloud
,Dubbo
,Mybatis
,epoll
,dubbo
,nacos
,Netty
,DockerSwarm
,k8s
,kubernetes
,python
,vue
,CICD
,SPI
,IOC
工作描述
- 1.线上线下融合项目中负责完成电子价签对接汉朔,该项目系统性采用 dubbo 注册中心做分布式服务,使用 golang 做业务开发, 基于汉朔全国各门店基站,通过与汉朔接口的高性能交互,实现线上线下同品同价,每天几万家门店上 100 万数据推送到各展示终端,支持单独推送、按门店推送、全量推送
- 2.在k8s上,基于out-of-tree存储扩展方式,针对于小米商城评论区图片实现了CSI中间件,解决图片存储服务与业务应用耦合的问 题,有效提高了之前容器外挂主机多业务存储情况下导致的存储分区之间IO干扰造成的服务性能降低。
- 3.基于 golang 完成对接 Passport 认证服务登陆新零售工作台,前端基于 vue ,实现了新零售工作台管理系统的初版搭建(后来分拆项目组,由前端团队接手)。同时实现了基于 oms 系统、新零售工作台服务、upc 系统用户权限的同步,支持单独、按角色、全量几种推送模式,为后续人员介入、分工协作打下基础
- 4.基于 golang,门店主数据中负责小区、网格、门店通用接口输出。由于店属性众多,为了更好适应多端查询需求,数据入库 mysql 同时入库 elasticsearch ,支持全量字段模糊查询,提升了业务流转效率,也降低了一些接口临时需求的出现。由于门店信息重要, 操作系统也多,slf4j 会记录全链路日志
- 5.针对消息系统、公告中心、任务中心做微服务治理,通过 go 实现高并发长连接网关(gateway)集群,解耦单机系统调用、锁、cup 瓶颈,配合 vue 实现后台管理系统,业务人员可按需个性化操作,获得针对性人群后,基于 GRPC 向各 gateway 分发触达终端
- 6.担任家具、物料管理系统 pm,该项目周期较长,期间对外负责组织各项目组联席会议。组内出具文档、协调人员任务划分,疑难解决、prometheus、grafana 接入等工作。由于项目涉及到接口数量 65 个,上下游牵扯关联业务较多,厘清业务边界,兼顾各方所需又能保证业务组唯一出口性是重中之重,终在个人全力推进、各业务组共同努力下,成功完成家具物料系统生产环境上线
- 7.新零售工作台覆盖省总、副省总、分公司、合作商、店长、店员等 14 个角色多张表设计,并基于 golang 的协程高并发特性,对于作战室提供过来的原始百分级数据 excel 统筛出几万门店及店员有效入库,为新零售工作台项目打下数字化基础
- 8.小米商城手机端米圈部分接口改造,运用 golang 搭建的 rpc 服务,以 thrift 为传输结构,以 channel 为异步通道,对于米圈评论部分进行人员链路追踪,用以形成更好的引导效果与用户体验
- 9.小米演示数据处理,对接平台内部Doris系统,对数据源高效入库并且优化了埋点策略
- 10.分货计算器项目,应用 golang 封装成 soa 服务,实现了分货计算器主体部分逻辑,并重构了分货模型、资源品 sku 分货。同时将分货结果以 rocketmq 生产者角色广播给 pass 消费者,提高了服务整体性能
- 11.完成 sap 和 ps 两系统对接,组内没有基于 golang 对接 soap 经验,过程涉及 soap 协议及 thrift 结构在 rpc 服务传输过程中的使用等,sap 涉及与合作商合同生成,ps 编码涉及法务系统对接,为建店系统中两个至关重要的环节
- 12.担任面试官,为项目组不断吸纳新的血液
项目名称:嘉兴乐玩网络科技有限公司期间
- 技术框架:
golang
,Gin
,Gorm
,SpringBoot
,Dubbo
,Mybatis
,epoll
,nacos
,beego
,dockerswarm
,k8s
,kubernetes
,python
,vue
,CICD
工作描述
- 1.使用 Kubernetes 系的 kubesphere 对于传统编译的服务器部署方式进行了重构,引入 harbor 做独立镜像服务,搭配 gitlab 形成了支持 CICD 的 DevOps 系统,使整个集群具备了支持熔断、灰度发布、流量管控、限流、链路追踪、智能路由等完善微服务治理功能的数字化运行系统。日志相关,实施了 kafka、prometheus、grafana 的接入,实现了操作权限上的日志查询隔离,摒弃了生产服务器原来跳板机人肉查日志的传统模式,让异常、报错更好被监听,让系统的运行更稳定,让 bug 排查的效率更高效。整套改造使得原来繁杂、低效的上线环节智能化、高效化,使得不同环境依赖的各种人员资源真正的高效流动起来,加快了项目迭代效率, 降低了服务器资源的不合理投入,大大降低了营运成本。
- 2.针对 Laravel 加 mongo 吃 cup 高、接口性能低的状况,极不利于数据运营服务、分发网关服务的高效部署,而 Lavarel 生态分布式部署本身就是短板,因此使用 golang+eureka+zuul+FeighClient+Hystrix 微服务方式做了重构,更利于产效通过各地机房对就近请求提供服务,并以此为基础做后续模块及功能的开发与维护。
- 3.使用 golang 的 Consul 做微服务治理,分拆独立支付微服务,整体支持微信、支付宝、银联。其中在绍阳地区投入的,微信公众号领红包活动,使游戏新注用户率提高 27%,用户总体使用率提高了 30%,在吸引新玩家注册及老用户激活方面达到了预期的推广 效果
- 4.使用 golang 重写了转盘活动、跑胡子的数据统计、报表导出,将原来定时任务跑脚本发邮箱的阻塞低效模式,改成了支持elasticsearch 的更丰富筛选条件的异步报表生成后台,相应权限账号登录即可自己查询生成相应报表,极大提高了不同部门间数据运转效率!
- 5.针对基于 hadoop 大数据及 python 的人工智能算法,实施的游戏组局服务,独立实现了基于 gin 和 gorm(golang package)的后台管理系统,前端使用 vue。在客户 client 及运营端后台数据同步方面,引入 rabbitmq 解耦了服务间的低效数据传输模式,该方案在后续异步进程数据处理的很多场景得到了广泛使用。
- 6.代理商(包含天猫充值)充值、返利功能,该环节涉及大额财务流转,要有多方的审核,之前是走的邮件审批流程繁琐低效。利用redis 的队列功能,将流程化集成到了 erp 系统内,使得环节流程、用户权限、邮件手机号等二次复核方式更好实现统一,也保证了资金的精确和准确性。
- 7.使用 golang 完成了图片上传阿里云整体图库 CDN 的改造
- 8.未使用集成框架前提下,使用 golang 实现了分布式爬虫,为游戏组局服务提供训练数据支持,通过 channel 实现了抓取的分发调度,当时数据紧迫性要求不高,领导也想让对 golang 理解再深刻点,方便后面更大规模的系统改造。
项目名称:上海迈外迪网络科技有限公司期间
- 技术框架:
yaf
、SpringBoot
,Mybatis
,epoll
,python
,vue
,avalon
、react
、golang
工作描述
- 1.针对海外用户使用习惯,新增 facebook 登录,新增 widash 后台单点登录,新增代理商后台开通海外 widash 账号,新增适应海外需求的新 portal 设备放行逻辑,新增配置 aws 服务器定时任务脚本统计 ap 数据和用户访问数据,并定时生成统计 excel 文件,供运营人员使用;
- 2.带领组员完成 wiwide 项目出海,搭建海外测试环境,完成马来西亚、新加坡、澳大利亚 lnmp 生产环境线上部署,推动 mysql 主从同步部署方案,配置 redis,memcache等消息中间件服务,将 widash,portal,agent,admin 几大平台上线到海外环境,实现几大平台顺利上线、平稳运行的成果。之后不断维护,直至出海运营效果不理想,最终下线
- 3.使用 springboot+mybatis 完成 widash 商家主页 3.0 版本核心功能的开发及对各部门针对 3.0 改版自有调整的支持,重构超级管理员后台单点登录
- 4.portal 页用户注册弹窗协议功能整体重新开发,适应网监方面新的政策需求;
- 5.基于 springboot+mybatis 完成了小程序游戏抖抖斗斗的开发,完成从数据表设计、程序开发到线上部署全流程,后台管理界面采用 vue,整体从数据表结构设+接口开发+后台界面开发+上线均独立完成。
- 6.使用 golang 实现分布式爬虫采集 wifi 行业相关信息并伪原创入库,用以官网推广
项目名称:每实互联期间
- 技术框架:
yii2
、ecshop
,Mysql
,python
,redis
,jquery
工作描述
- 1.把公司的电商平台搭建起来,同时物流系统完善出来,让配送人员物尽其用,也更好的测评他们,同时配合营销部门,开发相应的活动,给公众号吸粉;
- 2.mes 内部 crm 系统中试吃申请,企业联系人模块多联系人添加,试吃申请依照本单位金字塔型管理结构,给予 ceo ,相应的总经理助理,销售部经理,相应销售人员相应查看权限,目的是更便于公司业务的开展,基于 thinkphp3.2 进行开发;(以下项目皆基于yii 2 进行开发)
- 3.mes 调度系统,订单产生,管理人员后台可将订单分配到相应配送点,分配相应冰包,分配相应配送人员接单配送,配送人员对整个配送各环节可实时通过手机 html 5 端扫二维码反馈写到 mysql 数据库,以些作为配送员工作高效及情况考量标准;
- 4.mes 举办的基于微信的老大带你吃蛋糕,老大带你去旅游,点赞集蛋糕,常温蛋糕自提点等 H5 活动的开发;
- 5.mes 生产打印系统、mes 配送打印系统、mes 订单统计,邮件报表,节日符合资格(mysql 严苛条件过滤)用户营销短信发送,财务报表系统,mes 后台权限管理系统,基于 adminlte 的后台管理界面;
- 6.mes 新 pc 端改版个人中心,礼金卡现金券生成使用系统。
- 7.微信,支付宝,银联几个平台付、退款功能实现;
自我评价
- 能够尽快熟悉业务,能快速融入团队;
- 逻辑思维能力强,思路清楚,学习能力强,对新技术有着强烈的好奇心;
- 对工作尽职尽责,乐于从事有挑战性的工作;
- 乐于与用户以及同事和领导沟通,以便快速解决项目遇到的问题;
- 做事勤勉,服从领导安排
- 英语口语流利,可作为工作语言