System Design Interview Questions India 2026

System Design Interview Questions India 2026

Pranjal Jain Pranjal Jain  |  May 18, 2026  |  25 min read

System design is the highest-weighted round at senior SDE, SDE-2, and SDE-3 levels across Indian tech companies. A poor DSA round might get you rejected from one offer — a poor system design round gets you rejected from every offer you chase. This guide covers the complete framework, all 20+ most-asked design problems, theory fundamentals, and India-specific fintech/e-commerce context you won't find elsewhere.

🇮🇳
India Context

Questions in Indian companies blend global patterns (URL shortener, Twitter) with local flavor: UPI payment systems, Aadhaar-linked KYC, IRCTC-scale flash sales, Zomato real-time delivery, and Jio CDN at 400M+ users. Know both.

What System Design Interviews Actually Test

Interviewers don't want the "right" architecture — they want to see how you think. The evaluation is across 5 dimensions:

🎯

Requirements Clarity (20%)

Do you ask the right clarifying questions? Functional vs non-functional. DAU, QPS, storage estimation.

🏗️

High-Level Design (25%)

Can you draw a clean architecture diagram with clear component responsibilities and data flows?

🔬

Deep Dive (30%)

When probed, can you explain the internals: DB schema, API contracts, consistency model, sharding strategy?

⚖️

Trade-offs (15%)

SQL vs NoSQL, consistency vs availability, monolith vs microservices — do you know when and why?

📈

Scale & Bottlenecks (10%)

Where does your design break at 10x traffic? How would you fix it with caching, sharding, queues?

The 5-Step System Design Framework

Use this exact framework for every system design problem. Practice until it's muscle memory.

Step 1
Clarify Requirements
5 minutes
Step 2
Estimate Scale
5 minutes
Step 3
High-Level Design
15 minutes
Step 4
Deep Dive
20 minutes
Step 5
Bottlenecks & Trade-offs
10 minutes

Step 1 — Clarify Requirements

Never start designing without asking these:

Step 2 — Back-of-Envelope Estimation

MetricFormulaExample (100M DAU)
Read QPSDAU × reads/day ÷ 86400100M × 10 ÷ 86400 ≈ 11,500 QPS
Write QPSDAU × writes/day ÷ 86400100M × 1 ÷ 86400 ≈ 1,150 QPS
Storage / yearwrites/day × record_size × 365100M × 500B × 365 ≈ 18 TB/yr
Bandwidth (read)Read QPS × response_size11,500 × 1 KB ≈ 11.5 MB/s
Cache needed20% hot data rule18 TB × 20% ≈ 3.6 TB

System Design Fundamentals You Must Know

CAP Theorem

A distributed system can guarantee at most 2 of 3: Consistency (all nodes see same data), Availability (every request gets a response), Partition Tolerance (system works despite network failures). Since partitions are inevitable in any real distributed system, you choose between CP or AP:

🔒

CP Systems

Consistent + Partition Tolerant. May return errors during partition. Examples: HBase, Zookeeper, etcd. Use for financial data, inventory counts.

AP Systems

Available + Partition Tolerant. May return stale data during partition. Examples: Cassandra, DynamoDB, Couchbase. Use for social feeds, product catalog.

Consistent Hashing

When you add/remove servers in a traditional hash (key % N), almost all keys remap — causing massive cache misses. Consistent hashing places servers and keys on a virtual ring. Only K/N keys remap when a server is added/removed (where K = keys, N = servers). Used in: distributed caches (Redis Cluster), CDN routing, Cassandra partitioning.

// Consistent Hash Ring — conceptual implementation class ConsistentHashRing { private TreeMap<Integer, String> ring = new TreeMap<>(); private int virtualNodes = 150; // replicas per server addServer(String server) { for (int i = 0; i < virtualNodes; i++) { int hash = hash(server + "-vnode-" + i); ring.put(hash, server); } } getServer(String key) { int hash = hash(key); // clockwise lookup: ceiling = first server ≥ hash Map.Entry<Integer, String> entry = ring.ceilingEntry(hash); return entry != null ? entry.getValue() : ring.firstEntry().getValue(); } }

Database Selection Guide

ScenarioBest ChoiceWhy
User profiles, transactionsPostgreSQL / MySQLACID, complex joins, strong consistency
Social feed, timelinesCassandraWide-column, high write throughput, AP
Product catalog, contentMongoDBFlexible schema, document model
Session, rate limit countersRedisIn-memory, atomic ops, TTL support
Full-text searchElasticsearchInverted index, ranking, fuzzy search
Time-series (metrics, logs)InfluxDB / TimescaleDBOptimized for sequential writes, rollup queries
Graph relationships (friends, recs)Neo4j / NeptuneNative graph traversal, BFS/DFS at scale
Large files, mediaS3 / GCS / MinIOObject storage, cheap, CDN-integrated

Key Scalability Patterns

🗄️

Caching (L1/L2/CDN)

Redis/Memcached for hot data. Cache-aside, write-through, write-back. Cache invalidation is the hardest problem.

📨

Message Queues

Kafka for high-throughput event streaming. RabbitMQ for task queues. Decouple producers/consumers, enable async processing.

🔀

Database Sharding

Horizontal partitioning by user_id, geo, or date. Consistent hashing for even distribution. Watch out for hot shards.

📖

Read Replicas

Master for writes, N read replicas for reads. Eventual consistency. Typical read:write ratio at scale is 100:1.

🌐

CDN

Push static content to edge nodes (Cloudflare, Akamai). Reduce latency from 300ms to 30ms. Critical for media-heavy apps.

⚙️

Load Balancing

Round-robin, least-connections, IP hash. Layer 4 vs Layer 7. Sticky sessions for stateful services.

System Design Problem Frequency by Company

Design ProblemGoogleAmazonFlipkartZomato/SwiggyPaytm/PhonePe
URL Shortener★★★★★★★★★☆★★★☆☆★★☆☆☆★★☆☆☆
Social Media Feed (Twitter)★★★★★★★★★☆★★★☆☆★★★☆☆★★☆☆☆
Ride-Sharing (Uber)★★★★☆★★★☆☆★★★☆☆★★★★★★★★☆☆
Video Streaming (Netflix)★★★★★★★★★★★★★★☆★★☆☆☆★★☆☆☆
Chat (WhatsApp)★★★★★★★★★☆★★★☆☆★★★☆☆★★★☆☆
Payment System / UPI★★★☆☆★★★★☆★★★★☆★★★★☆★★★★★
Rate Limiter★★★★★★★★★★★★★★☆★★★☆☆★★★★★
Notification System★★★★☆★★★★★★★★★★★★★★★★★★★★
E-Commerce Search★★★☆☆★★★★★★★★★★★★★☆☆★★★☆☆
Real-Time Location★★★★☆★★★☆☆★★★☆☆★★★★★★★★☆☆

Top 20 System Design Problems With Solutions

1. URL Shortener (like bit.ly)

Scale: 100M URLs shortened/day, 10B redirects/day (100:1 read:write ratio)

Core Components:

Key Trade-off: 301 (permanent) redirect lets browsers cache and skip your servers entirely — better for performance. 302 (temporary) redirect forces all requests through your servers — needed for click analytics.

💡
Interview Tip

Interviewers love asking: "How do you handle custom URLs like bit.ly/my-brand?" Add a custom_alias column, check uniqueness before write, and reject duplicates with 409 Conflict.

2. Twitter / Social Media Feed

Scale: 300M DAU, 500M tweets/day, 28K tweet QPS at peak

The core challenge is feed generation. Two approaches:

ApproachHow It WorksProsCons
Fan-out on Write (Push)When user tweets, immediately push to all followers' feed cachesInstant feed reads, O(1) readCelebrity with 10M followers = 10M writes per tweet
Fan-out on Read (Pull)Merge timelines of followed users on readNo write amplificationSlow reads, high latency for active users
Hybrid (Twitter actual)Push for regular users, pull for celebrities (>10K followers)Best of both worldsComplex implementation

3. WhatsApp / Chat System

Scale: 2B users, 100B messages/day (1.16M messages/second)

Key Decisions:

4. Netflix / Video Streaming

Scale: 238M subscribers, 15% of global internet traffic, 1B+ hours watched/day

5. Uber / Ride-Sharing

Scale: 5M trips/day, 93M MAU, 3.5M drivers

// Geohash-based driver lookup class DriverMatcher { private Redis redis; findNearbyDrivers(double lat, double lon, int radiusKm) { // Redis GEORADIUS command — O(N+log(N)) where N = nearby members List<Driver> candidates = redis.georadius( "drivers:online", lat, lon, radiusKm, "km", "WITHCOORD", "WITHDIST", "COUNT", 50, "ASC" ); return candidates.stream() .filter(d -> d.isAvailable() && d.rating >= 4.5) .sorted(Comparator.comparing(d -> d.eta)) .limit(5) .collect(Collectors.toList()); } }

6. Rate Limiter

Algorithms Compared:

AlgorithmHowProsCons
Token BucketBucket refills at fixed rate; each request consumes a tokenAllows bursts, simpleBurst at boundary edge
Leaky BucketQueue requests; process at constant rateSmooth output rateDrops if queue full
Fixed WindowCount per fixed time window (e.g., 100/minute)SimpleDouble-rate at window edge
Sliding Window LogLog each request timestamp; count in last N secondsPreciseHigh memory usage
Sliding Window CounterWeighted sum of current + previous windowLow memory, accurateSlightly approximate

Redis implementation with sliding window counter:

-- Redis Lua script: sliding window counter local key = KEYS[1] local now = tonumber(ARGV[1]) local window = tonumber(ARGV[2]) -- 60000 ms local limit = tonumber(ARGV[3]) -- 100 -- Remove expired entries from sorted set redis.call('ZREMRANGEBYSCORE', key, 0, now - window) -- Count remaining requests local count = redis.call('ZCARD', key) if count < limit then redis.call('ZADD', key, now, now) -- add current timestamp redis.call('EXPIRE', key, math.ceil(window/1000)) return 1 -- allowed end return 0 -- rate limited

7. Notification System

Scale: 10M notifications/day, support push (FCM/APNs), SMS (Twilio), email (SES), in-app

8. E-Commerce Search (Flipkart / Amazon)

Scale: 500M products, 50M searches/day, results in under 100ms

9. Payment System / UPI (India-Specific)

Scale: 10B UPI transactions/month (Paytm/PhonePe combined), 2000 TPS at peak festivals

🏦
India-Specific Context

UPI flows: Payer App → NPCI Switch → Payee Bank. Every transaction requires PSP (Payment Service Provider) registration with NPCI. Two-factor auth = UPI PIN + device binding. Idempotency is mandatory — NPCI can send duplicate callbacks.

10. Real-Time Analytics Dashboard

30 Most-Asked Design Problems by Category

Google/Amazon
URL Shortener
Medium
Google/Meta
Social Media Feed
Hard
Google/Amazon
Web Crawler
Hard
Google/Amazon
Search Autocomplete
Medium
Zomato/Ola
Ride-Sharing
Hard
All Companies
Rate Limiter
Medium
Netflix/Hotstar
Video Streaming
Hard
Meta/WhatsApp
Chat System
Hard
Paytm/PhonePe
Payment System
Hard
Flipkart/Amazon
E-Commerce Search
Hard
All Companies
Notification System
Medium
Google/Amazon
Distributed Cache
Medium
Google
Google Drive / S3
Hard
Amazon/Flipkart
Flash Sale System
Hard
Zomato/Swiggy
Food Delivery
Hard
Amazon
Distributed Job Scheduler
Hard
Atlassian
Collaborative Docs
Hard
CRED/Paytm
Leaderboard System
Medium
Amazon/Flipkart
Inventory System
Medium
All Companies
API Gateway
Medium
Hotstar
Live Streaming Platform
Hard
PhonePe/Paytm
Fraud Detection
Hard
Google Maps
Maps / Navigation
Hard
Meesho/Amazon
Recommendation Engine
Hard
Amazon/Flipkart
Order Management
Medium
Google
Gmail / Email System
Hard
LinkedIn
Newsfeed / LinkedIn Feed
Hard
Hotstar/Netflix
CDN Design
Medium
Juspay/Razorpay
Payment Gateway
Hard
Zepto/Swiggy
Quick Commerce (10-min delivery)
Hard

Microservices vs Monolith — When to Use What

FactorMonolithMicroservices
Team Size< 10 engineers50+ engineers, multiple teams
Stage0→1 (startup)1→N (scale)
DeploymentSimple, one unitComplex, per-service CI/CD
DataShared databaseDatabase per service
ScalabilityScale everything togetherScale hot services independently
Failure IsolationOne bug can crash allCircuit breakers limit blast radius
Real ExamplesEarly Zomato, CRED MVPAmazon, Flipkart, Paytm at scale

7 Common Mistakes in System Design Interviews

Jumping to Solution

Spending <2 min on requirements. Always clarify scale, latency SLA, and consistency requirements first.

Over-Engineering

Adding Kafka, Redis, Elasticsearch, and Kubernetes to a 10K DAU system. Start simple, scale when needed.

No Bottleneck Analysis

Not identifying where the system breaks at 10x load. Always ask: what's the single point of failure?

Forgetting Data Model

Drawing components without specifying DB schema. Interviewers want to see your DB design thinking.

Handwaving Trade-offs

"We'll use Kafka for reliability" — why not Redis? Why not SQS? Know your trade-offs.

One-Size-Fits-All DB

Using MySQL for everything. Show you know when to use NoSQL, time-series, or graph databases.

Compensation Data — System Design Skills Premium (India 2026)

Engineers who pass system design rounds command significantly higher packages. The "system design tax" is real:

SDE-1 (no system design)₹12–25 LPA
SDE-2 (system design required)₹25–60 LPA
SDE-3 / Staff (complex system design)₹60–150 LPA
Principal / Architect₹120–300 LPA

3-Month System Design Mastery Plan

MonthFocusResourcesGoal
Month 1FundamentalsDesigning Data-Intensive Apps (Kleppmann), System Design Primer (GitHub)Master CAP, consistent hashing, DB selection, caching strategies
Month 2Classic ProblemsGrokking System Design, ByteByteGo, YouTube channelsDesign URL shortener, Twitter, Uber, WhatsApp, Netflix from scratch
Month 3Mock InterviewsPrepflix, Exponent, Pramp, peer practice2 mock system design sessions/week, get feedback, iterate

Practice System Design With Real Interviewers

Mock interviews with ex-Amazon, Google, Flipkart engineers. Get feedback on your architecture diagrams, trade-off reasoning, and communication skills.

Start Free Trial →

Frequently Asked Questions

How long is a system design interview in India?
Typically 45–60 minutes. Use 5 min for requirements, 5 min for scale estimation, 15 min for high-level design, 20 min for deep dive, and 10 min for bottlenecks and Q&A.
Do I need to draw diagrams in the interview?
Yes, always. Draw components (client, load balancer, API servers, caches, DB, message queue, CDN) with labeled arrows showing data flow. For virtual interviews, use the collaborative whiteboard provided (Excalidraw, Miro, or the platform's built-in tool).
What's the difference between system design and LLD interviews?
System design (HLD) = big picture: components, scale, trade-offs. LLD (machine coding) = class diagrams, design patterns, clean code. Senior roles need both. SDE-1 roles may only need LLD.
How important is it to memorize specific architectures?
Don't memorize — understand. Interviewers will ask follow-up questions and change requirements. Understanding the why behind each component lets you adapt. A good engineer can design a novel system; a memorizer gets stuck when the question changes slightly.
Should I mention specific cloud services (AWS, Azure, GCP) in my answers?
Yes, mentioning AWS S3 for object storage or AWS SQS for queuing shows practical experience. But always explain the underlying concept first, then map to a cloud service. Interviewers want to know you understand distributed systems, not just AWS console navigation.
Pranjal Jain

Pranjal Jain

IIT Kanpur alumnus. Helped 2,000+ engineers crack system design rounds at Amazon, Flipkart, Zomato, and fintech unicorns. Founder of Prepflix — India's #1 tech interview prep platform.

← DP Interview Guide Machine Coding Guide →
Practice System Design Free →