工作经历
字节跳动 2023-08 ~ 至今
技术专家
GoMySQLMongoDBRedisRocketMQ
国际化改造
- 根据合规区域的规范对数据平台内大量业务域名进行迁移,设计切流方案并通过 DNS 劫持解决办公网和生产网需要指向不同七层代理的问题
- 解决业务数据合规改造,为业务提出通用技术方案和整改流程,保证业务不因合规拉闸导致业务不可用
- 多语言方案升级:将数据平台内的多语言服务迁移至公司基建,提供整套从迁移到迭代的完整方案,为业务提供平滑过渡,并最终下线旧服务
- 协助业务排查海外环境带来的一些访问问题,比如网站无法访问,白屏分析等等
第三方 Cookie 解决方案
- 尝试目前全部的三方 Cookie 解决方案,并对数据平台内的全部业务进行访谈和调研,最终抽象、整理和提供覆盖全部场景的多种解决方案
协同服务
- 负责协同和同步服务的服务端开发,其中协同服务提供了引擎能力,解决并发冲突处理和数据获取;同步服务提供了保序和可靠性,通过推拉结合来解决长链大包传输问题。
- 弱网优化通过公网域名来解决海外用户端到端失败率高导致协同不稳定的问题:成功率从 99.89% -> 99.99%
- 可靠性治理,通过服务合并、链路简化、日志监控告警的治理等等,保证了服务 SLO >= 99.99%
- 基于埋点数据开发,为业务提供包括了有效协同数、在线人数等业务指标以及一系列协同的技术指标看板
消息中心
- 数据平台内部消息中心服务重写,解决由于旧基建下线需要进行架构升级以及部署海外合规机房的问题,新旧服务切流过程中 0 业务影响
- 旧服务链路混乱,由多个服务合并提供接口,且存在安全问题,重写后服务合并并通过安全检查
- 服务从原本的故障之后无法自动恢复,必须人工干预,在重写后达到 SLO >= 99.99%,消息列表接口 P90 耗时从 80ms -> 8ms
携程 2023-03 ~ 2023-08
高级开发经理
TypeScriptReactNode.js
携程 Ctrip Web 开发
- 带领团队进行日常业务迭代,优化迭代工作流,提高交付质量、减少 Bug 率和延期率
- 负责函数编排的系统设计,将云函数编排成 BFF 接口,将 BFF 开发门槛进一步降低,反推服务拆分和标准化
- 制定开发规范、研发 BFF Node 框架、规范化日志结构、请求头和响应体并基于此框架对页面进行重构试点
bilibili 2020-09 ~ 2022-12
资深开发工程师
GolangVue3TypescriptTiDBMySQLRedisKafka
- 作为国际版 Web 站的技术负责人带领团队进行前后端业务迭代和基础设施建设,进行 SSR 开发、性能优化、埋点库开发、数据开发、SEO 等工作
- 负责保障国际版 Web 与 API 业务网关的链路安全和稳定性,支撑上千 QPS + 百万 DAU 流量,接入限流限频,制定接警流程和进行异常流量分析
- 负责 Web Vue3 升级与重构、i18n SDK、支付 SDK、技术埋点等能力的方案设计
国际版中后台建设
- 负责国际版运营管理后台、本地化中台和审核后台的前后端,担任技术 Owner 参与了从零到一的建设,项目成员包括四名后端与三名前端
- 进行运营后台开发、提效的相关标准与流程制定
- 负责项目期间同时推进了前后端的流程规范化、工程化、标准化的工作
- 开发过程中顺便开发了包括 sentry sdk for vue3 以及前端配置中心等基建工作
LeetCode 力扣 2019-05 ~ 2020-09
后端工程师
Node.jsReactGraphQLDjangoRxjsTypeScript
- 负责支付、会员、营销(优惠券、兑换码)模块的后端开发(Node.js + gRPC + Django + Ping++),制定开发流程与规范。
- 参与用户自建题库的前端开发,包括了部分新版组件的开发(React + GraphQL + RxJS)
- 负责运营管理后台、部分活动、对 B 特殊需求的开发,副产出了一个简易表单生成,目前用于公司的各类 C 端信息填写需求
- 参与 LeetBook 开发,主要负责通用选择题功能的设计与开发。
- 负责通用问卷系统的后端开发,方便前端使用 schema 直接生成问卷。
- 负责第三方登录、国际手机号登录、美站登录与数据同步的开发与性能优化。
- 负责每日一题打卡的后端开发。
饿了么 2017-07 ~ 2019-05
高级前端工程师
VueMongoDBGoMySQLNode.js
前端发布系统
- 参与发布系统的前端界面,后端 API 与 CLI 的开发(TypeScript + Vue + MongoDB)
- 目前除了 CI 发布外,还支持类似 GitHub Pages 的静态页面发布,支持 Webhooks
基于 Docker 的 Node 发布系统
- 负责底层容器的构建,相关 API 编写,Grafana 监控配置
- 使用 HAProxy 进行服务发现并且编写了 HAProxy 配置生成器
静态资源 CDN 平台
- 参与静态资源管理的前端、后端开发(TypeScript + Vue + MongoDB)
- 支持 npm / GitHub / GitLab,支持对资源的额外处理
可视化配置管理工具 - 前端
- 开发编写 Schema,运营和产品进行配置的工具,支持源代码模式写 YAML 并存储为 JSON(Vue)
- 支持无限级嵌套,支持 Array 和 Object 的可视化
条漫生成器
- 利用 Canvas 进行条漫和表情包的绘制(React)
- 支持基本文字和图片的相关操作,具有图层概念、支持撤销重做
App 离线包管理系统
- 负责离线包发布平台的开发与维护(EggJS + Vue + MySQL)
- 实现了灰度逻辑控制、支持 Webhook 触发编译
静态资源增量更新服务
- 实现字符级的增量更新服务,负责整个项目的设计和开发(Go + JavaScript + MySQL)
- 开发内容包括了 Diff Patch 后端,处理用 CLI 和 SDK
饿了么 2016-07 ~ 2017-07
前端开发实习
容器管理平台 - 前端
- 公司范围使用的容器管理平台,支持复杂参数配置以及预览容器健康状态等功能(Vue)
Element UI - Bug 修理工
- 在 Element 第一版时期参与了 Element 的 Bug 修复和文档撰写工作
- Laravel Element Starter Kit 作者
营销页面生成器 - 后端
- 负责营销页面可视化生成器的后端,支持版本管理、发布、预览、多环境、文件直传等(Node.js)
New Tab - 叄刺猿
- 提供给大前端部使用的 Chrome New Tab 插件
- 支持天气、壁纸、搜索、点餐、链接收藏管理、Todo List、大前端微博和知乎专栏最新消息预览
Weex 内部 Demo 探索
- 参与 Weex 研究,编写饿了么 Weex Demo
- 撰写内部 Weex 指南,修改后开放在知乎专栏
对外活动
演讲经历
- Node Party 2017 - 女程序员的自我修养
- Coding 技术小馆 - 女程序员与开源程序
- FreeCodeCamp Shanghai 2018 - 闲话 CDN
- 2018 计算机大会前端分会场 - 字符级静态资源增量更新实践
- 2019 GDG Women Techmakers 圆桌
- 2019 GDG DevFest - 知识迁移
- 2021 GDG Women Techmakers - 从技术到技术管理
- 2022 Vue Conf - Vue3 SSR 在 bilibili 国际版的实践
线上分享
- GitChat - Weex 实战案例解析
- 知乎 Live - 女程序员的自我修养
- FreeCodeCamp 成都 - 闲话 CDN
- 前端早早聊 - 如何借助 5 道算法题入职 Leetcode
教育经历
上海海事大学2013-09 ~ 2017-06
计算机科学与技术 · 本科
自我评价
- 打杂工程师
- 只要你想做的问题都可以交给我试试
- 喜欢挖坑不填,所以如果对我在做(研究)什么感兴趣,请点击我的博客
- 目前会用的前端框架:React、Vue
- 目前会用的后端:Node.js/ Python / Go
- 目前会用的数据库:MongoDB / MySQL / Postgres
- RESTful 的践行者,GraphQL 的探索者
- 思考更好的实践,不会设计的 (Code) Design 厨