WEEK 03 · 2026.08.10—08.16 · WRITER GATE

Feed 与实时互动

本周只有三条线:FB News Feed 学派生 feed 与 fan-out;FB Live Comments 学 durable log + realtime delivery;Instagram 先盲做再迁移,专门暴露 media path 带来的新瓶颈。

能力主线

读扩展在 Week 2 已经接受;Week 3 只推进 feed 和 realtime:写入事实、派生状态、投递通道、断点恢复。

01 · FEED

System of record vs derived timeline

Post/Follow 是事实;Feed table 是可重建派生状态。面试要说清 replay、lag、dedupe 和 stale user semantics。

02 · FAN-OUT

push/pull/hybrid 不是口号

大量 followees 伤 read,大量 followers 伤 write,celebrity 需要 read-time merge;hot post cache 要和 mutable aggregates 分开。

03 · REALTIME

Durable log + delivery channel

评论事实在 log/store;SSE/WebSocket 只是投递。Last-Event-ID、offset、replay 和 backpressure 定义恢复窗口。

项目角色

周级目录只放项目首页链接,不放任何小节 fragment;具体 section anchors 在 day 页面和 production record 中核对。

CORE · 20 verified headings

FB News Feed

核心项目,完整覆盖 requirements/API/data model/HLD/deep dives/Bad-Good-Great/failure/metrics。

打开项目首页

CORE · 21 verified headings

FB Live Comments

核心项目,完整覆盖 requirements/API/data model/HLD/deep dives/Bad-Good-Great/failure/metrics。

打开项目首页

TRANSFER · 18 verified headings

Instagram

迁移项目,必须先盲做,再用 live heading 校正复用和失效假设。

打开项目首页

DDIA 决策地图(无地毯式阅读)

下面只列问题和 subsection 名称;具体 anchor URL 在 day 页面上打开并由外部 anchor checker 校验。

项目问题DDIA subsection改变的决定
Day 1News Feed 写入成功后,作者自己刷新 feed 为什么不能丢自己的新帖?Ch6 · 读己之写作者视角可走 read-your-writes path:新帖由 Post store 确认后直接合并进作者 feed,不能只等异步 fan-out。
Day 1分页时读副本落后会造成什么体验问题?Ch6 · 单调读同一 feed session 绑定 cursor/version,避免第 2 页看见比第 1 页更旧的世界。
Day 2Feed table 是事实还是派生状态?Ch13 · 维护派生状态Post 与 Follow graph 是事实;per-user feed rows 是可重建派生状态,因此要有 lag、replay、repair 指标。
Day 2fan-out worker 重试为什么必须幂等?Ch12 · 幂等性feed insert key 使用 (viewerId, postId),重复事件只刷新位置/score,不产生重复 feed item。
Day 2如何看见派生 feed 已经落后?Ch13 · 观察派生数据状态公开 per-shard fan-out lag、oldest unprocessed event、repair backlog,而不是只看 API p99。
Day 3Live Comments 的 comment log 和广播通道是什么关系?Ch12 · 基于日志的消息代理durable comment append 是可回放事实;SSE/WebSocket 是低延迟投递,不承担永久历史。
Day 3客户端 reconnect 时从哪里补漏?Ch12 · 消费者偏移量客户端保存 lastCommentId/Last-Event-ID,服务端从 durable log/cache 读取 since cursor 后继续直播。
Day 4评论生产速度超过某些消费者时系统应该做什么?Ch12 · 当消费者跟不上生产者时普通直播允许丢低价值实时动画但不丢可回放 comment log;mega stream 可切采样/CDN snapshot。
Day 4断线后是否能重播旧评论?Ch12 · 重播旧消息reconnect/catch-up 可以重放 since cursor;服务端要控制 retention、limit 与过期后的 snapshot/fallback。
Day 4直播评论如何把状态变化主动推给客户端?Ch13 · 将状态变更推送给客户端SSE 是服务器推送的状态变化流;客户端仍以 cursor/log 作为恢复边界。
Day 5Instagram feed 迁移时,media metadata cache 是什么派生视图?Ch13 · 物化视图和缓存feed row 只携带 post/media pointers;thumbnail/transcode/CDN metadata 是派生读模型,必须能从 media pipeline 重建。
Day 7周末验收如何量化复制滞后,而不是口头说 eventual consistency?Ch6 · 监控陈旧性scorecard 必须记录 feed freshness、fan-out lag、comment reconnect gap、derived-view repair backlog。

固定时间合同

沿用 Week 2 已验收作息:08:30 wake、08:50—10:55 system design、14:30—16:15 三道 Stack、20:30—21:15 口述/mock。

时间Week 3 不变量验收证据
08:30wake,不塞课程。所有 day 页面显式保留。
08:50—10:55系统设计主块,先闭卷再精读。每天 4 个 bounded segment。
14:30—16:15NeetCode Stack,连续单一 tag,每天 3 题。21 个 data-neetcode-slot。
20:30—21:15recall / Q&A / mock repair。scorecard 记录 timestamp。

7 天执行

Week 3 到 reviewer gate 为止;不推进 Week 4。

MON · 08-10

FB News Feed:先盲做需求/API/HLD,再读 live 目录

把 feed 讲成“事实状态 + 派生 timeline”的问题,而不是一上来堆 cache、queue、ranking。

进入
TUE · 08-11

FB News Feed:fan-out、celebrity skew、hot posts 与派生状态

完整覆盖 News Feed deep dives:大量 followees、大量 followers、热门 post cache;产出可面试的 hybrid fan-out。

进入
WED · 08-12

FB Live Comments:实时评论 HLD、SSE 与可恢复历史

把 live comments 拆成 durable comment log + realtime delivery;不要把 WebSocket 当作数据库。

进入
THU · 08-13

FB Live Comments:server coordination、mega streams、disconnect recovery

完整覆盖 Live Comments deep dives:实时广播、百万并发、mega stream、断线补漏和降级。

进入
FRI · 08-14

Instagram:先盲做,再迁移 News Feed/Comments 的可复用与失效假设

把 Instagram 当迁移题:先独立设计,再读 live 目录,只保留真正迁移成功的机制。

进入
SAT · 08-15

双核心 Mock:News Feed 45 分钟 + Live Comments 45 分钟

两道 CORE 都进入完整面试时间盒;至少一次能在 45 分钟内闭环到 failure/recovery/metrics。

进入
SUN · 08-16

Week 3 证据验收、弱项修复、停在 reviewer gate

只收敛 Week 3:检查 heading disposition、DDIA anchors、mock、scorecard、移动视觉,不预读 Week 4。

进入

Applied AI radar 决策

本周只接受能改变 fan-out、streaming、derived state 或 realtime delivery 工程判断的一手材料。

REJECTED · NO SCHEDULED AI READING

不把 Agent/RAG/context engineering 硬塞进 feed 训练

OpenAI Harness Engineering、Anthropic effective agents/context engineering 属于 agent 工程,不改变本周 hybrid fan-out、SSE/replay、derived feed repair 的核心设计决定;记录为 rejected,不进入日程。

ACCEPTED SOURCES

Hello Interview + DDIA2 exact anchors

本周证据来自三个 live Hello Interview project inventories 和 DDIA2 的复制滞后、日志消息代理、观察派生状态小节。

Local study materials
Detailed lecture notes, audio, recall scripts, PDFs, Staff Q&A, and mock packs are archived locally and are intentionally not published on this site.