HLDArena
HLD-202·Search & Indexing
Medium · 1,000 pts

Product Catalog & Autocomplete Typeahead Search

Design an e-commerce prefix autocomplete and SKU lookup backend serving keystroke-by-keystroke suggestions within strict sub-40ms latency budgets during holiday sales.

Max p99
≤ 40 ms
Availability
≥ 99.5%
Budget
≤ $4,200

Functional Requirements

  • FR-1GET /suggest?q={prefix} — Returns top-10 ranked query completions for every keystroke.
  • FR-2POST /catalog/items — Updates product title, rank weight, or inventory visibility.
  • FR-3PATCH & DELETE /suggest/{prefix} — Updates, revokes, or deletes prefix entries with bounded TTL or explicit cache/index invalidation.
  • FR-4Must isolate slow storage brownouts so keystroke autocomplete never cascades into timeouts.

Workload Profile

Baseline Keystrokes40,000 Read RPS / 1,500 Catalog Update RPS
Holiday Peak115,000 Read RPS / 4,000 Update RPS
Active Working Set30 GB hot prefix trie & top SKU metadata
Traffic DistributionExtreme skew on short 1-3 character prefixes

Consistency Model

Eventual index freshness (< 30s) acceptable for prefix suggestions; catalog updates must persist durably.

Design Write-up
0 boxes · 0 edges
0 words
Hidden Cases #4–#7 run automatically on Submit
Case 1: Smoke & API ContractInput Workload
Read RPS
2,000 rps
Write RPS
150 rps
Key Distribution
Uniform (Low Skew)
Chaos Fault
None (Healthy Cluster)
Expected Pass CriteriaASSERTIONS
• Tail Latency: p99 ≤ 80 ms
• Availability: ≥ 99.5%
Valid end-to-end Client → Compute → Storage topology