Writing
Notes and essays on physics, systems, AI, and life.
System Design
- PostgreSQL 搜索与索引:从混合搜索理解 B-tree、GIN、GiST 与 Partial Index
用一个职位搜索请求贯穿 PostgreSQL 全文检索、结构化过滤、索引选择、相关度排序和分页,建立可迁移的索引设计方法。
- PostgreSQL 到 Elasticsearch:四种增量索引架构怎么选
用一个简单模型比较定时扫描、应用双写、Transactional Outbox 和 CDC,讲清同步可靠性、延迟、工程成本与 Elasticsearch 扩容时间。
- 系统设计:Design a Job Board
从职位搜索这一条主线出发,用 API 和访问模式推导最小数据模型、倒排索引、索引同步,以及申请提交时的一致性边界。
- 系统设计:Design a Real-Time Fraud Detection System
从一笔必须在几十毫秒内决定、却要几周后才知道真假的交易出发,搭出 rules + model 风控链路,并讲清实时特征、标签延迟和反馈闭环。
- 系统设计:Design a Feature Store
从一次“偷看未来”的训练样本出发,搭出 offline/online feature store,并讲清 point-in-time join、materialization、freshness 与 training-serving parity。
- 系统设计:Design a Chat / Messaging System
从两个人的一条消息开始,搭出 WebSocket、durable-before-ack、会话序号与离线同步,再推导群聊 fan-out、多设备和多 Region。
- 系统设计:Design a Distributed Key-Value Store
从一台机器上的 WAL 与 hash index 开始,推导一致性哈希、N/R/W quorum、版本冲突、hinted handoff、read repair 与 anti-entropy。
- 系统设计:Design a File Sync Service
从单设备整文件上传开始,推导版本 manifest、内容寻址 chunk、增量同步、离线冲突、变更游标和共享文件权限。
- 系统设计:Design an Agent Orchestration Platform
从一次退款工具调用的重复执行出发,搭出可暂停、可恢复、受预算约束的 Agent 状态机,并讲清 tool 幂等、审批、上下文与沙箱边界。
- 系统设计:Design an LLM Inference Platform
从一次真实的生成请求出发,手把手搭出单 GPU 服务,再推导 continuous batching、paged KV cache、并行推理与 prefill/decode 分离。
- 系统设计:Design LLM Training Infrastructure
从 70B 模型为何远不止 140GB 开始,搭出单机训练与 DDP,再推导 ZeRO/FSDP、tensor/pipeline parallel、拓扑调度和分布式 checkpoint。
- 系统设计:Design an ML Training Pipeline
从“同一个 notebook 再也跑不出同一个模型”出发,搭出版本化训练 DAG,并讲清 dataset lineage、幂等 stage、experiment tracking、registry 和持续训练。
- 系统设计:Design a Model Serving Platform
从一个单模型 predict endpoint 出发,推导 schema contract、dynamic batching、tail latency、版本路由、canary、autoscaling 与安全回滚。
- 系统设计:Design a News Feed
从关注列表的时间倒序查询开始,推导 feed inbox、fan-out on write、名人热点的 hybrid fan-out、游标分页、排序和缓存一致性。
- 系统设计:Design a Notification System
从一封会被重复发送的订单邮件开始,搭出偏好、模板、调度、provider adapter、幂等、重试与多渠道通知状态机。
- 系统设计:Design a Payment Ledger
从一次超时后的重复扣款开始,搭出支付状态机与双重记账账本,并讲清幂等、不可变分录、outbox、对账和多 Region 所有权。
- 系统设计:Design a Retrieval-Augmented Generation System
从“答案看起来正确却引用了旧文档”出发,搭出可追溯的 RAG,再讲清 chunk、hybrid retrieval、rerank、freshness、权限过滤与离线评估。
- 系统设计:Design a Ride-Sharing Matching System
从一个城市的司机位置表开始,推导内存 Geo index、分层搜索、司机抢占、Trip 状态机、ETA、Surge 和按城市分片。
- 系统设计:Design a Recommendation System
从一个热门列表开始,推导 candidate generation、two-tower ANN、ranking、实时特征、反馈偏差和探索机制,搭出完整推荐闭环。
- 系统设计:Design an RLHF Pipeline
从一对偏好数据出发,搭出可复现的 SFT、reward model、rollout 与 policy optimization 流水线,并解释 PPO、DPO、版本绑定和评估门禁。
- 系统设计:Design Search Autocomplete
从一份内存词表开始,推导 Trie top-k、离线热度更新、拼写归一化、个性化合并、热点前缀缓存和低延迟索引发布。
- 系统设计:Design a Video Streaming Platform
从一个上传后的 MP4 开始,推导分片、转码 ladder、manifest、CDN、ABR、回源保护、直播低延迟和媒体处理状态机。
- 系统设计:Design a Web Crawler
从一个单线程 BFS crawler 开始,推导 URL canonicalization、robots、per-host frontier、politeness、去重、crawl trap、DNS 缓存与分布式 ownership。
- 系统设计:Design Ad Click & Impression Tracking
从一个会重发的 impression beacon 开始,搭出事件 ID、append log、event-time 聚合、watermark、去重、归因、报表修正和隐私边界。
- 系统设计:Design a Distributed Rate Limiter
从单进程 token bucket 开始,推导原子计数、Redis 热键、本地租约、多 Region 配额和 fail-open/fail-closed 语义。
- 系统设计:Design a URL Shortener
从一个可运行的 Postgres 版本开始,讲透短码生成、碰撞、重定向缓存、过期、热点、滥用治理和多 Region 演化。
- 系统设计:Design Google Docs(实时协同编辑)
用一条清晰主线讲透 Google Docs 实时协同编辑:需求、容量估算、API、数据模型、OT/CRDT、presence、离线同步和 reliability trade-offs。
- 系统设计:LeetCode Online Judge
从一份 Python 提交开始,搭出异步判题状态机,再推导不可信代码沙箱、测试夹具版本、worker lease、成本调度、竞赛突发和多语言预热池。
AI
- AI review patterns
Notes on the characteristic shape of AI code reviews — what they catch, where their fixes stop short, and the angles that close the gap.
Growth
- Reddit 冷启动:反营销社区里的产品增长打法
一份更教学化的 Reddit 增长笔记:先判断平台逻辑,再拆可行路径、常见幻觉、两周冷启动 SOP 和 90 天执行节奏。
Physics
- β-delayed proton emission from ¹¹Be in effective field theory
Halo EFT calculation of the rare ¹¹Be → ¹⁰Be + p decay branch, validating Standard Model predictions and ruling out exotic mechanisms like neutron dark matter decay.
Life
- Tech 会议里的 Powerful Statement
在技术会议里,说话有分量不是更强势,而是用证据、风险、取舍和 ownership 把一句话变成可决策的判断。
- 现代人的四大注意力陷阱
景观产品、政治猎奇、被动关系、系统冗余——识别并屏蔽这四类噪音,是一个人最重要的能力之一。