YOUR BRIEF
What to work through
Work through a webhook delivery system as a spoken system design interview. Start by clarifying the scope, sketch a working design and explain the trade-offs behind your choices.
- Customers register an endpoint URL and choose the event types it receives
- Every matching event is sent to the endpoint as a signed HTTP POST
- Failed deliveries are retried with backoff for a fixed window, then marked failed
- Customers see each event’s attempts and status, and can replay an event
BEFORE YOU START
Constraints to discuss
- No accepted event is dropped silently: at-least-once delivery
- Delivery within a few seconds while the endpoint is healthy
- Up to 1 billion events a day, with peaks of 3 to 5 times the average
- One slow or failing endpoint never delays other customers
- Receivers can check that a request really came from the platform
Need a starting point?
Watch for these common gaps as you prepare:
- Sending the request inline from the producer, so a slow endpoint slows the producer
- One shared line of work for every endpoint, so one failing customer delays everyone
- Claiming exactly-once delivery
- Retrying 4xx answers forever, or retrying with no backoff and hammering a struggling endpoint
- Keeping pending retries only in worker memory
- No way for customers to see attempts or replay missed events
Why this question is in the collection
These sources connect the problem to company interview reports or preparation guides. They do not guarantee what a company will ask you.
- OpenAI: PracHub lists an OpenAI software engineer onsite whose first part is webhook delivery at up to 1 billion events a day, with endpoints down for hours.
- OpenAI: Hello Interview’s OpenAI L4 guide reports a webhook delivery platform with retries over a 24-hour window among its design prompts.
- Snowflake: Hello Interview’s question page for a webhook callback system lists it as asked at Snowflake, Babylist and OpenAI.
- Babylist: Hello Interview’s question page for a webhook callback system lists it as asked at Snowflake, Babylist and OpenAI.