Skip to content

ONE QUESTION. YOUR REASONING.

Design a webhook delivery system

Design a webhook delivery system: customers register a URL for the events they care about, and your platform sends each event to that URL as an HTTP request.

System designInfrastructure and platformMid-levelSenior

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
Read: System design questions and who asks them

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.

KEEP GOING

Your next question

Storage, files and linksDesign BitlyInfrastructure and platformDesign a rate limiterInfrastructure and platformDesign an A/B testing platformInfrastructure and platformDesign an ad click aggregator
Browse the collection
01

Pick a question

Read the brief and choose what you want to work on.

02

Talk it through

Explain your thinking. Respond to follow-ups. Draw when a design needs it.

03

Find your next improvement

Use the feedback from your interview to decide what to practise next.