Design a Real-Time Auction Platform
ByteDanceSoftware Engineer · OnsiteLast updated
This question evaluates a candidate's ability to design a real-time, high-throughput distributed system focusing on API design, concurrency control, ordering guarantees, idempotency, persistence of bid history and state transitions, and real-time push/update mechanisms.
Design a real-time online auction platform.
Users can browse an auction, submit bids, and see the current highest bid and bid history update live. Traffic can be very high, especially for popular auctions and during the final 30 seconds. The system must preserve bid ordering per auction, reject invalid or stale bids, persist all bids and auction state transitions, and finalize the winning bid when the auction ends.
Discuss:
- User-facing APIs for reading auctions, submitting bids, and subscribing to live updates.
- The write path for bids under high contention.
- The real-time push mechanism, such as SSE or WebSocket.
- Storage choices for auction metadata, bid history, current highest bid, and event delivery.
- Consistency, idempotency, ordering, failure handling, and scalability for hot auctions.
Solution walkthrough is for members
Get the full walkthrough with reference code and complexity analysis, plus Kitty Coach at 300 messages a day. Hints, the code runner and community answers stay free.