1/156
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
What are the tradeoffs of HTTP/HTTPS?
HTTP is stateless and requires repeated requests. HTTPS improves security but adds encryption overhead and processing cost.
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.
What problem does REST solve?
REST provides a standardized and predictable way for clients and servers to communicate with backend resources.
When should you think of using REST?
When designing simple CRUD-based APIs where resources are clearly defined and predictable communication is important.
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.
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.
What problem does GraphQL solve?
GraphQL solves REST limitations where clients may receive unnecessary data or need multiple API calls to retrieve related information.
When should you think of using GraphQL?
When applications have complex data requirements, many client types, or frequently need different subsets of data.
What are the tradeoffs of GraphQL?
GraphQL requires more server-side processing, makes caching harder, and increases API complexity compared to REST.
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.
When should you choose REST over GraphQL?
Choose REST when the API is simple, resource-based, requires strong caching, and follows common CRUD operations.
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.
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.
What problem does WebSockets solve?
WebSockets solves the problem of needing constant real-time communication without repeatedly sending HTTP requests through polling.
When should you think of using WebSockets?
When users need real-time updates such as live chat, multiplayer games, stock prices, or collaborative editing.
What are the tradeoffs of WebSockets?
Persistent connections consume server resources, require connection management, and are more complex than traditional HTTP requests.
What are Webhooks?
Webhooks allow one service to automatically send an HTTP request to another service when a specific event occurs.
What problem do Webhooks solve?
Webhooks solve the problem of services constantly polling another service to check whether something has changed.
When should you think of using Webhooks?
When one external service needs to notify your application about events such as payments, commits, or messages.
What are the tradeoffs of Webhooks?
Webhooks require handling retries, failures, authentication, and ensuring the receiving endpoint is available.
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.
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.
What is the interview trigger for DNS?
Users need to access a service using a domain name instead of remembering an IP address.
What is the interview trigger for HTTP/HTTPS?
A client and server need a standard way to exchange requests and responses over a network.
What is the interview trigger for REST?
The system needs a simple, predictable, cache-friendly API for CRUD operations.
What is the interview trigger for GraphQL?
Clients need different subsets of data, or REST causes too many requests and unnecessary data transfer.
What is the interview trigger for WebSockets?
The system requires instant updates pushed from the server to connected clients.
What is the interview trigger for Webhooks?
One service needs to notify another service when an event occurs without constant polling.
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.
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.
When should you think of using a Load Balancer?
When a system uses horizontal scaling and has multiple application servers that need traffic distribution.
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.
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).
What is the interview trigger for Load Balancer?
One application server is overloaded, and the system needs to distribute traffic across multiple servers.
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.
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.
When should you think of using a Reverse Proxy?
When backend servers need protection, centralized routing, SSL termination, or traffic management.
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.
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.
What is the interview trigger for Reverse Proxy?
Backend servers should not be directly exposed to users or the internet.
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.
What problem does an API Gateway solve?
It solves the problem of clients directly communicating with many backend services by providing one unified interface.
When should you think of using an API Gateway?
When designing systems with multiple backend services or microservices that need centralized API management.
What are the tradeoffs of an API Gateway?
It adds complexity and can become a bottleneck if too much logic is placed inside it.
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.
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.
What problem does Rate Limiting solve?
Rate Limiting prevents users, bots, or malicious traffic from consuming excessive resources and overwhelming a system.
When should you think of using Rate Limiting?
When building public APIs, authentication systems, or any service vulnerable to abuse or excessive traffic.
What are the tradeoffs of Rate Limiting?
Strict limits can block legitimate users, and designing fair limits requires understanding user behavior and system capacity.
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.
What is the interview trigger for Rate Limiting?
The system needs protection from users making too many requests or consuming expensive resources.
What is Vertical Scaling?
Vertical Scaling increases the power of one server by upgrading hardware resources such as CPU, RAM, or storage.
What problem does Vertical Scaling solve?
It solves performance problems by making an existing server more powerful without changing the architecture.
When should you think of using Vertical Scaling?
When a system is small or needs a quick performance improvement without introducing distributed complexity.
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.
What is the interview trigger for Vertical Scaling?
A server needs more CPU, RAM, or storage to handle increasing workload.
What is Horizontal Scaling?
Horizontal Scaling increases system capacity by adding more servers and distributing workload among them.
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.
When should you think of using Horizontal Scaling?
When applications need to support large numbers of users, high availability, and growing traffic.
What are the tradeoffs of Horizontal Scaling?
It introduces distributed system complexity, requires load balancing, and requires handling communication between servers.
What is the interview trigger for Horizontal Scaling?
One server cannot handle increasing traffic, and the system needs additional machines.
What is the relationship between Horizontal Scaling and Load Balancers?
Horizontal Scaling creates multiple servers, while Load Balancers distribute incoming requests among those servers.
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.
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.