今日固定时间表
只有三个学习窗口:08:50-10:55、14:30-16:15、20:30-21:15。section links 只放在本日页面。
| 08:50-10:55 | System design 闭卷画 PaymentIntent/Transaction/LedgerEntry;再读 Payment System 从 Understanding the Problem 到 High-Level Design,保留原文标题并写出 API 幂等键。 |
|---|---|
| 14:30-16:15 | NeetCode Linked List 三道连续题位,每题 30m solve + 5m pattern/invariant/bug/complexity evidence。 |
| 20:30-21:15 | Recall / Staff Q&A / Mock 英语 recall:explain why a charge retry returns the same PaymentIntent/Transaction result and why ACK/status is not network settlement. |
算法模块
连续 NeetCode Linked List tag;每天恰好 3 个 slot。
| # | Problem / mode | Pattern | Invariant | Bug risk | Time | Space |
|---|---|---|---|---|---|---|
| 1 | Reverse Linked List NEW · 30m solve + 5m evidence | pointer reversal | prev points to fully reversed prefix; curr begins untouched suffix | losing next before rewiring | O(n) | O(1) |
| 2 | Merge Two Sorted Lists NEW · 30m solve + 5m evidence | dummy head merge | tail always points to sorted merged prefix | forgetting to append remaining list | O(n+m) | O(1) |
| 3 | Linked List Cycle NEW · 30m solve + 5m evidence | Floyd fast/slow | fast moves two steps; meeting implies cycle | null access on fast.next | O(n) | O(1) |
Hello Interview 精确目录
保留 live original titles;每行都有 canonical anchor 和 disposition。
| 项目 | 精确 canonical section | Disposition | 今天怎么用 |
|---|---|---|---|
| Payment System | Understanding the Problem | required reading | frame Stripe-like payment processing and the merchant/customer boundary |
| Payment System | Functional Requirements | required reading | initiate payment, accept card payment, expose status updates |
| Payment System | Non-Functional Requirements | required reading | 10,000 TPS, security, durability, financial integrity |
| Payment System | The Set Up | required reading | move from requirements to entities/API/HLD |
| Payment System | Defining the Core Entities | required reading | Merchant, PaymentIntent, Transaction, ledger entries |
| Payment System | API or System Interface | required reading | idempotent create/charge/status APIs |
| Payment System | High-Level Design | required reading | PaymentIntent service, Transaction service, external network boundary |
| Payment System | 1) Merchants should be able to initiate payment requests | required reading | PaymentIntent creation and idempotency key |
| Payment System | 2) Users should be able to pay for products with credit/debit cards. | required reading | authorization path and card-token boundary |
| Payment System | 3) The system should provide status updates for payments | required reading | current status versus event history |
DDIA 精确决策卡
只读 Ch8、Ch12、Ch13 中能改变今天设计选择的小节。
| 项目问题 | 精确 DDIA subsection | 改变的系统决定 |
|---|---|---|
| Payment timeout/retry cannot double-charge a customer | Ch8 · ACID 的含义 | ledger state transition is transactional; card-network uncertainty stays pending |
| Payment API retry needs effect-once semantics | Ch8 · 恰好一次消息处理 | store idempotency key with the state transition; broker exactly-once is not the proof |
本日项目 artifacts
今日产出、修复与英语 recall
| 必须交付 | Payment HLD:PaymentIntent 状态机、Transaction 尝试、double-entry LedgerEntry、idempotency table、pending/reconciliation path。 |
|---|---|
| 修复规则 | 如果回答只说组件名,重写为 decision -> mechanism -> invariant -> failure window -> recovery -> metric。 |
| English recall | Correctness is the durable source of truth; low-latency status, aggregates, dashboards, and alerts are views with freshness and repair semantics. |
Detailed lecture notes, audio, recall scripts, PDFs, Staff Q&A, and mock packs are archived locally and are intentionally not published on this site.