Preferred by developers at leading tech companies such as
Involves converting long URLs into shorter, unique aliases while ensuring scalability.
Involves storing and sharing text or code snippets with unique URLs.
Involves creating a platform for sharing photos, videos, and social networking.
Involves creating cloud storage for file sync, sharing, and secure access.
Involves creating a real-time messaging platform for text, voice, and video communication.
Involves creating a platform for short text updates, social interaction, and real-time information sharing.
Involves building a platform for streaming video with scalable delivery and recommendations.
Involves predicting and displaying user queries in real-time.
Involves controlling the number of requests a user can make to an API within a specified time frame.
Involves indexing and retrieving tweets based on keywords and relevance.
Involves creating a system that systematically browses the web to index and gather data.
Involves displaying personalized content based on user interactions.
Involves user reviews and local business discovery & showing nearby locations in real-time.
Designing Uber's backend involves real-time ride matching and payment processing.
Involves building a platform for event ticket sales, distribution, and real-time inventory management.
Load Balancing involves distributing incoming network traffic across multiple servers to ensure reliability and optimal performance.
An API Gateway manages and routes API requests, providing a unified entry point, security, and request handling.
The Domain Name System (DNS) translates human-readable domain names into IP addresses, enabling internet navigation.
Caching involves storing frequently accessed data temporarily to speed up retrieval and reduce load on the main data source.
Data Partitioning divides a database into smaller pieces to improve performance and scalability.
Proxies act as intermediaries between clients and servers to enhance security, privacy, and performance.
Redundancy involves duplicating critical system components to ensure reliability and availability in case of failures.
The PACELC theorem balances availability vs consistency during partitions and latency vs consistency otherwise.
Databases store, organize, and manage data for efficient retrieval and manipulation.
Indexes optimize data retrieval speed by creating quick access paths to specific data in a database.
Bloom Filters are space-efficient data structures used to test whether an element is likely in a set, with possible false positives.
Quorum is the minimum number of nodes required to agree on a decision in a distributed system to ensure consistency.
Heartbeats are regular signals sent between system components to monitor their status and ensure they are operational.
A checksum is a calculated value used to verify the integrity of data by detecting errors or corruption during transmission or storage.
Leader and Follower is a replication model where the leader handles writes, and followers replicate data for consistency.
A Distributed Messaging System enables reliable communication between applications via message passing.
A Distributed File System allows access to files across multiple servers, ensuring scalability and fault tolerance.
Gossip Protocol is a communication method where nodes in a network spread information randomly to ensure eventual consistency.
"Split Brain" occurs when network partitions cause multiple nodes to act as leaders, leading to conflicts.
Vector Clocks track causal relationships between events in distributed systems to ensure consistency.
Merkle Trees are data structures that verify large data sets' integrity by organizing hashes into a hierarchical tree.