How the interviewer opens it
“Design a service that controls advertising campaign spend. It should spread spend across each day and respect campaign budgets. Many servers make spend decisions before final costs arrive.”
The prompt is vague on purpose. The first minutes are for you. Reduce the prompt to the core features and agree on the numbers before you draw.
What to clarify first
- Scale
- Read and write mix
- Latency
- Spend goal
- Charge contract
- Delayed reports
- Consistency, availability, and durability
- Daily budget windows
- Policy changes
- Scope limits
The interviewer has the answers. In a SysRound round, Alex gives these answers, as a real interviewer does.
Scope of a strong answer
Core requirements
- Decide whether a campaign can place a bid
- Spread campaign spend across a day
- Enforce each campaign's daily budget across servers
- Process delayed costs without duplicate charges
Usually out of scope
- Select ads or calculate bid prices
- Build the auction service
- Support charges for clicks or conversions
- Enforce shared budgets across campaigns
- Process advertiser payments
What interviewers ask about
- Spend before costs arrive
- The system commits money before it knows the final charge. Delayed reports make a recent spend total unsafe for budget enforcement.
- Spend through the day
- Traffic and auction prices change during the day. Delayed costs can make the service spend too fast or leave budget unused.
- A campaign on many servers
- A popular campaign needs fast decisions on many servers. Shared funds must remain exclusive during failures and changes in ownership.
- Budget changes and day boundaries
- A policy change cannot undo an accepted bid. Permission before midnight does not establish which daily budget pays for a later acceptance.
Common mistakes
- Enforce the budget from reported costs while ignoring pending bids.
- Treat the daily cap and the daily spend plan as the same problem.
- Use one remote counter update for every bid without checking latency and hot campaign load.
- Return funds after a timeout without proof that no charge can arrive.
- Let grant expiry or worker replacement create a second copy of reserved funds.
- Reserve funds for one day but permit the auction to accept the bid on another day.
The bar by level
- Senior (L5/E5)
- Separates pace control from budget safety. Designs local decisions, bounded grants, outcome reconciliation, and safe recovery. Enforces token validity at auction acceptance across midnight. Handles pauses and budget decreases.
- Staff (L6+/E6+)
- Proves the financial invariant across grants, pending bids, failures, and policy changes. Quantifies grant size and report delay trade-offs. Defines auction acceptance, clock, and recovery contracts. Identifies guarantees that external systems cannot support.
Sources · 1 reference
These records explain where the question appears. A company tag or candidate report does not guarantee a future interview question.
SysRound · 1 record
No company association
Design an ad budget pacing system
Reported date not specified
Source snapshot: Nov 12, 2026
View source