All questions
Showing of 51What is a distributed system and what are its main characteristics?
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:
Last attempt -
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.
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 ↓
Explain the CAP theorem and its implications.
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:
Last attempt -
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.
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 ↓
What is the difference between horizontal and vertical scaling?
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:
Last attempt -
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.
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 ↓
Describe the difference between synchronous and asynchronous communication.
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:
Last attempt -
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()
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 ↓
What is load balancing and what are the main types?
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:
Last attempt -
Load balancing distributes incoming requests across multiple servers to prevent overload and ensure high availability.
Main Types:
- Round Robin: Requests distributed sequentially to each server
- Least Connections: Routes to server with fewest active connections
- Weighted Round Robin: Assigns weights based on server capacity
- IP Hash: Routes based on client IP hash for session persistence
- 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.
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 ↓
What is a Content Delivery Network (CDN) and how does it improve performance?
What is the difference between ACID and BASE properties?
Explain the concept of eventual consistency with examples.
What are the differences between REST and GraphQL APIs?
Explain message queues and their benefits in distributed systems.
What is the difference between stateful and stateless services?
What is the CAP Theorem and what do the three letters stand for?
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:
Last attempt -
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.
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 ↓
Why is it impossible to achieve all three properties of CAP simultaneously in a distributed system?
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:
Last attempt -
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:
- Choose Consistency: Stop serving requests on partitioned nodes to maintain data consistency. This sacrifices availability.
- 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.
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 ↓
Explain different consistency models in distributed systems.
What is the Raft consensus algorithm and how does it work?
What is the difference between 2PC and 3PC protocols?
What is database sharding and what are the different sharding strategies?
Explain different caching strategies and their use cases.
Explain the concept of microservices and their advantages/disadvantages.
What is the circuit breaker pattern and how does it work?
Explain different types of failures in distributed systems.
What is graceful degradation and how do you implement it?
Explain the concept of bulkhead pattern in distributed systems.
What is event sourcing and what are its benefits?
Explain Command Query Responsibility Segregation (CQRS).
What is the difference between message queues and event streams?
Explain service discovery and its implementation approaches.
What is the difference between optimistic and pessimistic concurrency control?
Explain the concept of data lakes vs data warehouses.
What is chaos engineering and how do you implement it?
Explain the concept of distributed caching and cache invalidation strategies.
What are idempotent operations and why are they important in distributed systems?
Explain the concept of backpressure and how to handle it.
What are some real-world examples of systems that choose CP vs AP?
What is the BASE model and how does it relate to CAP Theorem?
Explain different consistency models: Strong, Weak, and Eventual consistency.
What are vector clocks and how do they help with consistency in distributed systems?
How does partition tolerance affect system design decisions?
How do NoSQL databases typically handle the CAP theorem trade-offs?
Explain the concept of quorum-based consistency and how it relates to CAP.
Explain vector clocks and their use in distributed systems.
What is Byzantine Fault Tolerance and when is it needed?
Explain the saga pattern for managing distributed transactions.
What is the difference between consistency and consensus in distributed systems?
What are conflict-free replicated data types (CRDTs) and how do they help with consistency?
How does the CAP theorem apply to microservices architecture?
How do consensus algorithms like Raft and Paxos relate to the CAP theorem?
What is causal consistency and how does it differ from other consistency models?
How would you design a distributed cache considering CAP theorem constraints?
What are some strategies for handling network partitions in distributed systems?
What factors should you consider when choosing between CP and AP systems for a specific use case?
This answer is part of Pro.
The full written answer, with the trade-offs and follow-ups an interviewer will probe.
No matches
Try a different filter or search term.
Distributed Systems Fundamentals, in short videos.
Distributed Systems Fundamentals cheatsheet
- Core Concepts & Definitions01
- Fundamental Principles02
- System Design Patterns03
- Data Storage & Management04
- Distributed Algorithms05
- Microservices Architecture06
- Fault Tolerance & Reliability07
- Scaling Strategies08
- Communication Protocols09
- Real-World System Examples10
- Performance Optimization11
- Monitoring & Observability12
- + 4 more inside
- + 10 more inside
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.
MEAN
MongoDB, Express, Angular, Node.jsMERN
MongoDB, Express, React, Node.jsDjango
Python Full-Stack DevelopmentRuby on Rails
Convention over ConfigurationServerless on AWS
Serverless Architecture on AWSInterviewers also test these - they're common to every stack, whichever one you picked above.
Flutter Mobile
Flutter Cross-Platform Mobile DevelopmentInterviewers also test these - they're common to every stack, whichever one you picked above.
Spring Boot
Enterprise Java Development.NET
Microsoft EcosystemVue
Vue.js, Vite, TypeScript, Tailwind, Node.jsGo Backend
Golang, gRPC, PostgreSQL, Redis, RabbitMQInterviewers also test these - they're common to every stack, whichever one you picked above.
FastAPI
Python, FastAPI, SQLAlchemy, PostgreSQLReact Native
React, TypeScript, Redux, FirebaseiOS Native
Swift, SwiftUI, UIKit, FirebaseAndroid Native
Java, Jetpack Compose, FirebaseDevOps / Platform
Docker, Kubernetes, Terraform, CI/CDInterviewers also test these - they're common to every stack, whichever one you picked above.
AI Engineer
LLMs, RAG, Agents, EvalsAI-Powered Developer
Claude Code, Copilot, Agentic WorkflowsCore SWE Interview Prep
Data structures, algorithms, OS, concurrency, networking, gitInterviewers also test these - they're common to every stack, whichever one you picked above.
Interviewers also test these - they're common to every stack, whichever one you picked above.