钟武
基本信息
出生年月: 1991.05 工作年限: 7年 GitHub: https://github.com/zhongwuzw
Email: zhongwuzw@qq.com
教育背景
- 北京邮电大学 硕士研究生 计算机科学与技术 2013.08 - 2016.03
- 北京邮电大学 本科 网络工程 2009.09 - 2013.06
工作经历
- 阿里巴巴 - 大文娱 - 优酷 - 架构 无线开发专家 2019.08 - 至今
工作内容:
- 优酷
App
极速启动:全链路监控、提测阶段启动性能卡口(load
、C++ mod init
、分阶段耗时)、启动耗时1.6s
到 900ms
。 - 优酷黑白屏能力建设:支持
Native
、Flutter
(Android
、iOS
)、播放器、H5
页面异常检测,异常率0.28%
到0.03%
。 - 优酷包大小能力建设:大小计算、分析、提测卡口、线上代码覆盖率、瘦身等,安装包大小降100
M
,下载大小降80M
,从倒数到全面超越竞品。 - 优酷插件化工程建设:
App
插件底座加业务自定义插件,插件打包平台,实现自定义插件包构建能力,构建耗时减少50%
以上;插件内存卡口建设,依据插件分拆各业务内存水位,归属更精准;插件版本自动化管理,包括集成区监控、模块同步、构建冒烟验证,错误预警等,实现版本全自动化管理。 - 优酷
iPhone
、iPad
多端融合:实现一套代码管理,启动、稳定性等指标全面超越老iPad
版本。 - 优酷磁盘监控治理体系建设:线上监控、文件树还原、统一治理机制,解决大磁盘占用异常问题,线上客诉趋零,大盘水位2
G
到900M
。 - 优酷
Flutter
能力建设:谷歌官方Flutter Member
,46PR
,支撑优酷业务所遇问题、Flutter
framework
启动优化(754ms
-> 156ms
)、Flutter
动态库懒加载改造、引擎大小裁剪瘦身(收益3M
+)。 - 优酷小程序建设:集团首个淘宝、支付宝小程序双容器共建接入,实现小程序通投,站内购物模式由需唤端淘宝到
App
站内购物闭环的提升,上线优酷购、淘票票、书旗、游戏中心等小程序。 - 优酷
iPhone
、iPad
稳定性治理:承担疑难问题攻克,恶化原因分析,优化方案制定等,稳定性达到历史最好水位。 - 优酷架构及各种中间件维护:如
Swift
性能报告、底导、Flutter
、工具箱、唤端优化等,解决团队所遇各种疑难问题。
- 中国移动通信研究院 系统研发工程师/项目经理 2016.04 - 2019.07
工作内容:
OTS
(Open Testing System
) 后台处理系统:NGINX
负载,Kafka
、ZooKeeper
消息分发,MySQL
落盘。日均报告25万份;管理3名外协日常工作。NB
手持网络测试设备:基于LiteOS
系统,包含AT
指令、NB
测试模块、UI
交互等。IP
查询系统:时延4.8ms
,TPS
78000t/s
。NB
智慧停车:地磁传感器前期技术调研;地磁检测设备软件层代码Review
;开发部署基于ELK
的地磁数据后台。
实习经历
公司 | 职位 | 时间 | 工作内容 |
---|---|---|---|
百度 - 网页搜索部 | iOS 实习研发工程师 |
2015.06 - 2016.03 | 百度App iPad 研发 |
链家 | iOS 实习研发工程师 |
2015.03 - 2015.05 | 链家App iOS 研发 |
项目经历
优酷极速启动优化 项目负责人 2022 S1
项目描述:为提升优酷
App
用户启动性能,通过建立启动全链路监控大盘,启动器建设,管控+可动态编排能力,耗时点持续分析优化,卡口防腐化等,App
启动耗时从1.6s
到 900ms
。内容:
- 全链路观测:建立从点击
App
、系统初始化、load
、C++ mod init
(自定义Linker
)、启动任务、渲染等各阶段大盘监控;基于Chrome tracing
协议,支持线上用户动线可视化。 - 工程卡口防腐化:提测阶段,
load
符号扫描,自定义Linker
将模块静转动识别C++ mod init
符号;集成阶段,实验室生成App
启动性能报告。 - 启动链路治理:
Pre-main
阶段- 非启动链路动态库,禁用
pod
自动link
,避免启动中系统link
非必要动态库。 - 制定动态库懒加载方案,解决依赖符号吸附、符号
Strip
、符号未定义、运行时load
动态库异常等问题,提供静态库直转动态库和动态库壳吸附静态库两种方案。优酷内实现动漫、Flutter
(Flutter
构建工具链改造 ) 等懒加载。 - 二进制重排,通过
Pods
MachO
注入获取方法调用顺序生成order file
,提供给Linker
atom
排序时参考调用顺序进行布局,减少启动page fault
带来的disk I/O
耗时。 load
、C++ mod init
治理。部分启动链路耗时的独立基础能力load
阶段提前子线程触发。
- 非启动链路动态库,禁用
After-main
阶段:- 以任务维度,分为启动、闲时任务,可动态化配置主子线程任务,子线程并发数控制,做到任务可管控。
Disk I/O
治理,减少主线程I/O
操作;线程管控,减少不必要线程;底导Tab
懒加载等。- 统一降级
SDK
,提供机型等级分类及功能降级管理供业务接入。
- 全链路观测:建立从点击
优酷包大小瘦身 项目负责人 2021 S2
项目描述:为提升优酷下载转换、留存率,减少下载耗时、磁盘占用大小,同时给启动耗时、内存水位等带来收益,通过对优酷
App
下载、安装大小的持续优化,下载、安装大小分别降低80M
、100M
,从落后到全面超越竞品。内容:
- 包大小分析工具:
- 模块维度大小统计:静态库基于
linkmap
符号表,文件id
关联object file
,从而归属到模块。动态库多架构拆分arm64
进行统计。 - 知识图谱:形成团队、功能、模块粗到细粒度的图谱网,从而能将各模块归属到对应业务团队。
- 瘦身辅助工具:提供团队、功能、模块聚合包大小统计,覆盖率数据、重复资源、超大资源等能力。
- 模块维度大小统计:静态库基于
- 工程卡口防腐化:
- 提测、集成阶段:针对业务团队,制定一套基于
TS
、代码热度、DAU
、VV
等维度的算法,设定各团队包大小阈值。提测、集成时,使用包大小分析工具,基于大小阈值,对各团队进行大小管控。
- 提测、集成阶段:针对业务团队,制定一套基于
- 瘦身分析治理:
- 文本合并,资源文件上云或压缩,图片转
webp
,相似资源。 - 覆盖率平台:找出无用代码、低价值业务下线,基础库架构统一。
- 编译选项优化:构建侧通过
debug
符号裁剪、导出符号控制、优化level
为-Oz
、C++
RTTI
擦除等编译选项进行大小优化。 - 业务动态化:
native
页面切换为其它动态化方案Weex
、GaiaX
、H5
、小程序等。 - 自定义
Linker
压缩:利用MachO
BSS
段数据值不占磁盘大小,将部分section
的原子迁移到BSS
段,并将值压缩到Data
段,App
启动时解压校准BSS
段值指针,安装大小收益30M
。 - 下载大小优化:
TEXT
段迁移,iOS
13下苹果加密bug
导致TEXT
段压缩率极低,通过迁移到DATA
段绕过加密流程,从而提高压缩率,收益80M
+。
- 文本合并,资源文件上云或压缩,图片转
- 包大小分析工具:
优酷
iPhone
、iPad
多端融合 项目负责人 2020 S2项目描述:优酷
iPhone
、iPad
多端融合,实现一套代码管理,启动、稳定性等性能指标全面超越老iPad
版本,给用户带来更好体验的同时,带来研发、运营、产品等大幅提效。内容:
- 稳定性:
iPad
老设备多,性能差,稳定性问题主要集中于该类设备。Anonymous VM
的CG raster data
内存区占用大,低端机关闭图片离屏decode
,动图转静图,大图缩略、dispatch queue
增加autoreleasepool
、图片下载并发、缓存数控制等。UICollectionView
系统组件bug
,复用池存在不释放问题。实现坑位离屏检测,定时清理。- 页面图片组件清理机制:前后台、页面切换时,将当前不展示的图片组件加入监控池,定时
GC
,同时做到组件恢复展示时的重新加载。 - 低端机播放器降级为系统播放器,降内存90
M
+;播放页分区域错峰加载,降低瞬时CPU
、内存等峰值。 - 分析出
memory footprint
不准问题,确定phys_footprint
和instruments Heap
&Anynymous VM
两套组合分析内存占用问题。 - 各类疑难
crash
、abort
问题分析治理,卡死、卡顿、CPU
异常、耗电量、磁盘I/O
、爆线程等。
- 稳定性:
开源项目
Flutter
:Google
跨端框架,Engine
、Framework
、packages
等贡献46PR
,成为Flutter
组织官方Member
。React Native
:Facebook
跨端框架,贡献123PR
,成为React Native
官方Collaborator
。MessageKit
:Swift
版消息UI组件,项目Owner
。SDWebImage
:图片库,SDWebImage
组织Member
,贡献100+PR
。- 其它:
Apple
Objective-C
运行时、MMKV
、PINRemoteImage
、Texture
…
获奖情况
- 阿里巴巴 - 优酷《产品技术与创新中心优秀个人奖》 2022
- 中国移动通信有限公司研究院《最佳新人奖》 2017
- 北京邮电大学校一等/三等奖学金 2014 / 2010
专业技能
- 扎实的计算机相关知识,拥有全栈开发能力
- 熟练掌握
Objective-C
、熟悉Swift
/C
/C++
/JAVA
、常用数据结构和算法 - 熟练掌握
iOS
开发,对iOS
的了解全面而深入 - 熟悉
HTML
、CSS
、JavaScript
等前端技术 - 熟悉
Linux
命令及*sh*
、Python
等各类脚本 - 熟悉
NGINX
、Kafka
、Redis
等后端技术 - 英语六级、阅读写无障碍。