教育经历

  • 北京大学 | 软件与微电子学院 | 软件工程专业 | 硕士 | 2014.09-2017-07
  • 烟台大学 | 数学与信息科学学院 | 应用数学专业 | 学士 | 2010.09-2014.07

比赛经历

  • 阿里天池大数据比赛 | 阿里巴巴中间件性能挑战赛 | 45/1946(top 3%) | 入围决赛 | 2016.07
  • 美国大学生数学建模竞赛(MCM) | Honorable Mention | 2014.03
  • 全国大学生数学建模竞赛(CUMCM) | 省二等奖 | 2012.09

个人技能

  • 编程语言: Go > Java > Python > C
  • 熟悉 MySQL,Redis 等常用存储底层原理、集群部 署、主从同步等
  • 了解常见的开源分布式中间件,RPC 框架原理、Kafka 等
  • 对构建高并发、高性能服务架构有一定的经验

工作经历

  • 字节跳动 | 服务端 RD | 2019.09 - 至今
  • 神州数码融信软件有限公司 | Java开发 | 2017.08 - 2019.08

项目经历

TikTok 直播业务架构@新加坡 - Golang (2023.07 - 至今)

  • 直播看播系统
    技术标签:直播间看播人数实时计算、时间轮架构、flink、图存储
  • 榜单中台服务
    技术标签:配置化接入、海外多活数据一致性检测&报警机制、热 Key 主动发现&主动缓存&主动回源
  • 白名单中台服务
    技术标签:读多写少(千万级QPS)、SDK 接入、BloomFilter实现、多级缓存

TikTok 直播业务架构@北京 - Golang (2021.09 - 2023.07)

  • 榜单中台服务
    技术标签:配置化接入、海外多活数据一致性检测&报警机制、热 Key 主动发现&主动缓存&主动回源
  • 白名单中台服务
    技术标签:SDK 接入、BloomFilter实现、多级缓存

抖音社交业务研发 - Golang&Python(2019.09 - 2021.08)

  • 关系中台服务
    服务于字节内头条、西瓜视频、抖音&TikTok、火山小视频等各大产品,提供关注、拉黑等关系判断及列表获取,日常峰值超 3500W+QPS
    技术标签:高并发架构、缓存数据一致性、分库、读写分离等
  • 关注分组服务
    支持基于标签用户的系统分组及用户可编辑的自定义分组, 实现关注列表分组与关注 feed 联动, 满足高关注数用户的分类别视频消费
  • 抖音面对面抖一抖服务
    基于 GeoHash 实现寻找附近的人,很好的支持了 2021 年五一、端午等拉新裂变活动 https://zhuanlan.zhihu.com/p/369713040

分布式事务中间件DTF (2018.06 - 2019.08)

  • 对标阿里巴巴&蚂蚁金服开源分布式事务中间件Seata,该事务中间件DTF已开始与国内某top3股份制商业银行离岸业务系统完成对接准备上线;
  • 提供TCC、XA、FMT三种分布式事务实现;其中FMT事务、XA事务均实现了业务零侵入的分布式事务;
    • FMT事务模式: 基于SQL的拦截、解析实现了业务无侵入的事务,相比 Seata做到了以下几点功能完善及性能优化:
    • 通过SQL重写优化解决了Seata在数据库读已提交隔离级别下可能存在的数据不一致的隐患;同时扩大了对函数的支持范围;同时支持批量方式执行;
    • 通过内存计算方式生成后像数据,一次非业务的数据库查询,减轻数据库压力同时降低了事务性能损耗;
    • 通过异步化注册分支事务增强并发性、自实现序列化极大压缩了UndoLog的体积,进一步降低了分布式事务的性能损耗;
    • 相比于Seata,DTF将事务的逻辑锁的实现转移到了客户端,减轻了服务端锁管理的压力,同时提供了三种可配置化的逻辑锁方式;
  • 提供了增强的Spring事务管理器,实现了@Transactional同时管理本地事务和分布式事务以及兼容Spring事务传播行为,使得存量系统可迅速接入分布式事务;
  • 基于数据库实现了服务端集群自动注册与发现,以及相关负载均衡;通过订阅模式实现了服务端集群节点增加或宕机能够及时推送到客户端;基于Netty的NIO通信方式,高并发下性能表现优异。

持续集成版本发布系统 (2017.11 - 2018.02)

  • 2017年10月本人开始负责公司Svn切换Git及Git的推广工作,开发了一套 Git + Jenkins + OMS 的持续集成版本发布系统;
  • 独立开发了基于Git提交记录自动化增量版本抽取工具,支持规则过滤及相关告警功能;
  • 针对公司开发人员在项目交付现场的交付流程,制定了配套的Git分支管理流程;
  • 同时针对个别遗留项目仍使用Svn作为版本管理工具的也配套开发了基于Svn提交记录的自动化增量版本抽取工具,该系统先已在公司各个客户交付现场全面实行。

关于我

个人学习能力强,热爱技术;有较强的 owner 意识,工作中注重沟通合作,及时反馈;带新人方面有一定的经验