作品

我做过的东西,和它们带来的改变

这些复盘和长文都来自生产环境里的前端工作:浏览器级标签页系统、真实约束下的性能和可靠性,还有用在实际工作里的 AI Agent。每张卡片都链到一篇完整的笔记。

项目
8
主题
3
语言
EN / 中文

项目复盘与构建

全部文章
  1. 01 工程 项目复盘 8 分钟阅读

    从工程视角理解电商增长数据的本质

    问题: 最近转进 TikTok Shop 一个做电商增长的新组,由于自己之前没有接触过增长工程师这个专业,所以借着团队内现有项目和 GPT 学了一轮,我了解到了数据在增长工程里几乎是最重要的东西,以下是我的学习增长数据心得,本文纯…

    团队
    TikTok Shop 电商增长
    • 把 GMV 拆成工程口径的转化漏斗(UV × PDP 到达率 × 加购/立即购买 × 进入结算 × 支付成功 × 人均订单数 × AOV),让指标下滑能定位到具体环节而不是停在顶层数字。
    • 把 App Landing 实验的 Primary Metric 定为 7 天内 Web-assisted App paid GMV / eligible MWeb UV,同时约束“能归因到 Web 触点”“真的在 App 内成交”“按单位流量衡量价值”三件事。
    • 要求一个稳定的 web_attribution_id 从 MWeb 一路传到 App 订单,否则即使 App 订单上涨也无法证明增长来自 Web 改动。
    • A/B 实验
    • deeplink
    • btm_chain
    • 漏斗分析
    • Cohort 留存分析
    • 多触点归因

    阅读笔记 2026.07.02

  2. 02 工程 项目复盘 16 分钟阅读

    运营管理心跳系统设计

    问题: 从用户动作、长链接入、Redis 时间窗口、HCM 状态提交、下游传播、跨 region 切流和 TT/主业务线拆分,一步步推导运营管理心跳系统的设计。

    角色
    HCM 与心跳服务全栈负责人
    时间
    2024 Q3 – 2025 Q2
    • 我维护的 HCM/Heartbeat 链路服务 47,149 个 agent、7,000 个 skill group、约 4,000 QPS 和 141 个上游调用方。
    • TT 与主业务线拆分后,旧 HCM 侧减少约 3,000 个 agent 和约 2,000 QPS,TT 的心跳、状态提交和路由在 TT 内闭环。
    • 美区一次事故里,binlog 到 HCM MQ 链路堆积约 300k 条消息,依赖 ES 的 handler 阻塞了共享消费;事后补了 handler 维度耗时指标,并把 binlog 直接发 RMQ 的工作状态链路列入改造。
    • Redis
    • MQ
    • DBus
    • binlog
    • Elasticsearch
    • WebSocket

    阅读笔记 2026.06.19

  3. 03 工程 项目复盘 7 分钟阅读

    Workspace v2 Tab System 性能优化:让热切换、冷启动和后台任务各走各的路

    问题: 一次 Workspace tab 性能复盘:把首屏、热切换、后台压力拆开测,用 profiling、E2E gate 和回滚记录挡住假收益。

    角色
    负责人
    时间
    2026 Q2
    团队
    TikTok Shop 电商前端
    • 冷切换 p95 duration 从 1829.8ms 降到 812.3ms(-55.6%),p95 post-visible blocking 从 1193.7ms 降到 8.7ms(-99.3%),主要准备工作被移到点击前。
    • Scheduling route FMP 从 14773ms 到 11926ms,降低 2847ms / 19.3%:route chunks 从 6785ms-15464ms 才被发现改成 route-aware preload。
    • Official Forecast route FMP 从 14271ms 到 11612ms,降低 2659ms / 18.6%:route-critical CSS 从约 13.8s 提前到约 1.9s。
    • CDP Chrome
    • React
    • iframe sandbox
    • requestIdleCallback
    • WebSocket
    • 前端

    阅读笔记 2026.05.18

  4. 04 工程 项目复盘 12 分钟阅读

    Workspace v2 Tab System:把浏览器标签页带进工作空间

    问题: Workspace v2 要做的不是多画一排 tab。用户会同时打开多个业务对象,刷新和分享链接还要回到正确页面;后台 runtime 不能偷偷改 URL、弹层、事件或前台 CPU。最后真正要解决的是 ownership:intent、URL、tab 状态、runtime c…

    角色
    负责人
    时间
    2026 Q2
    团队
    TikTok Shop 电商前端
    • 刷新不丢 tab,多窗口不一致的问题也解决了:BFF 存打开的 tab,React Query 让当前窗口立刻响应,BroadcastChannel 通知其他窗口 invalidate 后重新拉取。
    • 地址栏保留真实业务 URL,例如 /workspace/workstream/:id/...,刷新、收藏、分享链接都能回到业务页,而不是只在自己本地有意义的 /tabs/:id。
    • 只有当前 tab 能写 URL、弹层、接收前台事件和占用前台 CPU;hidden runtime 的 history 写入会被拦住并记录成 scope-drop。
    • React
    • TypeScript
    • React Query
    • BroadcastChannel
    • History API
    • iframe

    阅读笔记 2026.05.18

  5. 05 AI 与 Agent 项目复盘 6 分钟阅读

    用 harness 让 AI 做性能优化:goal-driven loop 和 ledger

    问题: 我做了一个性能优化 skill,把 AI Agent 从“可以试试懒加载”这类建议,拉进 harness、目标和 ledger 组成的循环里一轮轮跑。在一次 Workspace 优化里,strict profile 看到 Workstream 5089ms -> 2519ms、Report Center 10…

    • Workstream FMP 从 5089ms 到 2519ms(-50.5%):删除启动阶段无关 payload,预热 list API,把 notification/DnD/editor/actions 移到 final FMP 之后。
    • Report Center FMP 从 10021ms 到 6762ms(-32.5%):把 notification 移到 FMP 后,并修复 prefetch body/cache-key 对齐。
    • Scheduling FMP 从 10367ms 到 7630ms(-26.4%),Audit Workbench 从 12610ms 到 10188ms(-19.2%)。
    • TypeScript
    • Service Worker
    • GraphQL
    • REST
    • requestIdleCallback
    • AI

    阅读笔记 2026.05.16

  6. 06 AI 与 Agent 构建长文 6 分钟阅读

    Agent Skills 探索实录 — AI Agent 时代的函数式蓝图

    问题: Skill 就是跑在大模型上的函数——封装固定流程、定义输入输出、支持跨 Agent 复用。本文从第一性原理出发,拆解 Skill 的本质、设计原则和工程实践,帮你把零散的 Prompt 经验沉淀为可复用的能力单元。

    • AI
    • 软件工程
    • Claude Code
    • Agent
    • Skills

    阅读笔记 2026.03.23

  7. 07 工程 构建长文 2 分钟阅读

    用 NodeJS 构建一个玩具浏览器

    问题: 没错,我又给自己挖了一个坑。我看到了一本名为《Web Browser Engineering》的有趣书籍,它教如何用 Python 构建一个浏览器。由于我现在正在学习 SICPJS,并将在课程结束时构建一个编译器,我认为这两门课程可能有些关联。我…

    • 浏览器

    阅读笔记 2022.04.27

  8. 08 工程 构建长文 7 分钟阅读

    从零构建 Redux(Redux 源码解读)

    问题: 状态不过是一个 getter/setter。

    • 软件工程
    • 前端
    • React

    阅读笔记 2023.11.28

这里只列我写过笔记的项目,每一项都有对应的文章。

同一主题下的更多文章

全部文章

下一步

如果你在评估我的工程能力,先看上面的卡片,再看背后的笔记。