System Design Interview Questions 2026
38 System Design interview questions from Amazon, PayU, Google, Meta. All difficulty levels, all roles. Upvoted by engineers who were asked them.
System Design Questions by Company
Amazon (3)
Design a distributed rate limiter that can handle 10M requests per second across multiple data centers. Discuss consistency tradeoffs, the choice between token bucket vs leaky bucket, and how you would handle clock skew across regions.
Given a directed graph representing service dependencies, detect all strongly connected components and explain how this maps to identifying circular dependencies in a microservices architecture.
Design a notification system (push/email/SMS) that sends 10 million notifications per day to users across time zones with delivery guarantees.
PayU (1)
PayU wants to run A/B tests on the checkout button colour and payment method ordering to improve conversion rates. As the frontend engineer, how would you design the experimentation infrastructure: flag evaluation, consistent user bucketing, avoiding layout shift between variants, and measuring the right success metrics?
Google (4)
Design a URL shortening service (like bit.ly) that handles 1 billion shortened URLs and 100K redirects per second.
Design an autocomplete/typeahead system for a search engine handling 100K queries per second. Discuss the trie-based approach, how you would rank suggestions, and how you would keep the trie updated with trending queries without hurting read latency.
Given a large dependency graph of build targets, design an algorithm to compute the minimal set of targets that need to be rebuilt after a file changes, and explain how you would parallelize the rebuild across workers respecting dependency order.
Design a URL shortener that must handle 100M new URLs per day and 10x that in reads. Walk through your ID generation strategy and why a simple auto-increment counter breaks at this scale.
Meta (2)
Design Instagram feed — a user follows 500 people, each posts 2-3 times daily. How do you generate and serve a personalized, ranked feed at scale?
Design the "who viewed your profile" feature for a professional network with 500M users. Discuss write amplification, retention policy, and privacy controls for who can see the data.
Stripe (5)
Design a distributed rate limiter that works across 100 API servers. A user is allowed 1000 requests per minute.
Explain idempotency keys in a payments API. What specific failure mode do they prevent, and how would you design the storage layer for them so they don't become a bottleneck?
Design a webhook delivery system that must guarantee at-least-once delivery to customer endpoints, with retries and backoff, without letting one slow customer endpoint block delivery to others.
How would you test a payments API endpoint for race conditions where two simultaneous requests might both succeed at deducting from the same account balance?
Design a double-entry ledger system for tracking money movement between accounts. Why is this pattern preferred over simply updating a balance column, especially for auditability?
Lyft (1)
Design a ride-sharing location tracking system. 10 million drivers update their GPS location every 5 seconds. How do you store and query nearby drivers efficiently?
Goldman Sachs (1)
Your company needs 99.99% uptime for a critical web application. How do you architect a multi-region active-active setup on AWS?
LTIMindtree (5)
Explain the architecture of your Java application on GCP.
If data volume increases significantly, how would you modify your service architecture?
How would you design a highly scalable and reliable application on GCP?
If an entire zone becomes unavailable, how would you ensure no data loss?
Design a caching layer for a product catalog service that serves 50,000 reads/sec with occasional price updates. Walk through your cache invalidation strategy.
Netflix (2)
Design the video encoding pipeline that takes a raw uploaded file and produces multiple bitrate/resolution variants for adaptive streaming. How do you make this fault-tolerant and cost-efficient at scale?
One microservice in your call chain has started responding slowly (not failing, just slow). Explain how a circuit breaker and a timeout differ in protecting the rest of the system, and why you often need both.
Airbnb (1)
Design the booking system for a home-rental marketplace, ensuring two guests can never double-book the same property for overlapping dates under concurrent requests.
Microsoft (2)
Design the "presence" feature in Teams/Slack — showing whether a user is online, away, or in a meeting — that scales to tens of millions of concurrent users with near real-time updates.
Design a notification system that can send push, email, and SMS, where a user's preferences determine which channels are used, and a failed channel should fall back to another.
Apple (1)
Design an offline-first note-taking app that syncs across a phone, tablet, and laptop, resolving conflicts when the same note was edited on two devices while offline.
LinkedIn (1)
Design the news feed ranking pipeline for a professional network. How do you balance freshness, relevance, and diversity of content sources without the feed feeling stale or repetitive?
Uber (3)
Design the rider-driver matching system for a ride-hailing app. How would you balance minimizing rider wait time against fairness in driver earnings distribution?
You need to find all available drivers within a 3km radius of a rider efficiently, with millions of driver location updates per second. What indexing structure would you use and why not a naive distance calculation over all drivers?
Design a rate limiter for a public API that must work correctly across multiple application server instances, not just per-instance.
Salesforce (1)
Design a multi-tenant database architecture for a CRM SaaS product with 100,000 customers, where each customer's data must be strictly isolated but the schema is largely shared. Compare separate databases per tenant vs. shared schema with a tenant_id column.
Atlassian (3)
Design the data model for a Kanban board (like Trello/Jira) supporting boards, columns, and cards, where cards can be reordered within and across columns efficiently without renumbering every card on each move.
Design the search feature for a workspace tool (like Confluence) that indexes millions of documents across thousands of teams, ensuring users only see search results from spaces they have permission to view.
Design the "recently viewed items" feature for a project management tool, capped at the last 20 items per user, updated in real time across tabs.
Grab (2)
Design the driver-passenger matching system for a ride-hailing app operating across Southeast Asia, where network connectivity is inconsistent in parts of the region. How does that constraint change your design versus a similar system in a market with reliable connectivity?
Design a dynamic (surge) pricing system that adjusts fares in near real-time based on local supply and demand, without causing prices to flicker wildly for a rider mid-booking.
Practice these questions with AI feedback
Get instant grading on your answers, identify your weak areas, and generate a personalised 14-day study plan — all free.
Build my study plan →