LearnThatStack Ace your next interview
Part of System Design Concepts

Distributed Systems Fundamentals.

Start free Change topic Change
Practice · Questions

All questions

Showing of 51
Beginner 13
01

What is a distributed system and what are its main characteristics?

Beginner ·

Answer it yourself first - out loud, or typed below.

How should your speech become text?

Listening… your words appear above as you speak - tap Stop when you're done.

Recording · cr - tap Stop & transcribe when you're done.

Transcribing with AI…

Voice:

Keep going - a few more words and AI can grade it.

Last attempt -

Your answer

Re-explain

A distributed system is a collection of independent computers that appear to users as a single coherent system. The main characteristics include:

  • Multiple nodes: Components run on separate machines connected by a network
  • Concurrency: Multiple processes execute simultaneously across different nodes
  • Lack of global clock: No single point of time reference across all nodes
  • Independent failures: Components can fail independently without affecting the entire system
  • Message passing: Communication happens through network messages rather than shared memory

Examples include web services like Google Search, Netflix streaming, or banking systems where multiple servers work together to serve user requests.

Rewriting in plainer words…

This answer doesn't lend itself to a diagram - it reads best . No credits were charged.

Why there's no diagram: “”

The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓

Related concept

Tailored explanation · switch back to · ·
What should the new diagram focus on?
How well did you know this?
AI:

02

Explain the CAP theorem and its implications.

Beginner ·

Answer it yourself first - out loud, or typed below.

How should your speech become text?

Listening… your words appear above as you speak - tap Stop when you're done.

Recording · cr - tap Stop & transcribe when you're done.

Transcribing with AI…

Voice:

Keep going - a few more words and AI can grade it.

Last attempt -

Your answer

Re-explain

The CAP theorem states that in a distributed system, you can only guarantee two out of three properties:

  • Consistency (C): All nodes see the same data simultaneously
  • Availability (A): System remains operational and responds to requests
  • Partition Tolerance (P): System continues operating despite network failures

Implications: Since network partitions are inevitable in distributed systems, you must choose between consistency and availability:

  • CP systems (like MongoDB): Sacrifice availability during partitions to maintain consistency
  • AP systems (like Cassandra): Sacrifice consistency to remain available during partitions

Real-world systems often implement "eventual consistency" to balance these trade-offs.

Rewriting in plainer words…

This answer doesn't lend itself to a diagram - it reads best . No credits were charged.

Why there's no diagram: “”

The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓

Related concept

Tailored explanation · switch back to · ·
What should the new diagram focus on?
How well did you know this?
AI:

03

What is the difference between horizontal and vertical scaling?

Beginner ·

Answer it yourself first - out loud, or typed below.

How should your speech become text?

Listening… your words appear above as you speak - tap Stop when you're done.

Recording · cr - tap Stop & transcribe when you're done.

Transcribing with AI…

Voice:

Keep going - a few more words and AI can grade it.

Last attempt -

Your answer

Re-explain

Vertical Scaling (Scale Up):

  • Adding more power (CPU, RAM, storage) to existing machines
  • Simpler to implement and manage
  • Limited by hardware constraints
  • Single point of failure
  • Example: Upgrading server from 8GB to 32GB RAM

Horizontal Scaling (Scale Out):

  • Adding more machines to the system
  • Better fault tolerance and theoretically unlimited scaling
  • More complex to implement and coordinate
  • Requires load distribution mechanisms
  • Example: Adding more web servers behind a load balancer

Most modern distributed systems prefer horizontal scaling for better resilience and cost-effectiveness.

Rewriting in plainer words…

This answer doesn't lend itself to a diagram - it reads best . No credits were charged.

Why there's no diagram: “”

The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓

Related concept

Tailored explanation · switch back to · ·
What should the new diagram focus on?
How well did you know this?
AI:

04

Describe the difference between synchronous and asynchronous communication.

Beginner ·

Answer it yourself first - out loud, or typed below.

How should your speech become text?

Listening… your words appear above as you speak - tap Stop when you're done.

Recording · cr - tap Stop & transcribe when you're done.

Transcribing with AI…

Voice:

Keep going - a few more words and AI can grade it.

Last attempt -

Your answer

Re-explain

Synchronous Communication:

  • Sender waits for receiver's response before continuing
  • Blocking operation with immediate feedback
  • Simpler error handling and debugging
  • Can create cascading failures and reduce availability
  • Example: HTTP request-response, RPC calls

Asynchronous Communication:

  • Sender doesn't wait for response and continues processing
  • Non-blocking operation with eventual notification
  • Better performance and fault isolation
  • More complex error handling and state management
  • Example: Message queues, event-driven architectures
# Synchronous
response = api_call()  # Blocks until response
process(response)

# Asynchronous  
api_call_async(callback=process)  # Non-blocking
continue_other_work()
Rewriting in plainer words…

This answer doesn't lend itself to a diagram - it reads best . No credits were charged.

Why there's no diagram: “”

The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓

Related concept

Tailored explanation · switch back to · ·
What should the new diagram focus on?
How well did you know this?
AI:

05

What is load balancing and what are the main types?

Beginner ·

Answer it yourself first - out loud, or typed below.

How should your speech become text?

Listening… your words appear above as you speak - tap Stop when you're done.

Recording · cr - tap Stop & transcribe when you're done.

Transcribing with AI…

Voice:

Keep going - a few more words and AI can grade it.

Last attempt -

Your answer

Re-explain

Load balancing distributes incoming requests across multiple servers to prevent overload and ensure high availability.

Main Types:

  1. Round Robin: Requests distributed sequentially to each server
  2. Least Connections: Routes to server with fewest active connections
  3. Weighted Round Robin: Assigns weights based on server capacity
  4. IP Hash: Routes based on client IP hash for session persistence
  5. Least Response Time: Routes to server with fastest response

Layers:

  • Layer 4 (Transport): Routes based on IP and port
  • Layer 7 (Application): Routes based on content (HTTP headers, URLs)

Load balancers can be hardware-based, software-based, or cloud-managed services like AWS ALB.

Rewriting in plainer words…

This answer doesn't lend itself to a diagram - it reads best . No credits were charged.

Why there's no diagram: “”

The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓

Related concept

Tailored explanation · switch back to · ·
What should the new diagram focus on?
How well did you know this?
AI:

06

What is a Content Delivery Network (CDN) and how does it improve performance?

Part of Pro
07

What is the difference between ACID and BASE properties?

Part of Pro
08

Explain the concept of eventual consistency with examples.

Part of Pro
09

What are the differences between REST and GraphQL APIs?

Part of Pro
10

Explain message queues and their benefits in distributed systems.

Part of Pro
11

What is the difference between stateful and stateless services?

Part of Pro
12

What is the CAP Theorem and what do the three letters stand for?

Beginner ·

Answer it yourself first - out loud, or typed below.

How should your speech become text?

Listening… your words appear above as you speak - tap Stop when you're done.

Recording · cr - tap Stop & transcribe when you're done.

Transcribing with AI…

Voice:

Keep going - a few more words and AI can grade it.

Last attempt -

Your answer

Re-explain

The CAP Theorem, proposed by Eric Brewer, states that in any distributed system, you can guarantee at most two of the following three properties simultaneously:

  • Consistency (C): All nodes see the same data at the same time. Every read receives the most recent write or an error.
  • Availability (A): The system remains operational and responsive, meaning every request receives a response (success or failure).
  • Partition Tolerance (P): The system continues to operate despite network failures that prevent communication between nodes.

The theorem essentially says you must choose between CP (Consistency + Partition Tolerance) or AP (Availability + Partition Tolerance) when network partitions occur, as CA (Consistency + Availability) is impossible in a distributed system with network partitions.

Rewriting in plainer words…

This answer doesn't lend itself to a diagram - it reads best . No credits were charged.

Why there's no diagram: “”

The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓

Related concept

Tailored explanation · switch back to · ·
What should the new diagram focus on?
How well did you know this?
AI:

13

Why is it impossible to achieve all three properties of CAP simultaneously in a distributed system?

Beginner ·

Answer it yourself first - out loud, or typed below.

How should your speech become text?

Listening… your words appear above as you speak - tap Stop when you're done.

Recording · cr - tap Stop & transcribe when you're done.

Transcribing with AI…

Voice:

Keep going - a few more words and AI can grade it.

Last attempt -

Your answer

Re-explain

It's impossible because of the fundamental nature of network partitions in distributed systems. When a network partition occurs (nodes cannot communicate), you face a choice:

  1. Choose Consistency: Stop serving requests on partitioned nodes to maintain data consistency. This sacrifices availability.
  2. Choose Availability: Continue serving requests on all nodes, but risk serving stale data, sacrificing consistency.

You cannot have both because:

  • To maintain consistency during a partition, you must either reject requests (losing availability) or wait for network healing (also losing availability)
  • To maintain availability, you must serve requests with potentially stale data (losing consistency)

Partition tolerance is mandatory in distributed systems because network failures are inevitable.

Rewriting in plainer words…

This answer doesn't lend itself to a diagram - it reads best . No credits were charged.

Why there's no diagram: “”

The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓

Related concept

Tailored explanation · switch back to · ·
What should the new diagram focus on?
How well did you know this?
AI:

Intermediate 27
14

Explain different consistency models in distributed systems.

Part of Pro
15

What is the Raft consensus algorithm and how does it work?

Part of Pro
16

What is the difference between 2PC and 3PC protocols?

Part of Pro
17

What is database sharding and what are the different sharding strategies?

Part of Pro
18

Explain different caching strategies and their use cases.

Part of Pro
19

Explain the concept of microservices and their advantages/disadvantages.

Part of Pro
20

What is the circuit breaker pattern and how does it work?

Part of Pro
21

Explain different types of failures in distributed systems.

Part of Pro
22

What is graceful degradation and how do you implement it?

Part of Pro
23

Explain the concept of bulkhead pattern in distributed systems.

Part of Pro
24

What is event sourcing and what are its benefits?

Part of Pro
25

Explain Command Query Responsibility Segregation (CQRS).

Part of Pro
26

What is the difference between message queues and event streams?

Part of Pro
27

Explain service discovery and its implementation approaches.

Part of Pro
28

What is the difference between optimistic and pessimistic concurrency control?

Part of Pro
29

Explain the concept of data lakes vs data warehouses.

Part of Pro
30

What is chaos engineering and how do you implement it?

Part of Pro
31

Explain the concept of distributed caching and cache invalidation strategies.

Part of Pro
32

What are idempotent operations and why are they important in distributed systems?

Part of Pro
33

Explain the concept of backpressure and how to handle it.

Part of Pro
34

What are some real-world examples of systems that choose CP vs AP?

Part of Pro
35

What is the BASE model and how does it relate to CAP Theorem?

Part of Pro
36

Explain different consistency models: Strong, Weak, and Eventual consistency.

Part of Pro
37

What are vector clocks and how do they help with consistency in distributed systems?

Part of Pro
38

How does partition tolerance affect system design decisions?

Part of Pro
39

How do NoSQL databases typically handle the CAP theorem trade-offs?

Part of Pro
40

Explain the concept of quorum-based consistency and how it relates to CAP.

Part of Pro
Expert 11
41

Explain vector clocks and their use in distributed systems.

Part of Pro
42

What is Byzantine Fault Tolerance and when is it needed?

Part of Pro
43

Explain the saga pattern for managing distributed transactions.

Part of Pro
44

What is the difference between consistency and consensus in distributed systems?

Part of Pro
45

What are conflict-free replicated data types (CRDTs) and how do they help with consistency?

Part of Pro
46

How does the CAP theorem apply to microservices architecture?

Part of Pro
47

How do consensus algorithms like Raft and Paxos relate to the CAP theorem?

Part of Pro
48

What is causal consistency and how does it differ from other consistency models?

Part of Pro
49

How would you design a distributed cache considering CAP theorem constraints?

Part of Pro
50

What are some strategies for handling network partitions in distributed systems?

Part of Pro
51

What factors should you consider when choosing between CP and AP systems for a specific use case?

Part of Pro

No matches

Try a different filter or search term.

Know someone prepping for Distributed Systems Fundamentals? Send them this set.
Learn · Videos

Distributed Systems Fundamentals, in short videos.

Pro · $10/mo

44 of 51 Distributed Systems Fundamentals answers are in Pro.

Full answers, code samples, and AI explanations that go simpler or deeper. Cancel anytime.

  • Full answers + code
  • AI explanations, simpler or deeper
  • 1,000 AI credits / month
  • Cancel anytime

Change topic

Pick a different technology or stack. Your current topic stays put until you choose a new one.

Technologies
No technologies match “”.
Cross-cutting topics
No topics match “”.
By role
Stacks & frameworks

MEAN

MongoDB, Express, Angular, Node.js

MERN

MongoDB, Express, React, Node.js

LAMP

Linux, Apache, MySQL, PHP

Django

Python Full-Stack Development

Ruby on Rails

Convention over Configuration

Serverless on AWS

Serverless Architecture on AWS

Flutter Mobile

Flutter Cross-Platform Mobile Development

Spring Boot

Enterprise Java Development

.NET

Microsoft Ecosystem

Vue

Vue.js, Vite, TypeScript, Tailwind, Node.js

Go Backend

Golang, gRPC, PostgreSQL, Redis, RabbitMQ

FastAPI

Python, FastAPI, SQLAlchemy, PostgreSQL

React Native

React, TypeScript, Redux, Firebase

iOS Native

Swift, SwiftUI, UIKit, Firebase

Android Native

Java, Jetpack Compose, Firebase

DevOps / Platform

Docker, Kubernetes, Terraform, CI/CD

AI Engineer

LLMs, RAG, Agents, Evals

AI-Powered Developer

Claude Code, Copilot, Agentic Workflows

Core SWE Interview Prep

Data structures, algorithms, OS, concurrency, networking, git