Algo Master
Here is some concepts prepare for software enginneer interview
1. System Design
1.1. Introduction
1.2. Core Concepts
- Scalability
- Availability
- Reliability
- Consistency Models
- CAP Theorem
- Consistent Hashing
- Latency vs Throughput
- Single Point of Failure (SPOF)
1.3. Databases & Storage
- Database Types
- ACID Transactions
- SQL vs NoSQL
- Object Storage
- Query Optimization
- Change Data Capture (CDC)
- Bloom Filters
- Quad Tree
- Redis Use Cases
- Data Structures Used in Distributed Databases
- How Databases Guarantee Durability
- PostgreSQL Internal Architecture
1.4. Database Scaling Techniques
- Database Scaling
- Indexing
- Sharding
- Vertical Partitioning
- Replication
- Denormalization
- Data Compression
1.5. Caching
- What is Caching?
- Read-Through vs Write-Through Cache
- Caching Strategies
- Cache Eviction Policies
- Distributed Caching
- Content Delivery Network (CDN)
1.6. Networking
- Load Balancers
- Load Balancing Algorithms
- Proxy vs Reverse Proxy
- Domain Name System (DNS)
- HTTP/HTTPS
- TCP vs UDP
- Checksums
1.7. APIs
- What’s an API?
- Data Formats
- API Architectural Styles
- REST API Design
- WebSockets
- Webhooks
- WebRTC
- API gateways
- Rate limiting
- Idempotency
1.8. Asynchronous Communications
1.9. Tradeoffs
- Vertical vs Horizontal Scaling
- Concurrency vs Parallelism
- Long Polling vs WebSockets
- Stateful vs Stateless Architecture
- Strong vs Eventual Consistency
- Push vs Pull Architecture
- Monolith vs Microservices
- Synchronous vs Asynchronous Communications
- REST vs GraphQL
1.10. Distributed System Concepts
- Heartbeats
- Consensus algorithms
- Leader Election
- Distributed transactions
- Gossip Protocol
- Two-phase commit protocol
- Three-phase commit (3PC)
- Vector Clocks
- CRDTs
- Handling Failures in Distributed Systems
1.11. Microservices
1.12. Big Data Processing
1.13. Architectural Patterns
- 9 Software Architecture Patterns
- Client-Server Architecture
- Microservices Architecture
- Serverless Architecture
- Event-Driven Architecture
- Peer-to-Peer (P2P) Architecture
1.14. Observability
1.15. Security
1.16. Interview Tips
- How to answer a System Design interview problem
- 15 Golden System Design Interview Tips
- How to Choose the Right Database in System Design Interview
1.17. Interview Questions
- Design a URL Shortener
- Design WhatsApp
- Design Instagram
- Design Spotify
- Design YouTube
- Design Uber
- Design a Scalable News Feed System
- Design Real-Time Gaming Leaderboard
- Design Scalable Notification Service
- Design a Distributed Key-Value Store
- Design a Scalable ‘Likes’ Counting System
- Design Distributed Job Scheduler
- Design Unique Id Generator
2. Company
2.1 Agoda
- How Agoda manages 450 million+ property images
- How Agoda built its property bot to cut response time from 8 hours to seconds
- How Agoda migrated its GraphQL Monolith API service to Microservices
- How Agoda Solved Retry Storms to Boost System Reliability
- How Agoda Designs and Maintains a High-Performing Data Pipeline
- How Agoda manages 1.8 trillion Events per day on Kafka
- How Agoda indexes hundreds of millions of series in a time-series database
2.2 Airbnb
- Embedding-Based Retrieval for Airbnb Search
- How Airbnb improved page performance using HTTP Streaming
- Airbnb’s Data Framework for faster and more reliable read-heavy workloads
- Avoiding Double Payments in a Distributed Payments System
2.3 Amazon Science
- Training code generation models to debug their own outputs
- The technology behind Amazon’s GenAI-powered shopping assistant, Rufus
- Ensuring that customers don’t miss out on trending products
- From structured search to learning-to-rank-and-retrieve
- Invalidating robotic ad clicks in real time
- Using large language models (LLMs) to synthesize training data
- Lessons learned from 10 years of DynamoDB
- Using graph neural networks to recommend related products
2.4 Atlassian
- How Atlassian Scaled and Enhanced Throughput in the Jira Export Service
- How one of Atlassian’s critical services consistently gets above 99.9999% of availability
- How Atlassian made Git push over HTTPS faster for Bitbucket Cloud
- How Atlassian Revamped Confluence Cloud Search
- Caching JQL search in Jira Cloud
- Scaling, rearchitecting, and decomposing Confluence Cloud
- Scaling Bitbucket’s Database
- Atlassian’s journey scaling low latency, multi-region services on AWS
2.5 Auth0
- Build an AI Assistant with LangGraph, Vercel, and Next.js
- Building a Secure RAG with Python, LangChain, and OpenFGA
- Identity Challenges for AI-Powered Applications
2.6 Booking.com
- Anomaly Detection in Time Series Using Statistical Analysis
- How Booking Cut 20% of the Cloud Cost with a Single Code Change
- The Engineering Behind Booking.com’s High-Performance Ranking Platform
- How Booking.com Leverage graph technology for real-time Fraud Detection and Prevention
- How Booking.com Predicts cancellations with survival modeling
2.7 Canva
- Canva’s continuous data platform
- How Canva’s drawing tool works
- How Canva collects 25 billion events per day
- Canva’s scalable and reliable content usage counting service
- How Canva saves millions annually in Amazon S3 costs
- How Canva scaled media uploads from Zero to 50 Million per day
- Canva’s fast and scalable reverse image search
- How Canva enables real-time collaboration with RSocket
2.8 Coinbase
- How Coinbase Optimizes Network Requests
- Accelerating Deep Learning Adoption at Coinbase
- Lessons from launching Enterprise-grade GenAI solutions at Coinbase
- How Coinbase Uses ML to Predict Traffic and Scale Databases
- Detecting Fraudulent Transactions at Coinbase
- Building a notification platform at Coinbase
2.9 Discord
- How Discord Reduced Websocket Traffic by 40%
- How Discord Stores Trillions of Messages
- Pushing Discord’s Limits with a Million+ Online Users in a Single Server
- How Discord uses ML to Build a Delightful Notification Experience
- How Discord Creates Insights from Trillions of Data Points
2.10 DoorDash
- How DoorDash Uses LLMs to transcribe restaurant menu photos
- How DoorDash leverages LLMs for better search retrieval
- Building DoorDash’s product knowledge graph with large language models
- DoorDash’s in-house search engine
- DoorDash’s write-heavy scalable and reliable inventory platform
- Doordash’s scalable real time event processing with Kafka and Flink
- DoorDash’s Lessons on Improving Performance on High-Traffic Web Pages
- How DoorDash Applied Client-Side Caching to Improve Feature Store Performance by 70%
- Building a Unified Chat Experience at DoorDash
2.11 Dropbox
- How Dropbox evolved its infrastructure through the messaging system model
- Dropbox’s scalable, consistent, metadata caching solution
- Bringing AI-powered answers and summaries to file previews on the web
- Dropbox’s ML-powered file organization
- How Dropbox uses ML to identify date formats in file names
- How Dropbox optimizes payments with machine learning
2.12 Ebay
- How ebay Exports Billion-Scale Graphs on Transactional Graph Databases
- eBay’s Personalized User-Based Ranking Model for Recommendations
- How Multimodal Embeddings Elevate eBay’s Product Recommendations
- eBay’s Blazingly Fast Billion-Scale Vector Similarity Engine
- How eBay Handles Real-Time Push Notifications at Scale
- Building a Deep Learning Based Retrieval System for Personalized Recommendations
- How eBay Loads and Updates Over Ten-Billion-Vertex Graphs
- eBay’s real-time and performant index service for its large-scale, in-house database platform
2.13 Expedia
- Inside Expedia’s Migration to ScyllaDB for Change Data Capture
- How Expedia Built its Core Maching Learning Platform
- How Expedia Group ranks website search results
- How Expedia Built a Tool to Query Near Real-Time Streaming Data
- Configuration Management at Expedia Group
2.14 Facebook
- Indexing code at scale with Glean - Meta’s open source system
- Inside Facebook’s video delivery system
- Meta’s Sequence learning Model for personalized ads recommendations
- How Meta animates AI-generated images at scale
- How Meta trains large language models at scale
- Building Meta’s GenAI Infrastructure
- RoCE networks for distributed AI training at scale
- How Meta built the infrastructure for Threads
- Building end-to-end security for Messenger
- Modernizing Meta’s data platform
- How Precision Time Protocol is being deployed at Meta
- Scaling data ingestion for machine learning training at Meta
- Meta’s cloud gaming infrastructure
- Cache made consistent - How Meta handles cache invalidation
- A highly available, strongly consistent storage service using chain replication
- Making a distributed priority queue disaster-ready
- How we built a general purpose key value store for Facebook with ZippyDB
- Fully Sharded Data Parallel: faster AI training with fewer GPUs
- How Facebook encodes your videos
- Scaling a distributed priority queue at Meta
- How machine learning powers Facebook’s News Feed ranking algorithm
- How Meta scaled Live streaming for millions of viewers simultaneously
2.15 Figma
- The infrastructure behind AI search in Figma
- Speeding up file load times at Figma
- Figma’s LiveGraph: a real-time data system at scale
- How Figma horizontally scaled Postgres to unlock nearly infinit scalability
- How Figma improved performance and load time with incremental frame loading
- How Figma reduced potential instability by scaling to multiple databases
- The hidden challenges of autosave
- Figma’s deep search to find the right files even faster
2.16 Flipkart
- Flipkart’s MySQL Highly Available Setup
- Running a multi-region Zookeeper at Flipkart
- Memory Tuning a High Throughput Microservice
- Building Flipkart’s Personalized Search Autosuggestion
- Predicting your next query even before you type!
- How Flipkart Adapted Search to Indian Phonetics
2.17 GitHub
- How we improved push processing on GitHub
- How GitHub uses merge queue to ship hundreds of changes every day
- How GitHub Docs’ new search works
- The technology behind GitHub’s new code search
- Scaling Git’s garbage collection
- Improve Git monorepo performance with a file system monitor
- Partitioning GitHub’s relational databases to handle scale
2.18 GoDaddy
- How A/B Testing Transformed Product Development at GoDaddy
- AI-Powered Social Media Posts
- Generative AI Domain Search
- How LLMs Are Enhancing GoDaddy’s CMS Experience
- API Gateway at GoDaddy
- Godaddy’s Search Data Infrastructure to find domain names
2.19 Google Research
- Load balancing with random job arrivals
- Transformers in music recommendation
- Scaling multimodal understanding to long videos
- Answering billions of reporting queries each day with low latency
- Grammar checking at Google Search scale
- World scale inverse reinforcement learning in Google Maps
- Resolving code review comments with ML
2.20 Grab
- Grab AI Gateway: Connecting Grabbers to multiple GenAI providers
- Leveraging RAG-powered LLMs for analytical tasks
- ML Model serving platform at Grab
- LLM-powered data classification for data entities at scale
- Enabling near real-time data analytics on the data lake
- The journey of building a comprehensive attribution platform
- Kafka on Kubernetes: Reloaded for fault tolerance
- Sliding window rate limits in distributed systems
- Road localisation in GrabMaps
- Building hyperlocal GrabMaps
- How Grab stores and processes millions of orders daily
- How Kafka Connect helps move data seamlessly at Grab
- Real-time data ingestion in Grab
- How Grab built a scalable, high-performance ad server
- Using real-world patterns to improve driver-rider matching
- Search indexing optimisation at Grab
- How Grab Built its In-house Chat Platform for the Web
2.21 Gusto
- API Versioning At Gusto
- How Gusto tackles AI Hallucinations in LLM Apps
- Platform Engineering at Gusto
- How Gusto simplifies large monoliths
2.22 HashNode
- Hashnode’s Feed Architecture
- Hashnode’s Overall Architecture
- How Hasnode generates personlized feeds that match users’ interest
- Hashnode’s Rate Limiting Architecture
- Building an Event-Driven Architecture at Hashnode
- How Hashnode Sends Mass Personalised Emails using AWS Serverless Technologies
- How Hashnode Leverages Serverless for Backing up Posts
- How Hashnode Built Serverless Audio Blogs wiht AWS
2.23 Hostinger
- How Hostinger Built one of the most advanced LLM-based chat assistants
- How Hostinger Keeps Your Websites Safe
- How Hostinger Deals With DDoS Attacks
2.24 Hotstar
- Scaling Infrastructure for Millions at Hotstar
- Hotstar’s tale of 10x scale up
- Capturing A Billion Emo(j)i-ons
2.25 HubSpot
- How Does Hubspot’s Prediction Engine Score Millions of CRM Objects Daily
- How HubSpot Upgraded a Thousand MySQL Clusters at Once
- Saving Millions on the storage costs of application logs at HubSpot
- Building a Fast, Thread-safe Hotspot Tracking Library
- Cross Datacenter MySql Data Replication
- Supporting Cross-Region Kafka Messaging
- Improving Database Reliability: Preventing Hotspotting with Client-Side Request Deduplication
- Building a Vitess Balancer to Minimize MySQL Downtime
2.26. Instacart
- Real-time Fraud Detection with Yoda and ClickHouse
- How Instacart Uses ML to Suggest Replacements for Out-of-Stock Products
- Sequence models for Contextual Recommendations at Instacart
- Supercharging Discovery in Search with LLMs
- Optimizing search relevance at Instacart using hybrid retrieval
- Instacart’s Item Availability Architecture: Solving for scale and consistency
- Instacart’s one Deep Learning model for multiple surfaces
- Distributed Machine Learning at Instacart
- How Instacart Uses Embeddings to Improve Search Relevance
- The Journey to Real-Time Machine Learning at Instacart
- How Instacart Uses ML-Driven Autocomplete to Help People Fill Their Carts
- How Instacard optimized its Logistics engine using ML
- A simple search query correction heuristic for the resource-constrained
- Predicting the real-time availability of 200 million grocery items
- How Instacart delivers on time
2.27 Instagram
- Scaling the Instagram Explore recommendations system
- Reducing Instagram’s basic video compute time by 94 percent
- Improving Instagram notification management with machine learning and causal inference
- Building text animations for Instagram Stories
- Pushing the limits of compression in Facebook’s mobile apps
- How Instagram suggests new content
2.28 LinkedIn
- Scalable federated learning at LinkedIn
- Building a resilient DNS client for web-scale infrastructure
- Journey of next generation control plane for data systems
- Candidate Generation in a Large Scale Graph Recommendation System
- Accelerating LinkedIn’s My Network tab by reducing latency and improving UX
- Tuning Java for high-performance services
- LinkedIn OpenHouse for Big Data Management
- How LinkedIn Adopted A GraphQL Architecture for Product Development
- How LinkedIn Is Using Embeddings to Up Its Match Game for Job Seekers
- Building the Infrastructure for Delivering Labor Market Insights from LinkedIn Data
- Upscaling LinkedIn’s Profile Datastore While Reducing Costs
- Unifying Messaging Experiences across LinkedIn
- Applying multitask learning to AI models at LinkedIn
- Building a mutable dataset in data lake
- Completing a member knowledge graph with Graph Neural Networks
- Homepage feed multi-task learning using TensorFlow
- Evolving LinkedIn’s analytics tech stack
- Scaling LinkedIn’s Hadoop YARN cluster beyond 10,000 nodes
- HTTP/2 in infrastructure: Ambry network stack refactoring
- Building a heterogeneous social network recommendation system
2.29 Lyft
- From Big Data to Better Data: Ensuring Data Quality with Verity
- Building Real-time Machine Learning Foundations at Lyft
- The Recommendation System at Lyft
- lyft2vec — Embeddings at Lyft
- Powering Millions of Real-Time Decisions with LyftLearn Serving
- Pricing at Lyft
- ML Model Training Infrastructure built on Kubernetes
- Elasticsearch Optimizations at Lyft
- How Lyft discovered OpenStreetMap is the Freshest Map for Rideshare
- Using Client-Side Map Data to Improve Real-Time Positioning
- How Lyft predicts a rider’s destination for better in-app experience
- A New Real-Time Map-Matching Algorithm at Lyft
2.30 Medium
- Taming Post Claps - The Two Billion Claps Bug
- How Medium uses ScyllaDB to build a fast and scalable data layer
- Building a ChatGPT Plugin for Medium
- Fixing duplicate stories in Medium’s For You feed
- Kubernetes Infrastructure At Medium
- How Medium counts your followers
- Scaling Email Infrastructure for Medium Digest
- Mapping Medium’s Tags using ML
- Microservice Architecture at Medium
2.31 Netflix
- Foundation Model for Personalized Recommendation
- How Netflix processes billions of impressions daily
- Netflix’s Distributed Counter Abstraction
- Evolving Netflix’s WebSocket proxy for the future
- Netflix’s Key-Value Data Abstraction Layer
- Netflix’s TimeSeries Data Abstraction Layer
- Recommending for Long-Term Member Satisfaction at Netflix
- Maestro: Data/ML Workflow Orchestrator at Netflix
- Reverse Searching Netflix’s Federated Graph
- Supporting Diverse ML Systems at Netflix
- Rebuilding Netflix Video Processing Pipeline with Microservices
- Building In-Video Search
- Streaming SQL in Data Mesh
- Migrating Netflix to GraphQL Safely
- Scaling Media Machine Learning at Netflix
- Building a Media Understanding Platform for ML Innovations
- Finding Cuts with Smooth Visual Transitions Using Machine Learning
- Machine Learning for Fraud Detection in Streaming Services
- Netflix’s High-Throughput, Low-Latency Priority Queueing System
- Rapid Event Notification System at Netflix
- Building Netflix’s Distributed Tracing Infrastructure
2.32 Notion
- Building and scaling Notion’s data lake
- How we sped up Notion in the browser with WASM SQLite
- The Great Re-shard: adding Postgres capacity (again) with zero downtime
- Creating the Notion API
- The data model behind Notion’s flexibility
- Lessons learned from sharding Postgres at Notion
2.33 PayPal
- Scaling PayPal’s AI Capabilities with PayPal Cosmos.AI Platform
- Scaling Kafka to Support PayPal’s Data Growth
- JunoDB: PayPal’s Key-Value Store
- Scaling Kubernetes to Over 4k Nodes and 200k Pods
- GraphQL at PayPal: An Adoption Story
- How PayPal Uses Real-time Graph Database and Graph Analysis to Fight Fraud
- Next-Gen Data Movement Platform at PayPal
- Deploying Large-scale Fraud Detection Machine Learning Models at PayPal
2.34 Pinterest
- How Pinterest improved Search Relevance using LLMs
- How Pinterest built it’s Text-to-SQL feature
- Change Data Capture at Pinterest
- Real Time Anomaly Detection at Pinterest
- Improving Distributed Caching Performance and Efficiency at Pinterest
- How Pinterest Leverages Realtime User Actions to Boost Homefeed Engagement Volume
- How Pinterest scaled the size of it’s ad corpus by 60x
- The machine learning behind delivering relevant ads
2.35 Quora
- Building Embedding Search at Quora
- Migrating a decade of Redshift usages to Trino at Quora
- Trino at Quora Scale: Cost, Speed, and Reliability
- MySQL sharding at Quora
2.36 Razorpay
- Razorpay’s Authentication Revamp
- The Making of Razorpay Developer-Console
- How Razorpay Reduced Data Platform Cost by $2M
- Reducing Kubernetes cost by $300,000 at Razorpay
- How does Razorpay Capital Detect Duplicate or Fraud Merchants?
- Razorpay’s Real-Time Denormalized Data Streaming Platform
- How Razorpay’s Notification Service Handles Increasing Load
- How Trino and Alluxio power analytics at Razorpay
- Handling Burst Traffic During IPL
2.37 Reddit
- Evolving Reddit’s Media Infrastructure
- Scaling our Apache Flink powered real-time ad event validation pipeline
- Scaling Reddit’s ad-serving system
- Product Candidate Generation for Reddit Dynamic Product Ads
- Scaling Ads Pacing: from Singleton to Sharded
- Introducing a Global Retrieval Ranking Model in the Ads Funnel
- Building an Experiment-Based Routing Service
- The Reddit Media Metadata Store
2.38 Salesforce
- Scaling Real-Time Search to 30 Billion Queries with Sub-Second Latency and 0% Downtime
- Scaling Agentic AI Powering 2 Billion Predictions Monthly
- How Agentforce Data Library Powers RAG with 99.99% Uptime
- Secrets for Managing 100,000 Training and Metadata Requests Per Minute
- Inside the Brain of Agentforce
- How Salesforce Supports Millions of Users Seamlessly for GenAI
- nside Salesforce’s Scalable Time Series Forecasting AI Platform
- How Salesforce’s Data Cloud Handles 250 Trillion Transactions Weekly
2.39 Shopify
- How Shopify improved consumer search intent with real-time ML
- Horizontally scaling the Rails backend of Shop app with Vitess
- Improving Shopify App’s Performance
- Building a ShopifyQL Code Editor
- Creating a Flexible Order Routing System with Shopify Functions
- Using Server Sent Events to Simplify Real-time Streaming at Scale
- Capturing Every Change From Shopify’s Sharded Monolith
2.40 Slack
- How Slack Optimizes its E2E Pipeline
- How Slack built enterprise search to be secure and private
- Advancing Our Chef Infrastructure
- How We Re-Architected Slack for Our Largest Customers
- How Slack autmatically detects stolen session cookies
- How a request flows — from a Slack’s user perspective
- Slack’s Migration to a Cellular Architecture
- Real-time Messaging at Slack
- How Slack traces the flow of notifications across systems
- Slack’s Unified end-to-end machine learning infrastructure to generate recommendations
- How We Design Our APIs at Slack
- How we built an eventually-consistent data model to predict Slack Connect invites
- Migrating Millions of Concurrent Websockets to Envoy
- Scaling Datastores at Slack with Vitess
2.41 Snap
- Bento - Snap’s ML Platform
- Snap’s Embedding-based Retrieval for its video recommendation system
- How Snap Speed Up Feature Engineering for Recommendation Systems
- How Slack leverages synthetic data to boost the development of ML models
- Training Large-Scale Recommendation Models with TPUs
- Machine Learning for Snapchat Ad Ranking
2.42 Spotify
- How Spotify Generated Millions of Content Annotations
- Spotify’s Data Platform
- The What, Why, and How of Mastering App Size
- How Spotify Automated Content Marketing to Acquire Users at Scale
- How We Built Infrastructure to Run User Forecasts at Spotify
2.43 Squarespace
- Why We Built a Write Back Cache for Our Asset Library
- Developing Fluid Engine
- How we use WebGL at Squarespace
- A Better Way to Upload Images
2.44 Stripe
- Stripe’s system for tracking and validating money movement
- How Stripe Processed $1 Trillion in Payments with Zero Downtime
- How Stripe built it’s fraud prevention system
- How Stripe builds interactive docs with Markdoc
- Stripe’s payments APIs: The first 10 years
2.45 Swiggy
- Swiggy’s Text-to-SQL Solution
- Optimising the picking process to enable faster deliveries for Instamart
- Improving search relevance in hyperlocal food delivery using (small) language models
- Predicting Food Delivery Time at Cart
- Contextual Bandits for Ads Recommendations
- Using deep learning to detect dissonance between address text and location
- Designing Resilient Microservices at Swiggy
- Designing the Serviceability Platform at Swiggy for High Scale
- A brief introduction to Engineering challenges at Swiggy
- Re-Architecting Swiggy’s logistics systems
- Using Deep Learning for Ranking in Dish Search
- Learning to Predict Two-Wheeler Travel Distance
- Learning To Rank Restaurants
- Running Geo Queries At Scale
- Building Video Stories and Caching
- Deploying deep learning models at scale at Swiggy
- Decoding Food Intelligence at Swiggy
2.46. Target
- A Deep Dive into Data Replication Mechanisms
- Predictive Modeling for Availability of Inventory
- Contextual Offer Recommendations Engine at Target
- Bundled Product Recommendations at Target
- Target AutoComplete: Real Time Item Recommendations at Target
- Real-Time Personalization Using Microservices
2.47 Timescale
- Document Loading, Parsing, and Cleaning in AI Applications
- Building a RAG System With Claude, PostgreSQL & Python on AWS
- Automating Data Enrichment in PostgreSQL With OpenAI
- Semantic Search With Ollama and PostgreSQL
- PostgreSQL Indexes for Columnstore
- Handling Billions of Rows in PostgreSQL
- Enhancing Text-to-SQL With Synthetic Summaries
- Scale PostgreSQL via Partitioning
2.48 Tinder
- Tinder API Style Guide
- Building Obsidian, Tinder’s Design System
- How Tinder built it’s API Gateway
- Scaling out Tinder Android Payment Flow using State Machine
2.49 Twitch
- Ingesting Live Video Streams at Global Scale
- Breaking the Monolith at Twitch
- Using Machine Learning to Review Emotes
- Defense, threat modeling and High Availability at Twitch
2.50 Uber
- Migrating Uber’s Compute Platform to Kubernetes
- MySQL At Uber
- How Uber Uses Ray® to Optimize the Rides Business
- How Uber Optimizes LLM Training
- Natural Language to SQL Using Gen AI
- Lucene: Uber’s Search Platform
- Uber’s implementation of Live Activity on iOS
- Odin: Uber’s Stateful Platform
- Kafka Tiered Storage at Uber
- Modernizing Logging at Uber with CLP
- How Uber ensures Apache Cassandra®’s tolerance for single-zone failure
- How LedgerStore Supports Trillions of Indexes at Uber
- Balancing HDFS DataNodes in the Uber DataLake
- How Uber Serves Over 40 Million Reads Per Second from Online Storage Using an Integrated Cache
- How Uber Optimized Cassandra Operations At Scale
- How Uber Optimizes the Timing of Push Notifications using ML and Linear Programming
- Deduping and Storing Images at Uber Eats
- Uber’s Next Gen Push Platform on gRPC
- Uber’s Highly Scalable and Distributed Shuffle as a Service
- How Uber Predicts Arrival Times Using Deep Learning
- Real-Time Exactly-Once Ad Event Processing with Apache Flink, Kafka, and Pinot
2.51 Vimeo
- Unlocking knowledge sharing for videos with RAG
- A deep dive into Vimeo’s storage strategy for videos
2.52 Walmart
- Walmart’s Cassandra CDC Solution
- Scaling the Walmart Inventory Reservations API for Peak Traffic
- A Markov Chain Formulation for the Grocery Item Picking Process
- How we rebuilt the Walmart Autocomplete Backend
- Building a Notification Framework for Microservice-based Application
2.53 Twitter (X)
- Twitter’s Recommendation Algorithm
- How we scaled Reads On the Twitter Users Database
- Powering real-time data analytics with Druid at Twitter
- How we built Twitter’s highly reliable ads pacing service
- Storing and retrieving millions of ad impressions per second
- Processing billions of events in real time at Twitter
- Logging at Twitter
- Twitter’s ads serving platform
2.54 Yelp
- Search Query Understanding with LLMs
- Enhancing Neural Network Training at Yelp
- Boosting ML Pipeline Efficiency
- Yelp’s AI pipeline for inappropriate language detection in reviews
- Rebuilding a Cassandra cluster using Yelp’s Data Pipeline
2.55 Zendesk
- Improving job execution by ditching the job executor
- Provisioning Kafka topics the easy way
- Moving from DynamoDB to tiered storage with MySQL+S3
2.56 Zillow
- Leveraging Knowledge Graphs in Real Estate Search
- The Data Infra Behind Zillow’s 3x Growth in Experiment Volume
- Serving Machine Learning Models Efficiently at Scale at Zillow
- Optimizing Elasticsearch for Low Latency, Real-Time Recommendations
2.57 Zomato
- Building a cost-effective logging platform for petabyte scale
- How Zomato Handles 100 Million Daily Search Queries
- How Zomato Powers restaurant ads using ML
- How Zomato uses embeddings to identify and cluster unique addresses
- How Zomato predicts your order’s Food preparation time
- How Zomato locates its users
3. DSA
3.1 Arrays
- Move Zeroes
- Majority Element
- Remove Duplicates from Sorted Array
- Best Time to Buy and Sell Stock
- Rotate Array
- Product of Array Except Self
- Best Time to Buy and Sell Stock II
- Number of Zero-Filled Subarrays
- Increasing Triplet Subsequence
- First Missing Positive
3.2 Strings
- Is Subsequence
- Valid Palindrome
- Longest Common Prefix
- Zigzag Conversion
- Reverse Words in a String
- Guess the Word
3.3 Bit Manipulation
- Single Number
- Number of 1 Bits
- Counting Bits
- Reverse Bits
- Bitwise AND of Numbers Range
- Single Number III
- Sum of Two Integers
3.4 Hash Tables
- Design HashMap
- Maximum Number of Balloons
- Number of Good Pairs
- Isomorphic Strings
- Ransom Note
- Contains Duplicate II
- Group Anagrams
- Encode and Decode TinyURL
- Reorganize String
- Longest Consecutive Sequence
3.5 Two Pointers
- Merge Sorted Array
- Two Sum II - Input Array Is Sorted
- Container With Most Water
- 3Sum
- Trapping Rain Water
3.6 Prefix Sum
- Range Sum Query - Immutable
- Subarray Sum Equals K
- Subarray Sums Divisible by K
- Continuous Subarray Sum
- Contiguous Array
3.7 Sliding Window - Fixed Size
- Maximum Average Subarray I
- Find All Anagrams in a String
- Permutation in String
- Maximum Sum of Distinct Subarrays With Length K
- Substring with Concatenation of All Words
3.8 Sliding Window - Dynamic Size
- Longest Substring Without Repeating Characters
- Longest Repeating Character Replacement
- Minimum Size Subarray Sum
- Max Consecutive Ones III
- Minimum Window Substring
3.9 Kadane’s Algorithm
3.10 Matrix (2D Array)
3.11 Linked List
- Intersection of Two Linked Lists
- Design Linked List
- Remove Nth Node From End of List
- Remove Duplicates from Sorted List II
- Swap Nodes in Pairs
- Copy List with Random Pointer
- Partition List
- Rotate List
- Add Two Numbers
- Flatten a Multilevel Doubly Linked List
3.12 LinkedList In-place Reversal
3.13 Fast and Slow Pointers
3.14 Stacks
- Valid Parentheses
- Remove All Adjacent Duplicates In String
- Min Stack
- Remove Duplicate Letters
- Removing Stars From a String
- Evaluate Reverse Polish Notation
- Basic Calculator II
- Longest Valid Parentheses
3.15 Monotonic Stack
- Next Greater Element I
- Daily Temperatures
- Online Stock Span
- 132 Pattern
- Number of Visible People in a Queue
- Largest Rectangle in Histogram
3.16 Queues
3.17 Monotonic Queue
- Longest Continuous Subarray With Absolute Diff Less Than or Equal to Limit
- Jump Game VI
- Sliding Window Maximum
- Max Value of Equation
3.18 Bucket Sort
3.19 Recursion
3.20 Divide and Conquer
3.21 Merge Sort
3.22 QuickSort / QuickSelect
3.23 Binary Search
- Search Insert Position
- Find First and Last Position of Element in Sorted Array
- Search in Rotated Sorted Array
- Find Peak Element
- Random Pick with Weight
- Koko Eating Bananas
- Find Minimum in Rotated Sorted Array
- Search a 2D Matrix
- Find in Mountain Array
- Median of Two Sorted Arrays
3.24 Backtracking
- Generate Parentheses
- Permutations
- Subsets
- Combination Sum
- Combination Sum II
- Letter Combinations of a Phone Number
- Palindrome Partitioning
- N-Queens
3.25 Tree Traversal - Level Order
- Binary Tree Level Order Traversal
- Binary Tree Right Side View
- Binary Tree Zigzag Level Order Traversal
- Populating Next Right Pointers in Each Node II
- Maximum Width of Binary Tree
3.26 Tree Traversal - Pre Order
- Binary Tree Preorder Traversal
- Same Tree
- Symmetric Tree
- Binary Tree Paths
- Convert Sorted Array to Binary Search Tree
- Count Complete Tree Nodes
- Path Sum III
- Maximum Difference Between Node and Ancestor
- Construct Binary Tree from Preorder and Inorder Traversal
- Construct Binary Tree from Inorder and Postorder Traversal
- Serialize and Deserialize Binary Tree
3.27 Tree Traversal - In Order
- Binary Tree Inorder Traversal
- Minimum Distance Between BST Nodes
- Minimum Absolute Difference in BST
- Validate Binary Search Tree
- Kth Smallest Element in a BST
- Binary Search Tree Iterator
3.28 Tree Traversal - Post-Order
- Binary Tree Postorder Traversal
- Invert Binary Tree
- Diameter of Binary Tree
- Delete Nodes And Return Forest
- Lowest Common Ancestor of a Binary Tree
- Find Duplicate Subtrees
- Flatten Binary Tree to Linked List
- Distribute Coins in Binary Tree
- Binary Tree Maximum Path Sum
3.29 BST / Ordered Set
3.30 Tries
- Implement Trie (Prefix Tree)
- Design Add and Search Words Data Structure
- Search Suggestions System
- Longest Word in Dictionary
- Maximum XOR of Two Numbers in an Array
- Word Search II
3.31 Heaps
3.32 Two Heaps
3.33 Top K Elements
3.34 Intervals
- Merge Intervals
- Insert Interval
- Minimum Number of Arrows to Burst Balloons
- Maximum Number of Events That Can Be Attended
- Non-overlapping Intervals
3.35 K-Way Merge
- Find K Pairs with Smallest Sums
- Kth Smallest Element in a Sorted Matrix
- Merge k Sorted Lists
- Smallest Range Covering Elements from K Lists
3.36 Data Structure Design
- Design Browser History
- Time Based Key-Value Store
- Snapshot Array
- Design Twitter
- LRU Cache
- Insert Delete GetRandom O(1)
- Design a Food Rating System
- Maximum Frequency Stack
3.37 Greedy
- Jump Game II
- Minimum Add to Make Parentheses Valid
- Gas Station
- Task Scheduler
- Minimum Cost to Hire K Workers
- Candy
- Minimum Number of Refueling Stops
3.38 Depth First Search (DFS)
- Number of Islands
- Time Needed to Inform All Employees
- All Paths From Source to Target
- Clone Graph
- Is Graph Bipartite?
- All Nodes Distance K in Binary Tree
- Employee Importance
- Surrounded Regions
- Pacific Atlantic Water Flow
- Making A Large Island
3.39 Breadth First Search (BFS)
- Rotting Oranges
- 01 Matrix
- Open the Lock
- Shortest Path in a Grid with Obstacles Elimination
- Bus Routes
- Word Ladder
3.40 Topological Sort
- Course Schedule II
- Find Eventual Safe States
- Minimum Height Trees
- Sort Items by Groups Respecting Dependencies
3.41 Union Find
3.42 Minimum Spanning Tree
3.43 Shortest Path
- Network Delay Time
- Cheapest Flights Within K Stops
- Path with Maximum Probability
- Path With Minimum Effort
- Swim in Rising Water
3.44 Eulerian Circuit
3.45 1-D DP
3.46 Knapsack DP
3.47 Unbounded Knapsack DP
3.48 Longest Increasing Subsequence DP
3.49 2D (Grid) DP
- Unique Paths II
- Minimum Path Sum
- Triangle
- Count Square Submatrices with All Ones
- Maximum Number of Points with Cost
- Burst Balloons
- Maximum Profit in Job Scheduling
- Cherry Pickup
- Longest Increasing Path in a Matrix
3.50 String DP
- Longest Common Subsequence
- Edit Distance
- Longest Palindromic Subsequence
- Decode Ways
- Word Break
- Interleaving String
- Wildcard Matching
- Distinct Subsequences
- Palindrome Partitioning II
3.51 Tree / Graph DP
- House Robber III
- Unique Binary Search Trees II
- Number of Ways to Arrive at Destination
- Binary Tree Cameras
- Sum of Distances in Tree
3.52 Bitmask DP
- Minimum Number of Work Sessions to Finish the Tasks
- Fair Distribution of Cookies
- Shortest Path Visiting All Nodes
3.53 Digit DP
3.54 Probability DP
3.55 State Machine DP
3.56 String Matching
3.57 Binary Indexed Tree / Segment Tree
3.58 Maths / Geometry
- Palindrome Number
- Reverse Integer
- Factorial Trailing Zeroes
- Valid Square
- Minimum Area Rectangle II
- Max Points on a Line
3.59 Line Sweep
3.60 Suffix Array
4. Low Level Design
4.1 Object Oriented Programming
- 4.1.1 Classes & Objects
- 4.1.2 Interfaces
- 4.1.3 Inheritance
- 4.1.4 Polymorphism
- 4.1.5 Encapsulation
- 4.1.6 Aggregation
- 4.1.7 Composition
- 4.1.8 Association
4.2 Design Principles
4.3 UML
- 4.3.1 Class Diagram
- 4.3.2 Use Case Diagram
- 4.3.3 Sequence Diagram
- 4.3.4 Activity Diagram
- 4.3.5 State Machine Diagram
4.4 Design Patterns - Creational
- 4.4.1 Singleton
- 4.4.2 Factory Method
- 4.4.3 Abstract Factory
- 4.4.4 Builder
- 4.4.5 Prototype
4.5 Design Patterns - Structural
4.6 Design Patterns - Behavioral
- 4.6.1 Iterator
- 4.6.2 Observer
- 4.6.3 Strategy
- 4.6.4 Command
- 4.6.5 State
- 4.6.6 Template Method
- 4.6.7 Visitor
- 4.6.8 Mediator
- 4.6.9 Memento
- 4.6.10 Chain of Responsibility
4.7 LLD Interview Tips
4.8 LLD Interview Questions - Easy
- 4.8.1 Design Parking Lot
- 4.8.2 Design Stack Overflow
- 4.8.3 Design Vending Machine
- 4.8.4 Design Logging Framework
- 4.8.5 Design Coffee Vending Machine
- 4.8.6 Design Task Management System
- 4.8.7 Design Traffic Signal Control System
4.9 LLD Interview Questions - Medium
- 4.9.1 Design ATM
- 4.9.2 Design LinkedIn
- 4.9.3 Design LRU Cache
- 4.9.4 Design Tic Tac Toe
- 4.9.5 Design Pub Sub System
- 4.9.6 Design an Elevator System
- 4.9.7 Design Car Rental System
- 4.9.8 Design Online Auction System
- 4.9.9 Design Hotel Management System
- 4.9.10 Design a Digital Wallet Service
- 4.9.11 Design Airline Management System
- 4.9.12 Design Library Management System
- 4.9.13 Design Restaurant Management System
- 4.9.14 Design Concert Ticket Booking System
- 4.9.15 Design Social Network Service like Facebook
4.10 LLD Interview Questions - Hard
- 4.10.1 Design CricInfo
- 4.10.2 Design Splitwise
- 4.10.3 Design Chess Game
- 4.10.4 Design Snake and Ladder game
- 4.10.5 Design Course Registration System
- 4.10.6 Design Movie Ticket Booking System
- 4.10.7 Design Online Stock Brokerage System
- 4.10.8 Design Ride-Sharing Service like Uber
- 4.10.9 Design Music Streaming Service like Spotify
- 4.10.10 Design Online Shopping Service like Amazon
- 4.10.11 Design Online Food Delivery Service like Swiggy
Last Updated On May 1, 2025