Design an online auction system
Company: Meta
Role: Software Engineer
Category: System Design
Difficulty: medium
Interview Round: Onsite
Design an online auction system (eBay-style).
Requirements:
- Users create auctions with start/end time and starting price.
- Users place bids; system shows current highest bid.
- Prevent race conditions when many users bid at the same time.
- At auction end, determine the winner and create an order.
- Optional: anti-sniping extension (extend end time if bids arrive near close).
Out of scope: payments risk, shipping.
Quick Answer: This question evaluates competency in designing large-scale online auction platforms, covering distributed architecture, concurrency control, transactional integrity, real-time state management, and data modeling for bidding and order creation.