张盛宇#

| (+86)176******** | silverrainz.me

从业经历#

字节跳动:

基础库研发工程师,2021 ~ 2024

长亭科技:

系统研发工程师,2017 ~ 2020

长亭科技:

实习研发工程师,2016

Google Summer of Code:

GNU Hurd developer,2016

教育经历#

造型实验室:

古典素描、当代艺术创作,2024 ~ 2025

造型实验室:

古典素描,2020 ~ 2021

华南农业大学:

软件工程,2013 ~ 2017

专业技能#

基础技能
编程语言:

熟练使用 C、Golang、Python,Rust,能阅读和调试 i386/x86_64 汇编

开发工具:

熟悉 Shell、Git、(Neo)Vim、SysteD、Docker;能使用常见的 build System

线上运维:

能熟练使用各大 Linux 发行版,并进行简单的维护和监控

文书处理:

重视文档建设,能熟练阅读、编写英文技术文档,熟悉 Sphinx、Office 等文档工具

社区建设:

熟悉开源社区工作流程,拥有较丰富的中小型项目立项、发布、推广、维护经验

细分领域
操作系统:

了解操作系统内核基础知识,有小型操作系统内核开发经验

分布式流处理:

熟悉流处理基础知识,主导开发过轻量级的流处理框架并投产

性能优化:

熟悉 Golang 程序性能的基准测试和优化手段

Linux Desktop:

能熟练使用 GTK 框架开发原生 Linux 桌面应用程序

项目经历#

Go 性能平台 - 字节跳动 / 协作开发 / 2022 ~ 2024

服务内部数万微服务的一站式性能优化平台,基于线上采样火焰图的火焰图衍生出各种功能。

我的工作:

代码性能分析:

主导开发;动态采样的火焰图 + AST/SSA 级别的静态分析, 能诊断出一个服务中有哪些可以优化的代码片段, 估算其在生产环境中的开销,并给出改写建议

服务稳定性观测:

主导开发;针对内部 Go Runtime 的上线各阶段进行稳定性检测

离线计算:

参与开发;数万微服务线上采集的火焰图的拆分、存储、计算和重组

Go 泛型基础库 - 字节跳动 / 主导开发 / 2022 ~ 2023

基于泛型的工具型 Golang 基础库。

设计良好,功能、文档齐全,测试完善,在内部广受好评。在 Go 1.18+ 的内部服务中广泛使用(70%+)。

github.com/bytedance/gopkg - 字节跳动 / 协作开发 / 2021

字节开源的 Golang 高性能基础库。

我的工作:新增了一个和 redis zset 行为相同的数据结构,在 Tiktok 部分业务中使用。

github.com/sphinx-notes - 开源项目 / 独立开发 / 2020 ~ now

用 Python 编写的系列 Sphinx 插件和周边工具。

包括:GitHub Action、命令行 Fuzzy Finder、LilyPond 乐谱支持、构建加速、类 Obsidian Dataview 的结构化数据定义等。

分布式流处理框架 - 长亭科技 / 主导开发 / 2018 ~ 2020

一个轻量的分布式实时流处理框架,可以方便地嵌入各种 Golang 程序中。 参考了 Flink 和 TiDB,根据客户的场景做了针对性的优化。

  • 支持集群化部署;支持服务发现;支持动态伸缩

  • 支持滑动、滚动时间窗口;支持超大滑动时间窗口

  • 支持 Streaming SQL;支持 JSON path;实验性支持 JOIN 和子查询

github.com/SrainApp/srain - 开源项目 / 独立开发 / 2016.01 ~ now

使用 C 语言 + GTK 框架开发的现代化 IRC 聊天客户端。

支持 Linux/BSD/macOS/Windows 多系统;全键盘操作;针对 IRC 的若干缺陷做了改良:支持图片预览、支持 Bridge Bot 优化显示。

github.com/SilverRainZ/OS67 - 开源项目 / 独立开发 / 2014.10 ~ 2015.10

使用 C 语言开发的 Unix-like 玩具操作系统内核,参考了 OSASK、Orange's 和 MIT6.628。

支持虚拟内存管理、Minix 文件系统、基于 fork/exec 的多线程、用户级系统调用、支持 Shell 和简单的管道。

开源活动#

Arch Linux
  • 2016 年至今,为 Arch Linux CN Repository 维护软件包 100 余个,提交数量排名 #12

  • 编写并维护 Arch User Repository 软件包 20 余个,其中包括 Jekyll、GTK4 等尚未被官方收录的流行软件

The Go Language

为 Golang 提交过 7+ commits。

Sphinx Documentation Generator

为 Sphinx 提交过 6+ commits。

SphinxNotes 其下的项目被 Microsoft、PHP、Haskell 等知名公司和组织使用。

IRC

IRC 客户端 Srain 被 Debian、Ubuntu、Fedora 等 10+ Linux 发行版收录。

为流行客户端 HexChat、Issi 均贡献过代码。

其他
  • 在 GitHub 上获得 1300+ 星标(SilverRainZ 800+、SrainApp 300+、SphinxNotes 100+)

  • 为中科大 Linux 用户协会(USTCLUG)设计社团 LOGO

  • 维护 PNMixer 的中文翻译

专利#

CN109889530B:

Web 应用防火墙系统及计算机存储介质

CN111158683A:

一种 Web 应用防火墙自定义扩展功能的方法、装置、系统及电子设备

CN110334117A:

一种实时数据处理方法及装置