Peacalm Notes
Recent content on Peacalm Notes
马上订阅 Peacalm Notes RSS 更新: https://lishuangquan.cn/index.xml
Resume
技能值
- Basics:
-
- C++(0.85), Python(0.75), Golang(0.6), Lua(0.6)
-
- Data Structures and Algorithms(0.8), Networks(0.6), Operating System(0.6)
-
- ML(0.4)
- Applications:
-
- Comment Ranking System(0.9), Recommendation System(0.6)
- Tools and Frameworks:
-
- Git, Redis, Nsq, Kafka, Thrift
工作经历
2017-2022,北京,字节跳动,后端开发工程师。评论排序系统架构和策略,推荐系统架构和策略。
字节跳动 2017.7~2022.6
1. 评论排序系统架构和排序功能策略开发负责人
全权负责字节跳动评论中台评论排序服务架构开发、优化和排序业务功能以及排序策略开发。
经历评论浏览峰值从10万QPS到100万QPS量级增长期间的在线服务架构持续优化。稳定性几乎持续保持在三个九以上,数年来保持自己一个人运维无问题。
经历评论日发表量从千万到几亿量级增长期间离线评论排序索引更新服务的架构持续优化。服务性能、更新可靠性、实时性、对复杂多样业务需求的支持能力持续提高。
经历从以今日头条App为核心的简单评论排序功能到支持字节跳动全部产品线数十个App的评论排序功能需求开发。业务需求复杂多变,对评论排序功能和策略的多样性、灵活性、实时性等的要求持续提高,数年来自己一人承担开发无问题。
-
亮点项目:Maglev一致性哈希下的负载均衡,从无状态服务到有状态服务。
上游Proxy负责请求分发,在保持负载均衡的前提下尽量保持一致性哈希,使得后端服务节点LocalCache命中率大幅度提高,大幅提高服务器内存资源使用效率、降低服务器CPU资源使用量、降低服务响应延时、降低网络带宽占用。同时Proxy实时统计监控每一个下游节点健康状态,能应对热Key问题,支持故障节点自动下线、故障恢复后自动上线。 (产出博文以及开源代码:https://lishuangquan.cn/post/2022/maglev-consistent-hash)
-
亮点项目:评论排序策略的动态配置化设计,在线服务的参数管理思想。
大幅提高评论排序策略代码的通用性和可配置性。轻松以一个服务应对上游数十个业务产品线不同的评论排序策略。简单的或已经在其他产品线开发过的功能可通过远程配置快速应用到某个有同样需求的产品线或其中某个具体应用场景,不必修改代码上线。 (以此为启发,开发了一个可将Lua脚本嵌入到C++项目中的开源项目:https://github.com/peacalm/cpp-luaw)
-
长尾请求排查优化,通过异步RPC请求精准控制RPC延时提高服务可用性。
-
高延时排查优化,通过给LocalCache分桶使评论排序服务延时从120ms降低到30ms。
2. 推荐系统架构和策略工作
参与过抖音社交推荐服务架构优化与策略开发,与推荐算法同学对接。参与过TikTok视频推荐评论目标优化工作,有过模型训练经历。对字节跳动推荐系统架构有一定了解。
除了开发具体琐碎的业务功能外,产出过通用解决方案得到推荐组内多数人使用,包括:ValueTree改进:定义变量默认值,避免未定义错误;用浏览侧实验层开作者侧实验的通用方法等。
个人开源项目
cpp-luaw:在C++项目中使用Lua脚本的工具库。——2023~2024
地址:https://github.com/peacalm/cpp-luaw
支持在C++中读取Lua中的值、将C++中的值传递给Lua、在C++中调用Lua中的函数、将C++中定义的函数绑定给Lua调用、将C++中定义的类包括其成员变量和成员函数绑定给Lua使用、在C++中对Lua表达式进行求值等。
cpp-maglev:基于Maglev一致性哈希算法的动态负载均衡库。——2022
地址:https://github.com/peacalm/cpp-maglev
(工作经历中已详述,另见博文:https://lishuangquan.cn/post/2022/maglev-consistent-hash)
C++基础算法代码库。(学生时期算法学习和C++编程学习成果)——2016
地址:https://github.com/peacalm/Cplusplus-Algorithms-Library
包括高精度整数类型,树状数组类,位操作算法库,数论和组合数学算法库,矩阵类,并查集类,回文树类,排序算法库,string类扩展功能库,touchable_heap容器类以及各种容器类型的ostream输出支持和实用调试工具等。
(2025)专业技能
- 熟练掌握C++、Python,熟悉Golang、Lua。扎实的数据结构和基础算法能力。
- 热爱编程,良好的代码规范和文档习惯。喜欢编写高质量、通用的、可分享复用的代码库。喜欢C++泛型编程,GitHub上有个人开源项目。
- 具有高吞吐、高并发、高性能、高可用的微服务开发和优化经验。
- 深入理解评论排序服务,有百万QPS级评论排序服务全链路开发优化经验,具备从0到1搭建能力。
- 熟悉推荐系统架构。对机器学习和推荐算法等稍有了解。
- 知识结构包括数据结构及常用算法、计算机网络、操作系统、数据库以及系统测试等。
教育经历
| 时间 | 学校 | 院系 | 专业 | 学位 |
|---|---|---|---|---|
| 2014/09 – 2017/06 | 东南大学 | 自动化学院 | 模式识别与智能系统 | 工学硕士 |
| 2010/09 – 2014/06 | 东南大学 | 自动化学院 | 自动化 | 工学学士 |
(在校时期)专业技能
- 熟练掌握C/C++语言,能够快速运用C/C++进行软件开发,爱好泛型编程;
- 熟练掌握Python语言编程。
- 熟练掌握数据结构和常用算法设计,喜欢编程比赛,在Github上创建并维护一个开源算法库。
- 熟悉Linux系统操作及Bash脚本编程,熟悉Unix/Linux环境编程。
- 熟悉嵌入式Linux系统开发流程,掌握MCU、DSP、ARM等处理器的硬件系统设计与软件开发;
- 知识结构包括数据结构及常用算法、计算机网络、操作系统、数据库以及系统测试等。
(在校时期)获奖情况
| 时间 | 奖项 | 名次 | 级别 |
|---|---|---|---|
| 2016 | 计蒜之道2016程序设计大赛 | 复赛前400 | 企业级 |
| 2016 | 思杰代码大师 | 二等奖(第二名) | 企业级 |
| 2016 | 白山极客挑战赛 | 铜奖(138/825) | 企业级 |
| 2016 | 华为2016软件精英挑战赛 | 江山赛区二等奖 | 企业级 |
| 2016 | Calix 2016 Future Star编程大赛 | 三等奖 | 企业级 |
| 2015 | 全国研究生数学建模大赛 | 二等奖 | 国家级 |
| 2015 | 东南大学自动化学院研究生会先进个人 | 院级 | |
| 2014 | 全国研究生数学建模竞赛 | 三等奖 | 国家级 |
| 2014 | 东南大学自动化学院本科生优秀毕业设计 | 院级 | |
| 2013 | 东南大学电子设计竞赛 | 一等奖 | 校级 |
| 2013 | 东南大学智能车竞赛 | 优秀奖 | 校级 |
| 2012 | 东南大学Robcup机器人竞赛3D仿真组 | 三等奖 | 校级 |
(在校时期)项目经历
-
Cplusplus Imporvement Library C++开源算法库(https://github.com/peacalm/Cplusplus-Improvement-Library)
对C++标准库的扩展。包括高精度整数类型,树状数组类,位操作算法库,数论和组合数学算法库,矩阵类,并查集类,回文树类,排序算法库,string类扩展功能库, touchable_heap容器类以及各种容器类型的ostream输出支持和实用调试工具等。 -
电梯安全检测仪系统设计
设计一款仪器通过对电梯运行过程中的震动、噪声、温湿度、开关门情况等信息的测量与分析评估电梯的安全情况。 主要负责仪器的整机方案设计和双目视觉测距测速模块的研发。 -
基于MCU的血液凝固检测仪系统设计和实现
本科毕设。