Back to Tech Interviews

System Design Interview Master

Curated 20+ questions covering system architecture, load balancing, CAP theorem, replication, sharding, caching, and rate limiting.

Total: 20 QuestionsLearned: 0 / 20 (0%)
Difficulty Filters

Tools & Options
Showing 20 of 20 questions
Beginner
What is the difference between Vertical Scaling and Horizontal Scaling?

Vertical Scaling (scaling up) means adding more power (CPU, RAM) to an existing server machine. It is simple, has no network overhead, but has hardware limits and introduces a Single Point of Failure (SPOF). Horizontal Scaling (scaling out) means adding more machines/servers to your pool. It supports infinite scaling, provides high resilience, but requires load balancers and introduces distributed network complexity.

Beginner
What is a Load Balancer, and how does it route traffic?

A Load Balancer is a device or software service that distributes incoming network traffic across a group of backend servers. This prevents any single server from becoming overloaded. Common routing algorithms include:

1. Round Robin: Sequential distribution.

2. Least Connections: Routes to the server with the fewest active sessions.

3. IP Hash: Routes based on client IP hash, ensuring a client always hits the same server (sticky sessions).

Intermediate
Explain the CAP Theorem.

The CAP Theorem states that a distributed system can guarantee at most two out of three characteristics simultaneously:

1. Consistency: Every read receives the most recent write or an error.

2. Availability: Every non-failing node returns a response (without guarantee of containing the latest write).

3. Partition Tolerance: The system continues to operate despite network partition drops or message delays.

Since network partitions are inevitable in distributed systems, you must choose between Consistency (CP) or Availability (AP) during a network partition.

Beginner
What is a Content Delivery Network (CDN), and how does it work?
Intermediate
Explain Database Sharding vs Partitioning.
Intermediate
What is the difference between ACID and BASE properties?
Intermediate
What is a Message Queue (MQ), and why is it used?
Beginner
Explain the difference between Monolithic and Microservices architectures.
Beginner
What is DNS (Domain Name System)?
Intermediate
What is API Gateway, and what are its responsibilities?
Intermediate
Explain Eventual Consistency.
Beginner
What is the Database Index, and how does it work?
Intermediate
Explain the difference between SQL and NoSQL databases.
Advanced
What is the Circuit Breaker pattern?
Advanced
Explain rate limiting algorithms.
Beginner
What is a single point of failure (SPOF), and how do you eliminate it?
Intermediate
What is Database Replication, and what is the difference between synchronous and asynchronous replication?
Advanced
Explain consistent hashing.
Advanced
What is DNS Anycast?
Scenario
How do you design a URL Shortening service (like Bit.ly)?

Technical Interview Mastery Blueprint

Proven methodologies and frameworks to succeed in technical and architecture rounds.

1. The Engineering STAR Technique

When responding to architectural or situational questions, structure your answer using Situation, Technical Constraint, Action, and Measurable Result. Rather than jumping straight to syntax, articulate the business problem, why certain patterns (e.g. caching, queuing, immutability) were selected over alternatives, and what latency or throughput improvements were achieved.

2. Defending Architectural Trade-Offs

Senior interviewers evaluate how you weigh trade-offs. Always explain why you chose an approach: e.g., memory overhead vs CPU cycle speed, consistency vs availability (CAP theorem), or normalized schemas vs denormalized fast reads. Stating the drawbacks of your own proposal demonstrates maturity and production experience.

3. Clean Code & Edge-Case Proactivity

In live-coding rounds, communicate your thinking aloud before typing. State edge cases explicitly: null or undefined inputs, extreme boundary values, concurrency races, and network timeouts. Writing modular, well-named functions with deterministic unit tests separates junior candidates from staff-level engineers.

4. Antipatterns to Avoid

Avoid reciting memorized definitions without practical context. Never dismiss non-functional requirements such as security (CSRF, injection, token rotation), observability (logging, metrics), and accessibility (ARIA, semantic standards). Always ask clarifying scope questions before writing complex implementations.

Continuous learning: Practice daily, mark completed questions as learned, and revisit difficult concepts.Explore All Interview Tracks →

Explore Related Tools

Hand-picked utilities and calculators related to this tool.

Related Tools