Limited Time Offer:Up to 20% off Hello Interview Premium
Up to 20% off Hello Interview Premium 🎉
Hello Interview
Learn System Design
Introduction
How to Prepare
Delivery Framework
Core Concepts
Key Technologies
Common Patterns
Question Breakdowns
Networking Essentials
API Design
Data Modeling
Caching
Sharding
Consistent Hashing
CAP Theorem
Database Indexing
Numbers to Know
Bitly
Dropbox
Local Delivery Service
Ticketmaster
FB News Feed
Tinder
LeetCode
WhatsApp
Rate Limiter
FB Live Comments
FB Post Search
YouTube Top K
Uber
YouTube
Web Crawler
Ad Click Aggregator
News Aggregator
Yelp
Strava
Online Auction
Price Tracking Service
Instagram
Robinhood
Google Docs
Distributed Cache
Job Scheduler
Payment System
Metrics Monitoring
ChatGPT
Real-time Updates
Dealing with Contention
Multi-step Processes
Scaling Reads
Scaling Writes
Handling Large Blobs
Managing Long Running Tasks
Redis
Elasticsearch
Kafka
API Gateway
Cassandra
DynamoDB
PostgreSQL
Flink
ZooKeeper
Time Series Databases
Data Structures for Big Data
Vector Databases
Vote For New Content
Pricing
Sign in / Sign up
Search
⌘K
Pricing

Tutor

Common Problems

Online Auction

Dealing with Contention
Real-time Updates
Updated
ByEvan King·
medium

Try This Problem Yourself

Practice with guided hints and real-time feedback

Premium users can view this video once signed in

Understanding the Problem

🛍️ What is an online auction? An online auction service lets users list items for sale while others compete to purchase them by placing increasingly higher bids until the auction ends, with the highest bidder winning the item.
As is the case with all of our common question breakdowns, we'll walk through this problem step by step, using the Hello Interview System Design Framework as our guide. Note that I go into more detail here than would be required or possible in an interview, but I think the added detail is helpful for teaching concepts and deepening understanding.

Functional Requirements

Core Requirements
  1. Users should be able to post an item for auction with a starting price and end date.
  2. Users should be able to bid on an item. Where bids are accepted if they are higher than the current highest bid.
  3. Users should be able to view an auction, including the current highest bid.
Below the line (out of scope):
  • Users should be able to search for items.
  • Users should be able to filter items by category.
  • Users should be able to sort items by price.
  • Users should be able to view the auction history of an item.

Non-Functional Requirements

Before diving into the non-functional requirements, ask your interviewer about the expected scale of the system. Understanding the scale requirements early will help inform key architectural decisions throughout your design.

The Set Up

Defining the Core Entities

API or System Interface

High-Level Design

1) Users should be able to post an item for auction with a starting price and end date.

2) Users should be able to bid on an item. Where bids are accepted if they are higher than the current highest bid.

3) Users should be able to view an auction, including the current highest bid.

Potential Deep Dives

1) How can we ensure strong consistency for bids?

2) How can we ensure that the system is fault tolerant and durable?

3) How can we ensure that the system displays the current highest bid in real-time?

4) How can we ensure that the system scales to support 10M concurrent auctions?

Some additional deep dives you might consider

What is Expected at Each Level?

Mid-level

Senior

Staff

Test Your Knowledge

Take a quick 15 question quiz to test what you've learned and identify gaps.

Purchase Premium to Keep Reading

Unlock this article and so much more with Hello Interview Premium
Buy Premium

Currently up to 20% off

Hello Interview Premium

System Design Guided Practice
Exclusive content
Recent interview questions
Learn More
Reading Progress

On This Page

Understanding the Problem

Functional Requirements

Non-Functional Requirements

The Set Up

Defining the Core Entities

API or System Interface

High-Level Design

1) Users should be able to post an item for auction with a starting price and end date.

2) Users should be able to bid on an item. Where bids are accepted if they are higher than the current highest bid.

3) Users should be able to view an auction, including the current highest bid.

Potential Deep Dives

1) How can we ensure strong consistency for bids?

2) How can we ensure that the system is fault tolerant and durable?

3) How can we ensure that the system displays the current highest bid in real-time?

4) How can we ensure that the system scales to support 10M concurrent auctions?

Some additional deep dives you might consider

What is Expected at Each Level?

Mid-level

Senior

Staff

Questions
Meta SWE Interview QuestionsAmazon SWE Interview QuestionsGoogle SWE Interview QuestionsOpenAI SWE Interview QuestionsEngineering Manager (EM) Interview Questions
Learn
Learn System DesignLearn DSALearn BehavioralLearn ML System DesignLearn Low Level DesignGuided Practice
Links
FAQPricingGift PremiumHello Interview Premium
Legal
Terms and ConditionsPrivacy PolicySecurity
Contact
About UsProduct Support

7511 Greenwood Ave North Unit #4238 Seattle WA 98103


© 2026 Optick Labs Inc. All rights reserved.