今日固定时间表
08:30 wake 只保留起床;学习从 08:50 开始。三块窗口不互相挤占。
| 08:30 wake | 起床、早餐、准备白板;不安排预读或算法。 |
|---|---|
| 08:50—09:10 | 08:50—10:55 system design 闭卷 HLD — 先给 API 和实体,明确历史评论与实时评论的分界。 |
| 09:10—09:45 | 08:50—10:55 system design 精确原文 — 读 Live Comments requirements/entity/API/HLD 三个功能子路径。 |
| 09:45—10:25 | 08:50—10:55 system design 机制化白板 — 画 append comment → log/broker → connection server → SSE client;旁路 history page。 |
| 10:25—10:55 | 08:50—10:55 system design DDIA 决策卡 — 用 log broker 与 offset 解释 Last-Event-ID 和 catch-up。 |
| 14:30—16:15 | NeetCode Tag · Stack 三道题在下方独立算法表执行,避免系统设计表格挤压算法细节。 |
| 20:30—21:15 | 20:30—21:15 口述:为什么 SSE 是本题默认解,什么时候才换 WebSocket。 |
算法模块
连续单一 NeetCode Stack tag;每天 3 题,14:30—16:15 完成。
| # | Problem | Invariant focus | 执行 |
|---|---|---|---|
| 7 | Largest Rectangle in Histogram | 单调递增栈和右边界结算。 | 35 分钟限时 + 5 分钟 invariant/bug risk |
| 8 | Valid Parentheses | 限时复盘:错误输入和早停。 | 35 分钟限时 + 5 分钟 invariant/bug risk |
| 9 | Min Stack | 限时复盘:重复最小值和 pop 同步。 | 35 分钟限时 + 5 分钟 invariant/bug risk |
闭卷起手
先暴露自己的当前模型,再用 live headings 修正。
20 分钟闭卷画:postComment、subscribe/live stream、getCommentsSince;写出 lastCommentId 如何跨断线保存。
Hello Interview 精确目录
day 页面必须链接到具体 section anchors;周级 overview 不放小节链接。
| 项目 | 精确 section anchor | Disposition | 今天怎么用 |
|---|---|---|---|
| FB Live Comments | Understanding the Problem | required reading | clarify live video comments surface |
| FB Live Comments | Functional Requirements | required reading | post, receive new comments, see earlier comments |
| FB Live Comments | Non-Functional Requirements | required reading | realtime delivery, massive concurrent viewers, HA |
| FB Live Comments | The Set Up | required reading | scope and simplifications |
| FB Live Comments | Planning the Approach | required reading | entities/API/HLD/deep dive order |
| FB Live Comments | Defining the Core Entities | required reading | LiveVideo, Comment, ViewerSession, Cursor |
| FB Live Comments | API or System Interface | required reading | post comment, stream comments, catch-up page |
| FB Live Comments | High-Level Design | required reading | write durable comment, broadcast to connected viewers |
| FB Live Comments | 1. Viewers can post comments on a live video feed | required reading | durable append and moderation boundary |
| FB Live Comments | 2. Viewers can see new comments being posted while they are watching the live video | required reading | SSE/WebSocket realtime path |
| FB Live Comments | 3. Viewers can see comments made before they joined the live feed | required reading | history and cursor page |
DDIA 精确决策卡
只读能改变今天设计决定的小节。
| 项目问题 | 精确 DDIA subsection | 改变的系统决定 |
|---|---|---|
| Live Comments 的 comment log 和广播通道是什么关系? | Ch12 · 基于日志的消息代理 | durable comment append 是可回放事实;SSE/WebSocket 是低延迟投递,不承担永久历史。 |
| 客户端 reconnect 时从哪里补漏? | Ch12 · 消费者偏移量 | 客户端保存 lastCommentId/Last-Event-ID,服务端从 durable log/cache 读取 since cursor 后继续直播。 |
今日产出与修复规则
| 课程角色 | CORE · requirements/API/data model/HLD |
|---|---|
| 必须交付 | Live Comments HLD:Comment store、stream broker、connection server、catch-up API、lastCommentId 客户端状态。 |
| 修复规则 | 如果实时通道丢消息会造成永久丢失,说明你把 delivery channel 当成 source of truth,必须重画 durable log。 |
Detailed lecture notes, audio, recall scripts, PDFs, Staff Q&A, and mock packs are archived locally and are intentionally not published on this site.