精通 Golang 语言,熟悉 Channel,Groutine,GMP并发模型等;
精通 Python 语言,熟练掌握迭代器,生成器,装饰器,面向对象编程,元类等;
熟悉面向对象编程,熟练掌握面向对象三大特性;
熟悉网络编程,并发编程,协程,异步IO,IO多路复用;
熟悉 TCP/IP 协议 ,以及 HTTP 协议的通信流程及请求响应;
了解常见的 web 安全漏洞,如xss攻击,跨站请求伪造(CSRF)等;
熟悉 MySQL/TiDB,熟悉数据库事务,悲观锁乐观锁,数据库隔离级别,脏读幻读,数据库
查询优化等;
熟悉 MySQL的主从搭建,实现读取分离等;
熟悉 Redis,及主从搭建,读写分离,地理位置信息,哨兵实现高可用,持久化策略;
了解 MongoDB 的基本使用;
熟悉 EleasticSearch 文档数据库,能熟练构建索引,并操作索引;
熟悉 Kafka 消息队列的使用和基本原理;
熟悉 RESTful API 接口协议;
熟悉 Gin 框架,熟练使用路由组件,数据的绑定与解析,响应渲染,异步携程等,熟悉中间
件的工作原理及流程并自定义中间件;
熟悉 gRPC,熟练使用 Protocol Buffers 语法;
熟悉 Gorm,以及事务等的使用;
熟悉分布式系统,微服务系统,了解 CAP 理论;
熟悉 HTML,CSS ,JavaScript,JQuery,熟练使用 Ajax 实现异步请求;
了解 Vue 框架及其生态,能结合Bootsrap,Element UI 等实现基本的页面布局;
熟悉 Linux 的常用指令,可以在Linux系统部署项目;
熟悉 Docker 容器技术,以及 Dockerfile 的构建,docker-compose文件等;
能够使用Dockerfile及docker-compose在linux中构建项目;
了解k8s容器技术,微服务架构,有使用k8s + Docker + CI/CD 开发的经验;
熟悉代码管理工具 Git 及其工作原理,以及如何解决冲突;
了解爬虫,能够使用 requests-html 和 scrapy进行简单的数据爬取;
了解常见的数据结构:数组,链表,hash表,树等;
熟悉基本算法:冒泡,选择,插入,快排,希尔,桶排序等排序算法。
2021.03-2021.05 党媒旧SDK系统迁移 Golang后端开发
项目描述:
新的党媒系统交付后,由于旧系统中接入了多家第三方的推荐位且第三方不具备开发能力,
需要将这些负责向C端分发内容的接口迁移到新系统,保证已经接入的应用关联的第三方页面和
app正常运行。
项目职责:
1. 负责完成200+应用的迁移;
2. 抓包已有app,分析需求并制定迁移方案;
3. 通过调用现有gRPC的推荐内容列表,最大程度兼容现有接口;
4. 由于应用数量较多,为了保证测试进度,通过限制请求IP和应用key,进行灰度迁移。
2021.02-2021.04 党媒消息系统 Golang后端开发
项目描述:
党媒系统中包含管理后台与融合号控制台,党媒平台控制台需要与融合号控制台之间有消息
互动,用于发布公告,通知用户行为,聊天等行为。
项目职责:
1. 包含系统公告,通知中心,聊天消息三个模块;
2. 设计消息系统的基本架构;
3. 根据三种模块的特性,设计了不同的表结构;
4. Web API与前端使用websocket通信;
5. Web API发消息调用gRPC,接收消息订阅Kafka的topic;
6. 为了解决用户群发私信时前端页面不断刷新导致前端崩溃,群发使用异步+结束通知的策略。
2020.04-2021.04 党媒平台控制台 Golang后端开发
项目描述:
"全国党媒信息公共平台"由人民日报媒体技术股份有限公司负责规划、建设与运营。平台的
建设内容可以概括为:"百端千室一后台",即:以人民日报全媒体新闻平台为基础,连接人民日
报系各类新媒体终端,与全国各类中央媒体、地方媒体、行业媒体以及党政机关、企事业单位的
新闻宣传部门携手合作,联通数百个客户端,孵化上千个融媒体工作室,在保持各类端口后台独
立的前提下,打造一个共享的技术后台,从而构建起面向全国党媒的人才共享、内容共享、技术
共享、渠道共享、盈利模式紧密协作的公共平台。
项目模块:
1. 账号管理:后台运营人员管理,融合号管理;
2. 内容管理:内容库管理,内容审核,标签管理;
3. 推荐管理:推荐位管理,标签管理;
4. 操作日志:平台用户的操作日志。
项目职责:
1. web API使用gin框架,通过中间件进行用户登录和权限校验;
2. 使用validator校验绑定参数,根据需求自定义校验方法tag或结构体级校验;
3. 使用中间件,校验用户登录和权限;
4. 调用gRPC服务,请求需要的数据并组装后返回;
5. 日志使用logrus模块记录,错误接入sentry服务;
6. 完成API接口的单元测试,使用mockgen生成gRPC接口模拟调用。
2019.05-2019.11 一遇 Python后端开发
项目描述:
项目基于Django + DRF 开发,是一款全新的开放式移动社交应用,支持分享话题,创建社
区, 与志趣相投的人聊天交友等。
项目职责: 基于Django + DRF+ MySQL + Redis + Celery,完成了四个模块,即用户模块,图
库模块,社 交模块,内容搜索模块,订单模块。
1. 用户模块:
使用RESTFul风格设计API接口,实现登录注册功能;
调用腾讯云第三方接口,发送短信验证码;
通过Redis存储短信验证码,并设置过期时间;
登陆后通过JWT模块,进行Token校验,验证用户当前登录状态。
2. 图库模块:
通过调用第三方腾讯云接口,将用户图片上传存储至腾讯云,减轻服务器压力;
使用celery异步实现。
3. 社交模块:
使用Redis缓存喜欢以及超级喜欢次数;
调用数据库中普通用户以及VIP权限,判断是否具有权限;
使用redis地理位置信息功能,实现附近人动态。
4. 内容搜索模块:
数据库使用Mysql主从实现读写分离,提高服务器性能;
Redis使用了主从读写分离,并且为防止Redis雪崩以及融穿,使用哨兵实现高可用;
使用Logging模块来记录日志。
5.订单模块:
调用支付宝,微信支付第三方接口,实现VIP充值功能。
"全国党媒信息公共平台"由人民日报媒体技术股份有限公司负责规划、建设与运营。平台的 建设内容可以概括为:"百端千室一后台",即:以人民日报全媒体新闻平台为基础,连接人民日 报系各类新媒体终端,与全国各类中央媒体、地方媒体、行业媒体以及党
项目模块: 1. 账号管理:后台运营人员管理,融合号管理; 2. 内容管理:内容库管理,内容审核,标签管理; 3. 推荐管理:推荐位管理,标签管理; 4. 操作日志:平台用户的操作日志。 项目职责: 1. web API使用gin框架,通过中间件进行用户登录和权限校验