Medium
Stripe

Build Idempotent Request Replay System Design Interview

Build a processor that consolidates duplicate JSON requests and guarantees each logical request is handled once.

1. Problem Statement

Build a processor that reads JSON requests, detects duplicate logical requests, and ensures each unique request produces its side effect only once even when processing is retried.

2. Architecture Discussion Map

Use this as one discussion aid, not a single correct answer. Your design should follow from the requirements, scale, and trade-offs you establish.

Rendering architecture diagram...
Mermaid Source (For AI Bots)
graph LR
    A["Build Idempotent Request Replay"]
    A --> F1["Canonical request identity"]
    A --> F2["Durable idempotency records"]
    A --> F3["Concurrent duplicate handling"]
    A --> F4["Crash recovery and replay"]
    A --> F5["Retention and observability"]

3. Key Focus Areas

  • 1
    Canonical request identity
  • 2
    Durable idempotency records
  • 3
    Concurrent duplicate handling
  • 4
    Crash recovery and replay
  • 5
    Retention and observability

4. What Strong Candidates Should Demonstrate

  • Define logical request identity independently from transport retries.
  • Choose a deduplication retention policy and persistence boundary.
  • Explain exactly-once effects using idempotent state transitions.

Want interactive feedback?

Practice drawing this system component-by-component on a live whiteboard while the interviewer probes at your target level.

Start Interview

Core Concepts

IdempotencyDeduplicationRetriesWebhook Processing