System Design Concepts

0.0(0)
Studied by 0 people
call kaiCall Kai
Locked
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/156

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 9:48 PM on 7/9/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai
Chat

No analytics yet

Send a link to your students to track their progress

157 Terms

1
New cards

What is Client-Server Architecture?

Client-Server Architecture is a system model where the client (web browser/mobile app) sends requests and the server processes those requests, accesses data, and returns responses. It separates the user interface from backend logic and data management.

2
New cards

What problem does Client-Server Architecture solve?

It solves the problem of allowing many users and devices to access shared services and data without each device needing to manage the data itself.

3
New cards

When should you think of using Client-Server Architecture?

Almost every web or mobile application uses this model because users need a way to communicate with centralized backend services.

4
New cards

What are the tradeoffs of Client-Server Architecture?

The server can become a bottleneck, and the system depends on network availability because clients must communicate with servers.

5
New cards

What is DNS (Domain Name System)?

DNS is a system that translates human-readable domain names (such as google.com) into IP addresses that computers use to locate servers.

6
New cards

What problem does DNS solve?

DNS solves the problem of users and applications needing to remember difficult and changing IP addresses for every service they access.

7
New cards

When should you think of using DNS?

Whenever users access a system through a domain name instead of directly connecting to a server IP address.

8
New cards

What are the tradeoffs of DNS?

DNS lookups introduce additional latency, and incorrect or outdated DNS records can temporarily route users to the wrong location.

9
New cards

What is HTTP/HTTPS?

HTTP is a communication protocol that defines how clients and servers exchange requests and responses. HTTPS is HTTP with TLS encryption to protect data from interception.

10
New cards

What problem does HTTP/HTTPS solve?

HTTP provides a standard way for different systems to communicate over the internet instead of requiring custom communication rules.

11
New cards

When should you think of using HTTP/HTTPS?

Whenever a client needs to communicate with a server through the internet, such as retrieving data, submitting forms, or calling APIs.

12
New cards

What are the tradeoffs of HTTP/HTTPS?

HTTP is stateless and requires repeated requests. HTTPS improves security but adds encryption overhead and processing cost.

13
New cards

What is a REST API?

REST is an API design style that organizes backend data into resources and uses HTTP methods such as GET, POST, PUT, and DELETE to interact with those resources.

14
New cards

What problem does REST solve?

REST provides a standardized and predictable way for clients and servers to communicate with backend resources.

15
New cards

When should you think of using REST?

When designing simple CRUD-based APIs where resources are clearly defined and predictable communication is important.

16
New cards

What are the tradeoffs of REST?

REST can cause over-fetching, under-fetching, and require multiple requests when clients need related data from different resources.

17
New cards

What is GraphQL?

GraphQL is an API query language that allows clients to request exactly the data fields they need from a server in a single request.

18
New cards

What problem does GraphQL solve?

GraphQL solves REST limitations where clients may receive unnecessary data or need multiple API calls to retrieve related information.

19
New cards

When should you think of using GraphQL?

When applications have complex data requirements, many client types, or frequently need different subsets of data.

20
New cards

What are the tradeoffs of GraphQL?

GraphQL requires more server-side processing, makes caching harder, and increases API complexity compared to REST.

21
New cards

What is the difference between REST and GraphQL?

REST provides fixed endpoints that return predefined data structures, while GraphQL allows clients to specify exactly what data they need.

22
New cards

When should you choose REST over GraphQL?

Choose REST when the API is simple, resource-based, requires strong caching, and follows common CRUD operations.

23
New cards

When should you choose GraphQL over REST?

Choose GraphQL when clients need flexible data retrieval and REST would require many requests or return unnecessary data.

24
New cards

What is WebSockets?

WebSockets is a communication protocol that creates a persistent two-way connection between a client and server, allowing both sides to send messages instantly.

25
New cards

What problem does WebSockets solve?

WebSockets solves the problem of needing constant real-time communication without repeatedly sending HTTP requests through polling.

26
New cards

When should you think of using WebSockets?

When users need real-time updates such as live chat, multiplayer games, stock prices, or collaborative editing.

27
New cards

What are the tradeoffs of WebSockets?

Persistent connections consume server resources, require connection management, and are more complex than traditional HTTP requests.

28
New cards

What are Webhooks?

Webhooks allow one service to automatically send an HTTP request to another service when a specific event occurs.

29
New cards

What problem do Webhooks solve?

Webhooks solve the problem of services constantly polling another service to check whether something has changed.

30
New cards

When should you think of using Webhooks?

When one external service needs to notify your application about events such as payments, commits, or messages.

31
New cards

What are the tradeoffs of Webhooks?

Webhooks require handling retries, failures, authentication, and ensuring the receiving endpoint is available.

32
New cards

What is the difference between WebSockets and Webhooks?

WebSockets provide continuous two-way communication between a client and server, while Webhooks send one-time event notifications between services.

33
New cards

What is the interview trigger for Client-Server Architecture?

Users need to access shared data or services from multiple devices, requiring separation between frontend and backend.

34
New cards

What is the interview trigger for DNS?

Users need to access a service using a domain name instead of remembering an IP address.

35
New cards

What is the interview trigger for HTTP/HTTPS?

A client and server need a standard way to exchange requests and responses over a network.

36
New cards

What is the interview trigger for REST?

The system needs a simple, predictable, cache-friendly API for CRUD operations.

37
New cards

What is the interview trigger for GraphQL?

Clients need different subsets of data, or REST causes too many requests and unnecessary data transfer.

38
New cards

What is the interview trigger for WebSockets?

The system requires instant updates pushed from the server to connected clients.

39
New cards

What is the interview trigger for Webhooks?

One service needs to notify another service when an event occurs without constant polling.

40
New cards

What is a Load Balancer?

A Load Balancer is a system component that distributes incoming client requests across multiple backend servers to prevent one server from becoming overwhelmed.

41
New cards

What problem does a Load Balancer solve?

A Load Balancer solves the problem of having a single server handle too much traffic by spreading requests across multiple servers.

42
New cards

When should you think of using a Load Balancer?

When a system uses horizontal scaling and has multiple application servers that need traffic distribution.

43
New cards

What are the tradeoffs of a Load Balancer?

Load Balancers add an additional network layer, require health checks, and introduce another component that must be managed.

44
New cards

What are common Load Balancing algorithms?

Common algorithms include Round Robin (distribute requests sequentially), Least Connections (send requests to the least busy server), and IP Hashing (route the same client to the same server).

45
New cards

What is the interview trigger for Load Balancer?

One application server is overloaded, and the system needs to distribute traffic across multiple servers.

46
New cards

What is a Reverse Proxy?

A Reverse Proxy is a server that sits between clients and backend servers, receiving client requests and forwarding them to the appropriate backend service.

47
New cards

What problem does a Reverse Proxy solve?

A Reverse Proxy solves the problem of exposing backend servers directly by hiding internal infrastructure and controlling incoming traffic.

48
New cards

When should you think of using a Reverse Proxy?

When backend servers need protection, centralized routing, SSL termination, or traffic management.

49
New cards

What are the tradeoffs of a Reverse Proxy?

It adds another layer to the system and can become a bottleneck or single point of failure if not designed properly.

50
New cards

What is the difference between a Load Balancer and a Reverse Proxy?

A Load Balancer primarily distributes traffic across multiple servers, while a Reverse Proxy provides an entry point that can also handle routing, security, caching, and SSL termination.

51
New cards

What is the interview trigger for Reverse Proxy?

Backend servers should not be directly exposed to users or the internet.

52
New cards

What is an API Gateway?

An API Gateway is a centralized entry point that manages client requests before routing them to backend services. It commonly handles authentication, rate limiting, logging, and request routing.

53
New cards

What problem does an API Gateway solve?

It solves the problem of clients directly communicating with many backend services by providing one unified interface.

54
New cards

When should you think of using an API Gateway?

When designing systems with multiple backend services or microservices that need centralized API management.

55
New cards

What are the tradeoffs of an API Gateway?

It adds complexity and can become a bottleneck if too much logic is placed inside it.

56
New cards

What is the interview trigger for API Gateway?

Clients need to communicate with multiple backend services and require a single entry point for authentication, routing, and monitoring.

57
New cards

What is Rate Limiting?

Rate Limiting is a technique that restricts how many requests a user or client can make within a specific time period.

58
New cards

What problem does Rate Limiting solve?

Rate Limiting prevents users, bots, or malicious traffic from consuming excessive resources and overwhelming a system.

59
New cards

When should you think of using Rate Limiting?

When building public APIs, authentication systems, or any service vulnerable to abuse or excessive traffic.

60
New cards

What are the tradeoffs of Rate Limiting?

Strict limits can block legitimate users, and designing fair limits requires understanding user behavior and system capacity.

61
New cards

What are common Rate Limiting algorithms?

Fixed Window limits requests within fixed time intervals, Sliding Window provides smoother limits, and Token Bucket allows controlled bursts of traffic.

62
New cards

What is the interview trigger for Rate Limiting?

The system needs protection from users making too many requests or consuming expensive resources.

63
New cards

What is Vertical Scaling?

Vertical Scaling increases the power of one server by upgrading hardware resources such as CPU, RAM, or storage.

64
New cards

What problem does Vertical Scaling solve?

It solves performance problems by making an existing server more powerful without changing the architecture.

65
New cards

When should you think of using Vertical Scaling?

When a system is small or needs a quick performance improvement without introducing distributed complexity.

66
New cards

What are the tradeoffs of Vertical Scaling?

Hardware has limits, powerful machines become expensive, and the entire system depends on one server creating a single point of failure.

67
New cards

What is the interview trigger for Vertical Scaling?

A server needs more CPU, RAM, or storage to handle increasing workload.

68
New cards

What is Horizontal Scaling?

Horizontal Scaling increases system capacity by adding more servers and distributing workload among them.

69
New cards

What problem does Horizontal Scaling solve?

It solves the limitation of a single server by allowing a system to handle more traffic and improve reliability.

70
New cards

When should you think of using Horizontal Scaling?

When applications need to support large numbers of users, high availability, and growing traffic.

71
New cards

What are the tradeoffs of Horizontal Scaling?

It introduces distributed system complexity, requires load balancing, and requires handling communication between servers.

72
New cards

What is the interview trigger for Horizontal Scaling?

One server cannot handle increasing traffic, and the system needs additional machines.

73
New cards

What is the relationship between Horizontal Scaling and Load Balancers?

Horizontal Scaling creates multiple servers, while Load Balancers distribute incoming requests among those servers.

74
New cards

What is the difference between Vertical Scaling and Horizontal Scaling?

Vertical Scaling makes one machine stronger, while Horizontal Scaling adds more machines to distribute workload.

75
New cards

When should you choose Horizontal Scaling over Vertical Scaling?

Choose Horizontal Scaling when the system needs high availability, massive growth, and the ability to handle server failures.

76
New cards
What is SQL?
SQL (Structured Query Language) databases are relational databases that store data in structured tables with predefined schemas and support ACID transactions for strong consistency.
77
New cards
What problem does SQL solve?
SQL solves the problem of managing structured data with relationships while ensuring data accuracy, consistency, and reliable transactions.
78
New cards
When should you think of using SQL?
When the system requires strong consistency, complex relationships, transactions, and structured data such as banking or ecommerce systems.
79
New cards
What are the tradeoffs of SQL?
SQL databases can be harder to scale horizontally, require predefined schemas, and may struggle with extremely large distributed workloads.
80
New cards
What is the interview trigger for SQL?
The system requires transactions, strong consistency, and relationships between different types of data.
81
New cards
What is NoSQL?
NoSQL databases are non-relational databases designed for flexible schemas, high scalability, and large amounts of distributed data.
82
New cards
What problem does NoSQL solve?
NoSQL solves the problem of scaling databases horizontally and handling large amounts of rapidly changing or unstructured data.
83
New cards
When should you think of using NoSQL?
When the system needs massive scalability, flexible schemas, high write throughput, or distributed storage.
84
New cards
What are the tradeoffs of NoSQL?
NoSQL databases may provide weaker consistency, have fewer relationship capabilities, and require more application-level logic.
85
New cards
What is the interview trigger for NoSQL?
The system needs to handle massive scale, flexible data models, or extremely high read/write traffic.
86
New cards
What are common NoSQL database types?
Key-value stores are optimized for simple lookups, document stores store JSON-like data, graph databases handle relationships, and wide-column stores handle large distributed datasets.
87
New cards
What is the difference between SQL and NoSQL?
SQL uses structured tables and provides strong consistency with ACID transactions, while NoSQL provides flexible schemas and easier horizontal scaling.
88
New cards
When should you choose SQL over NoSQL?
Choose SQL when correctness, transactions, and relationships are more important than massive scalability.
89
New cards
When should you choose NoSQL over SQL?
Choose NoSQL when scalability, flexible schemas, and high performance at large scale are the priority.
90
New cards
What is Database Indexing?
Database Indexing creates additional data structures that allow databases to quickly locate rows without scanning the entire table.
91
New cards
What problem does Database Indexing solve?
It solves slow database queries caused by searching through large amounts of data using full table scans.
92
New cards
When should you think of using Database Indexing?
When frequently queried columns such as IDs, foreign keys, or search fields need faster lookup performance.
93
New cards
What are the tradeoffs of Database Indexing?
Indexes require additional storage and make writes slower because indexes must be updated whenever data changes.
94
New cards
What is the interview trigger for Database Indexing?
Database queries are slow because the system scans too much data to find results.
95
New cards
What is Normalization?
Normalization is the process of organizing database data into separate related tables to reduce duplication and improve data consistency.
96
New cards
What problem does Normalization solve?
Normalization solves redundant data and update inconsistencies caused by storing repeated information in one large table.
97
New cards
When should you think of using Normalization?
When designing transactional systems where data consistency and avoiding duplicate information are important.
98
New cards
What are the tradeoffs of Normalization?
Normalized databases require more JOIN operations, which can increase query complexity and slow read performance.
99
New cards
What is the interview trigger for Normalization?
A database contains duplicated data or updates require changing the same information in many places.
100
New cards
What is Denormalization?
Denormalization combines related data into fewer tables or documents by intentionally duplicating data to improve read performance.