# Design a real-time ad bidding exchange: system design interview question

> An auction service with strict deadlines, many bidder calls, partial failures, and durable outcomes.

Source: https://sysround.com/questions/design-real-time-ad-bidding-exchange
Updated: 2026-11-05


Difficulty: hard. Levels: Senior, Staff+.

## How the interviewer opens it

"Design a service that runs auctions between publishers and advertising bidders for individual ad impressions. The service must enforce tight deadlines, handle bidder failures, and record auction outcomes reliably."

## What to clarify first

- Traffic volume
- Read:write mix
- Bidder calls and payloads
- Latency
- Auction rules
- Bidder failures
- Availability and consistency
- Outcome durability
- Retries
- Scope limits

## Scope of a strong answer

Core requirements:

- Accept an impression request and contact eligible bidders
- Select a valid winner before the deadline
- Continue when some bidders fail or reply late
- Record each completed auction outcome reliably

Usually out of scope:

- Select ads through user profiles
- Manage campaign budgets or spend pace
- Charge advertisers or pay publishers
- Display ads or confirm ad views
- Support service across multiple regions

## What interviewers probe

### Auction deadlines

Each auction waits on several external bidders. One slow bidder can consume the time that the exchange needs to save and return the result.

### Which bid wins

The exchange must compare only valid, timely bids. A fast reply or a large price does not alone make a bid eligible.

### Auction outcomes

The exchange can save a result without delivering it. Retries must preserve one outcome despite worker failures and uncertain write acknowledgments.

## Common mistakes

- Wait for every bidder before selecting a winner.
- Ignore the extra traffic that each auction creates through bidder calls.
- Use the entire deadline for bidder responses and omit persistence time.
- Return a winner before the service confirms a durable outcome.
- Treat a retry as a new auction or treat an auction win as a confirmed ad view.
- Add campaign budgets, payments, or user profiles before solving the stated auction problem.

## The bar by level

- **Senior:** Builds a complete latency budget and estimates bidder traffic. Bounds failures, validates bids, and preserves one durable outcome across retries and uncertain writes.
- **Staff+:** Defines failure boundaries across bidder calls, durable state, and publisher responses. Quantifies capacity limits and overload behavior. Addresses zone failures, abandoned auctions, and rule changes. Report export and repair are optional stretch criteria.

Practice this question with an AI interviewer: https://sysround.com/practice/new?problem=real-time-advertising-auction


---
SysRound (https://sysround.com) is an AI practice tool for system design interviews. It has a voice or typed AI interviewer and a shared whiteboard. At the end, you get feedback on each skill and a model answer. The AI feedback can be wrong.
