Skip to main content

Webhook (easy)

You are interviewing for Engineering Manager. This is a 30–45 minute whiteboard / word-problem. Talk through observations as you go. Draw.

This prompt is adapted from System Design School: Design Webhook (SDS labels it easy). Read this document only. Do not open the interviewer page. Do not open the SDS solution until after the mock.


Context​

External systems push events to you over HTTP when something happens (a payment updates, an order ships, a record changes). You do not poll them on every change. They expect a timely HTTP response that means “we got it.”

You still have to do work with that payload, keep a record for debugging, and survive process crashes.


Problem​

Design a webhook ingestion service.

In scope: accept incoming webhook HTTP calls, run the corresponding business operation, persist the original event and the result for audit/debug, and keep processing if a component dies.

The senders will retry. Events may arrive more than once. They may not arrive in the order they were produced.


What to produce​

  1. Clarify requirements. Ask questions. Write down what you are optimizing for.
  2. Sketch the HTTP contract (what you return and when).
  3. Draw a high-level design and walk through one event, including a retry.
  4. Go deep on the hardest parts.
  5. Close as an engineering manager: what ships first, who owns what, what you measure, how you talk about risk.