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
Quick Reference
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

Hello InterviewQuick Reference
Full Article
Quick Reference

Key Technologies

Core Database

Store Choice

Pick one core DB

Use one DB you know; most interviewers do not need an explicit SQL vs NoSQL comparison.

Use Postgres for product

Recommended relational default for product designs; ACID properties help data integrity.

Use DynamoDB for infra

Recommended NoSQL default for infrastructure designs; widely accepted with broad features.

Relational Tools

SQL Joins combine tables for queries but can become bottlenecks, Indexes speed queries and support multi-column and specialized forms, and RDBMS Transactions make grouped operations atomic.
  • SQL Joins: Combine tables for queries; minimize them because joins can be a major bottleneck.
  • Indexes: Speed queries; relational DBs support many, multi-column, geospatial, and full-text indexes.
  • RDBMS Transactions: Group operations atomically so either all succeed or all fail.

NoSQL Scaling

Consistent Hashing and Sharding distribute NoSQL data across many servers.
  • Consistent Hashing: Distribute NoSQL data across many servers using consistent hashing.
  • Sharding: Distribute NoSQL data across many servers using sharding.

Blob and Search

Use S3 for large blobs

Default if no experience; store images, videos, and files outside the database.

Keep metadata in DB

Store URL pointers in Postgres or DynamoDB; avoid S3 as the primary database.

Use presigned URLs

Client uploads or downloads directly with temporary access; server records status.

Chunk large uploads

Multipart upload resumes failures and can upload chunks in parallel.

Edge Routing

API Gateway

Default for nearly all product designs; routes requests and handles auth, rate limits, logging.

Load Balancer

Use instead of an API Gateway for persistent connections like websockets, or for flexible routing and lower downstream connection load.

L4 Load Balancer

Use for persistent connections like websockets.

L7 Load Balancer

Use otherwise for flexible routing and lower downstream connection load.

Async Processing

Async Fit

Use queues for async work

Buffer bursts and distribute work to worker pools at their own pace.

Don't queue low-latency sync

Strong latency constraints like < 500ms will likely break if a queue is added.

Use streams for replay

Retain data for a configurable period so consumers can re-read by position or time.

Use streams for event sourcing

Store changes as events; replay for audit, rollback, or reconstruction.

Delivery Controls

Backpressure slows or rejects producers when queues are overwhelmed, Dead Letter Queues store unprocessable messages for debugging and auditing, and Scaling with Partitions partitions queues or streams by key to keep related messages or events together.
  • Backpressure: Slow or reject producers when queues are overwhelmed; capacity shortfalls cannot be hidden forever.
  • Dead Letter Queues: Store messages that cannot be processed for debugging and auditing.
  • Scaling with Partitions: Partition queues or streams by key so related messages/events stay together.

Coordination

Lock Usage

Distributed Lock

Hold a resource across systems for a short time.

Ticket During Checkout

Use it for a resource such as a ticket during checkout.

Lock Expiry

Lock Expiry

Set locks to expire.

Crashes

Use expiry, e.g. 10 minutes, so crashes do not leave resources locked.

Deadlock Prevention

Deadlocks

Avoid lock acquisition from far-flung code.

Infrastructure

Avoid lock acquisition from infrastructure so prevention is recognizable.

Caching

Cache Placement

Distributed Cache stores expensive data in memory to reduce database queries and lower latency, while CDN caches content near users and can serve static assets, dynamic content, and API responses.
  • Distributed Cache: Store expensive data in memory to reduce DB queries and lower latency.
  • CDN: Cache content near users; works for static assets, dynamic content, and API responses.

Cache Consistency

Expire Cached Data

Expire cached data when the database changes, like an event venue update.

Update Cached Data

Update cached data when the database changes, like an event venue update.

Write-Through Cache

Write through to the datastore rather than only writing the cache first.

Write-Back Cache

Write to cache first and datastore asynchronously; faster writes but possible data loss.

Your account is free and you can post anonymously if you choose.

Reading Progress

On This Page

Core Database

Store Choice

Relational Tools

NoSQL Scaling

Blob and Search

Edge Routing

Async Processing

Async Fit

Delivery Controls

Coordination

Lock Usage

Lock Expiry

Deadlock Prevention

Caching

Cache Placement

Cache Consistency

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.