Skip to content

ORIGINAL SYSTEM DESIGN QUESTION

One-time verification links

Verify account email with expiring one-time links, resend limits and delivery status.

Open practice workspace

Original exercise · foundation. Editorial role relevance does not imply a company has asked this question.

Requirements and constraints

  • One million accounts/day; 100 verification requests/second.
  • Tokens must not authorize unrelated accounts or remain valid after consumption.
  • State assumptions and justify security, cost, operational ownership and data retention.

Pressure round

A user requests a new link then clicks an older link.

Build and explain the design

Requirements & scope

Who uses it? What must it do? What is explicitly out of scope? State latency, durability and privacy goals.

Self-review guidance

Define the actors, required operations and out-of-scope behavior. Explicit requirement: Tokens must not authorize unrelated accounts or remain valid after consumption.

Capacity estimates

State assumptions, peak requests/second, data volume and retention. Show your arithmetic and units.

Self-review guidance

Use this workload: One million accounts/day; 100 verification requests/second. Convert rates and payload sizes into peak compute/storage assumptions; show units, headroom and what remains unmeasured.

APIs & data model

Describe endpoints/events, entity keys, indexes, authorization, and idempotency.

Self-review guidance

Define hashed token identity, account binding, expiry and resend policy.

Architecture & data flow

Describe components and request/event paths. Use plain text arrows to sketch your design; explain each responsibility.

Self-review guidance

Separate token authority from asynchronous email delivery.

Failures & observability

What happens on overload, duplicate events, partial failures or lost dependencies? Discuss monitoring and recovery.

Self-review guidance

Pressure-test: A user requests a new link then clicks an older link. Describe bounded recovery, deduplication, observability and a user-visible failure state.

Tradeoffs & alternatives

Compare two plausible approaches. State the costs, consistency model and what would make you change the design.

Self-review guidance

Compare invalidating older tokens with allowing bounded concurrent tokens.

Design guidance describes assumptions and tradeoffs; no architecture has been simulated or benchmarked.

Practice this question

Save your work privately, explain decisions and return to your revision queue.

Open practice workspaceBrowse the question library →