WEEK 05 · 2026-08-24 · MON

Ticketmaster HLD:seat、hold、order 与 payment 的权威边界

先把唯一座位资源建模为可条件更新的库存事实,再把搜索、seat map 和付款拆成派生视图与外部副作用。

今日固定时间表

三块窗口固定:08:50-10:55 系统设计,14:30-16:15 算法,20:30-21:15 口述。

08:50-09:1008:50-10:55 system design
闭卷建模 - 写 Event/Venue/Ticket/Hold/Booking/PaymentAttempt;标出哪些是 source of truth。
09:10-09:4508:50-10:55 system design
精确原文 - 读 Ticketmaster 从 Understanding the Problem 到 High-Level Design 的全部 required anchors。
09:45-10:2508:50-10:55 system design
白板主路径 - select seat -> reserve hold -> checkout -> payment webhook -> conditional held->sold。
10:25-10:5508:50-10:55 system design
DDIA 决策卡 - 用 Ch8 条件写入和多对象事务定义 reserve/confirm 的线性化点。
14:30-16:15NeetCode Tag · Binary Search
三道题,每题 30m solve + 5m evidence,不能改 tag。
20:30-21:1520:30-21:15 Ticketmaster English recall:source of truth, reserve, expiry, payment idempotency, oversell prevention。

算法模块

连续 NeetCode Binary Search;每天 exactly 3 slots。

#Problem / modePatternInvariantBug riskTimeSpace
1Binary Search
NEW · 30m solve + 5m evidence
closed interval binary searchtarget, if present, remains inside [lo, hi].Infinite loop from mid bias or lo/hi update that does not shrink.O(log n)O(1)
2Search Insert Position
NEW · 30m solve + 5m evidence
lower_boundlo is the first possible insertion index after each shrink.Returning hi after an exclusive upper-bound loop without checking convention.O(log n)O(1)
3Guess Number Higher Or Lower
NEW · 30m solve + 5m evidence
monotone predicateThe answer is inside the remaining numeric range.Overflow in mid; reversing higher/lower branch.O(log n)O(1)

Hello Interview 精确目录

保留 live canonical heading title;day page 使用 direct section anchors。

项目精确 canonical sectionDisposition今天怎么用
TicketmasterUnderstanding the Problemrequired readingdefine the product and the scarce resource: event seats
TicketmasterFunctional Requirementsrequired readingview events, search events, book tickets
TicketmasterNon-Functional Requirementsrequired readingavailable reads, consistent booking, hot-event throughput, low-latency search
TicketmasterThe Set Uprequired readinginterview framing before design
TicketmasterPlanning the Approachrequired readingrequirements to entities to API to HLD
TicketmasterDefining the Core Entitiesrequired readingEvent, User, Performer, Venue, Ticket, Booking
TicketmasterAPI or System Interfacerequired readingview/search/booking APIs that evolve into reserve and confirm
TicketmasterHigh-Level Designrequired readingread services plus booking service and payment processor
Ticketmaster1) Users should be able to view eventsrequired readingevent detail and seat map projection
Ticketmaster2) Users should be able to search for eventsrequired readingsearch service and low-latency read path
Ticketmaster3) Users should be able to book tickets to eventsrequired readingno-double-booking transaction path

DDIA 精确决策卡

只使用 Ch8 和 Ch10 中直接解决今天设计决定的小节。

项目项目问题精确 DDIA subsection改变的系统决定
TicketmasterA seat hold succeeds at exactly which write, and why does a duplicate reserve fail?Ch8 - 条件写入(比较并设置)Reserve uses a conditional write on seat/hold version; retry returns the existing hold or a rejected stale-version result.
TicketmasterCan booking multiple seats commit half the order?Ch8 - 单对象与多对象操作Multi-seat purchase is one order transaction or a saga with explicit partial-release compensation; no silent half-sold set.

三域 trace 任务

Winning transaction标出唯一线性化点:seat hold/sold、accepted bid at close、brokerage order/execution state。
Duplicate/retry failure给出 stable idempotency key、重复返回语义、旧 owner/stale version 被拒绝的证据。
Projection boundary说明哪些读可以陈旧:seat map、highest bid display、market price UI;哪些写不能陈旧。

本日 artifacts

项目脚本、音频、PDF 和 mock evidence 从当天直接打开。

今日产出、修复与英语 recall

课程角色CORE · requirements/API/data model/HLD
必须交付Ticketmaster HLD:seat/hold/order/payment 状态机,reserve 与 confirm 两个 API,winning seat transaction trace。
修复规则如果把 seat-map cache 当成可购买事实,重画 cache projection 与 authoritative inventory 的边界。
English recall
English recall: A seat-map read can be stale; only the conditional hold or sold transition decides ownership.
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.