1/59
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
What is scalability in system design?
The ability of a system to handle increased load without performance degradation.
What are the two main types of scalability?
Vertical scalability and horizontal scalability.
What is vertical scalability?
Increasing the capacity of a single machine (e.g., more CPU, RAM).
What is horizontal scalability?
Adding more machines or nodes to distribute the load.
Which type of scalability is generally more fault-tolerant?
Horizontal scalability.
What is a load balancer?
A device or software that distributes incoming traffic across multiple servers.
What is stateless architecture?
An architecture where no client session information is stored on the server.
Why is stateless architecture important for scalability?
It enables easy load distribution and server replacement.
What is stateful architecture?
An architecture where the server maintains client session data between requests.
What is partitioning (sharding) in scalability?
Dividing data into parts and distributing it across different databases or services.
What is the CAP theorem?
It states that in a distributed system, you can only guarantee two of the following: Consistency, Availability, Partition tolerance.
What is caching?
Storing frequently accessed data in a fast-access layer to reduce load and latency.
What tools are used for caching in scalable systems?
Redis, Memcached, CDN (e.g., CloudFront), in-memory caches.
What is a CDN (Content Delivery Network)?
A network of edge servers that cache and deliver static content closer to the user.
How does a CDN improve scalability?
By reducing load on the origin server and serving content faster to users.
What is autoscaling?
The ability to automatically increase or decrease server capacity based on demand.
What is the role of message queues in scalable systems?
To decouple services and handle spikes in traffic asynchronously.
Give examples of message queues.
Kafka, RabbitMQ, AWS SQS, Google Pub/Sub.
What is asynchronous processing?
Tasks are processed in the background without blocking the main flow.
Why is asynchronous processing useful for scalability?
It reduces response time and allows handling of large workloads efficiently.
What is rate limiting?
A technique to control the rate of incoming requests to protect the system.
Why is rate limiting important in scalable systems?
To prevent abuse, manage load, and ensure fair usage.
What is a circuit breaker in system design?
A pattern to prevent system failure by stopping calls to a failing service.
What is graceful degradation?
Maintaining partial functionality when some parts of the system fail.
What is eventual consistency?
A consistency model where all nodes will become consistent over time, used in scalable distributed systems.
What is replication?
Copying data across multiple machines to ensure availability and fault tolerance.
What is read replication?
Creating multiple replicas of a database for scaling read operations.
What is write scaling and why is it hard?
Scaling write operations is difficult due to consistency and data synchronization challenges.
What is a bottleneck in system design?
A component that limits the overall performance and scalability of the system.
How do you identify bottlenecks?
Using profiling, monitoring, and load testing tools.
What is database sharding?
Dividing a database into smaller pieces (shards) and distributing them across servers.
What is horizontal partitioning?
Another term for sharding — distributing rows of a table across multiple databases.
What is vertical partitioning?
Splitting a database by columns or features across different systems.
What is eventual consistency suitable for?
Systems like social media feeds, shopping carts, and analytics.
What is the difference between scaling up and scaling out?
Scaling up adds resources to one node; scaling out adds more nodes.
What are microservices?
An architectural style where applications are composed of small, independent services.
How do microservices help with scalability?
They allow independent scaling and deployment of different services.
What is service discovery?
A mechanism for services to find each other dynamically in a distributed system.
What are some tools for service discovery?
Consul, Eureka, Kubernetes DNS.
What is horizontal pod autoscaling in Kubernetes?
Automatically adjusts the number of pods in a deployment based on metrics like CPU.
What is a reverse proxy?
A server that forwards client requests to backend servers, often used with load balancers.
What is throughput in system design?
The number of requests a system can handle in a given time.
What is latency in system design?
The time taken to process a single request.
Why does scaling read operations tend to be easier?
Reads can be distributed to replicas without affecting consistency much.
What is data denormalization?
The process of duplicating data to reduce the number of joins and speed up reads.
What is precomputation?
Computing and storing results ahead of time to reduce processing during peak load.
What is database connection pooling?
Reusing database connections to reduce overhead of creating new ones.
What is backpressure in message systems?
A mechanism to prevent overload by slowing down producers when consumers are overwhelmed.
What is fan-out in messaging?
Sending a single message to multiple consumers or services.
What is the role of logging in scalable systems?
Helps monitor, debug, and track system performance under load.
What are metrics in system scalability?
Quantitative measurements like CPU usage, memory, request rate, error rate.
What tools help monitor scalability?
Prometheus, Grafana, Datadog, New Relic, AWS CloudWatch.
What is a scalable architecture?
An architecture that can grow efficiently with demand while maintaining performance.
What is infrastructure as code (IaC)?
Managing infrastructure through code using tools like Terraform, CloudFormation.
Why is IaC important for scalability?
Enables repeatable, automated, and scalable infrastructure deployment.
What is chaos engineering?
The practice of testing a system's resilience by intentionally introducing failures.
How does a database index impact scalability?
Speeds up queries but can slow down writes and consume memory.
What is an API gateway?
A single entry point for clients to access multiple services, helping manage and scale APIs.
What is horizontal scaling challenge in session management?
Session data must be shared or externalized for access across nodes.
What is a session store?
A centralized system like Redis or Memcached to store user sessions in a scalable system.