Skip to main content

Classic design · Mid

Online auction (eBay)

Classic interview design. Key points: reservations and concurrency, and WebSocket and presence.

14 min read · Content reviewed on October 23, 2026

Short answer

Classic interview design. Key points: reservations and concurrency, and WebSocket and presence. An online auction service lets users list items for sale and lets other users compete to buy them. The competition happens through bids: each new bid must beat the current highest bid until the auction ends, and whoever has the highest bid gets the item.

01 · CONTEXT

Competing for an item until the auction ends

An online auction service lets users list items for sale and lets other users compete to buy them. The competition happens through bids: each new bid must beat the current highest bid until the auction ends, and whoever has the highest bid gets the item.

This article uses only the public part of the reference page; what it keeps behind the paywall is not claimed here.

02 · REQUIREMENTS

Three actions and a scope boundary

There are three core requirements. Post an item with a starting price and an end date; place a bid on an item, with the bid accepted only if it is higher than the current highest bid; and view an auction, including the current highest bid.

Explicitly out of scope are item search, category filtering, price sorting, and looking up an item's auction history.

03 · BASIC FLOW

The path of posting, bidding, and viewing

The sketch below is our own reading of the three requirements, not a design reproduced from the source: an auction service behind a gateway, with a database that stores items and bids. It does not yet handle concurrency or real time; it serves as a basis for the questions in the next section.

  1. The seller submits the item with a starting price and an end date; the request enters through the gateway.

    Architecture diagram: Auction: basic flow
    CLBrowser or appposts the item
    NWAPI gateway
    CPAuction service
    DBAuction and bid database
  2. The auction service writes the item to the database, which now represents an open auction.

    Architecture diagram: Auction: basic flow
    CLBrowser or app
    NWAPI gateway
    CPAuction service
    DBAuction and bid databaseitem up for auction
  3. A buyer sends a bid for the item.

    Architecture diagram: Auction: basic flow
    CLBrowser or appplaces a bid
    NWAPI gateway
    CPAuction service
    DBAuction and bid database
  4. The service accepts the bid only if it is higher than the item's current highest bid.

    Architecture diagram: Auction: basic flow
    CLBrowser or app
    NWAPI gateway
    CPAuction servicecompares with the current one
    DBAuction and bid database
  5. Whoever views the auction receives the item with the current highest bid.

    Architecture diagram: Auction: basic flow
    CLBrowser or app
    NWAPI gateway
    CPAuction service
    DBAuction and bid databasehighest bid

04 · DEEP DIVES

Where the problem really gets tight

The page lists four deep-dive questions: how to ensure strong consistency for bids, how to make the system fault tolerant and durable, how to display the current highest bid in real time, and how to scale to ten million simultaneous auctions.

AprofundamentoQuestion from the page
Bid consistencyHow do you ensure strong consistency for bids?
Failures and durabilityHow do you make the system fault tolerant and durable?
Real timeHow do you display the current highest bid in real time?
ScaleHow do you scale to ten million simultaneous auctions?

05 · PATTERNS

Contention and live updates

The page classifies the problem with two patterns: contention over a single resource (Dealing with Contention) and real-time updates (Real-time Updates).

To study the first, it is worth reviewing consistency and its guarantees; for the second, the communication protocols, and for frequent reads of the current value, the cache fundamentals.

The second sketch shows only one possible way to get an accepted bid to those following the auction, using an event queue and a broadcast service. It is an illustration of the course's reasoning, not the source's solution.

  1. The bidder sends the bid to the bidding service.

    Architecture diagram: Auction: live following
    CLBiddersends the bid
    CPBidding service
    DBBid database
    QBid event queue
    CPBroadcast service
    CLFollower
  2. The service validates the bid against the current highest bid and writes the result to the database.

    Architecture diagram: Auction: live following
    CLBidder
    CPBidding service
    DBBid databasesource of truth
    QBid event queue
    CPBroadcast service
    CLFollower
  3. For each accepted bid, the service publishes an event to the queue.

    Architecture diagram: Auction: live following
    CLBidder
    CPBidding service
    DBBid database
    QBid event queuebid event
    CPBroadcast service
    CLFollower
  4. The broadcast service consumes the event without holding up the bid write.

    Architecture diagram: Auction: live following
    CLBidder
    CPBidding service
    DBBid database
    QBid event queue
    CPBroadcast serviceconsome
    CLFollower
  5. Those following the auction receive the new value without reloading the page.

    Architecture diagram: Auction: live following
    CLBidder
    CPBidding service
    DBBid database
    QBid event queue
    CPBroadcast service
    CLFollowerupdated value

Frequently asked questions

What is Online auction (eBay)?

Classic interview design. Key points: reservations and concurrency, and WebSocket and presence.

What does the Online auction (eBay) design cover?

It is organized in these sections: Competing for an item until the auction ends, Three actions and a scope boundary, The path of posting, bidding, and viewing, Where the problem really gets tight, and Contention and live updates.

How long is Online auction (eBay) and what level is it?

It takes about 14 minutes to read and is rated Mid level.

Now design it yourself

Run this case as an interview in the System Design school: you make the decisions, the tutor challenges them and you see how your design scores.