FRI · 08.07 · WEEK 02 · DAY 5
横向迁移:读扩展、缓存与大对象的边界
今天不再增加项目。把 Distributed Cache 的基础设施机制迁移到 Dropbox:metadata cache、CDN、source of truth、读副本、分片与 large-object path。
学习源包
按顺序打开。Hello Interview 与 DDIA 链接都直达今天需要的 live subsection,不做整章地毯式阅读。
为 metadata lookup 选择 cache-aside,并写出 invalidation 与 stampede 修复。
Hello Interview · Caching / Cache-AsideEXACT SECTION
画 hit、miss、DB fallback、populate 与 concurrent miss。
Hello Interview · Caching / Cache ConsistencyEXACT SECTION
解释 ACL/revocation 为什么不能只等长 TTL。
Hello Interview · Caching / Cache StampedeEXACT SECTION
选择 single-flight、jittered TTL 或 soft TTL,并绑定触发指标。
把 data path 与 application control path 分离。
列出 blob store 与 metadata DB 跨系统状态不一致的每个方向。
DDIA Ch1 · 记录系统与派生数据EXACT SECTION
给 metadata DB、blob、change log、cache、CDN 一一标注 source/derived。
今日验收
- ACL 或 revocation 的陈旧窗口必须短于产品安全承诺;immutable blob CDN 可使用更长 TTL。
- replication 不能替代 partitioning,partitioning 也不能自动提供高可用。
- 每个 cache miss 都能回到明确来源;每个 source outage 都有边界清晰的降级。
必须产出:跨项目机制矩阵:状态所有者、派生副本、读路径、写路径、失效、故障窗口、恢复与指标。
08:50—10:55
系统设计块保持完整。最后十分钟永远用于无稿 close,防止学习退化为被动阅读。
| 时间 | 今日时间表 |
|---|---|
| 08:50—09:00 | 写迁移问题:同样叫 cache,metadata cache 与 CDN 分别加速什么、陈旧时伤害什么。 |
| 09:00—09:25 | 画 Dropbox read path:metadata/ACL → signed URL → CDN → blob origin。 |
| 09:25—09:50 | 为 metadata cache 设计 key、value、TTL、negative cache、invalidation 与 stampede 保护。 |
| 09:50—10:15 | 为 blob/CDN 设计 immutable object version key、cache-control、revocation 与 origin fallback。 |
| 10:15—10:35 | 比较 replication 与 partitioning:哪一个提高可用性,哪一个扩容量;分别画 failure。 |
| 10:35—10:45 | 完成 Difference Matrix:cache entry、blob version、metadata row 的 ownership 与恢复方式。 |
| 10:45—10:55 | 三分钟口述:不要用缓存掩盖 metadata/ACL 正确性。 |
算法模块
NeetCode Tag:Two Pointers。三个 slot 全在同一连续 tag;每题记录 Pattern / Invariant / Bug / Complexity。
14:30—16:15NeetCode Tag · Two Pointers3 required slots
| # | 题目 | 当日目标 | 时间 |
|---|---|---|---|
| 1 | Two Sum II | 限时 · 15 分钟并给循环不变量。 | 14:30—15:05 |
| 2 | Container With Most Water | 限时 · 20 分钟并证明移动规则。 | 15:05—15:40 |
| 3 | Trapping Rain Water | 复刷 · 只看一次失败样例后闭卷重写。 | 15:40—16:15 |
20:30—21:15
口述块只接受录音、实际回答或 repair 证据,不用“看完了”作为完成。
20:30—21:15 · Cross-project oral:先讲 8 分钟 Distributed Cache,再用 7 分钟回答 Dropbox 里哪些层是 cache、哪些绝不能只是 cache;重答最弱五分钟。
Detailed lecture notes, audio, recall scripts, PDFs, Staff Q&A, and mock packs are archived locally and are intentionally not published on this site.