System design interview questionHardE-Commerce / Realtime

Design an Online Auction System like eBay

Design an eBay-style auction: users bid in near real time, current price updates live, and the final winner is recorded durably.

Interview scope

Client → Realtime Gateway (+ Gateway/LB for REST). App → Cache (high bid) + DB (auction/bids) + Message Queue (outbid/win). No Client → DB.

Functional requirements

  • Place a bid on an active auction.
  • Broadcast current high bid to watchers.
  • Close auction and persist the winner.

Scale and quality goals

  • Bid updates need low-latency push (Realtime Gateway).
  • Current high bid is hot — Cache helps.
  • Final outcome must be durable in DB; Message Queue for outbid emails.

Capacity assumption

Design for this scale

Assume a hot auction gets ~100k bids in ~5 minutes (~333 bids/s) plus many more websocket viewers.

Practice more than a diagram

Place components on the Froquiz canvas, connect the data flow, and see which decisions the scenario-specific review finds missing. The full exercise and review unlock with Premium.

Explore Premium