Skip to main content
HireStepX is now in Beta! Be among the first to practice smarter and land your dream role.
Interview Skills

System Design Interview Prep India 2026: 6-Step Framework

System design interview guide India 2026: the 6-step framework, scale estimation, components to draw, common Indian company questions, and mistakes.

Interview Skills3 July 202611 min read read4 sections

System design interviews separate mid-level engineers from senior candidates at Indian product companies. Swiggy, Razorpay, Flipkart, Google India, and Amazon India all conduct system design rounds for senior engineers (5+ years), and the evaluation is not just 'did you design a correct system' but 'do you reason about trade-offs the way a senior engineer at this company would?' This guide covers the 6-step framework, estimation techniques, common questions at Indian companies, and the five most common mistakes that fail candidates.

4 sections

Step 1 (Requirements, 5 minutes): functional requirements ('what does the system do?') and non-functional requirements ('how does the system perform?'). Ask: 'How many DAU?', 'What is the read:write ratio?', 'What is the acceptable latency?', 'Is strong consistency required or is eventual consistency acceptable?', 'Does the system need to be globally distributed or India-only?'. Step 2 (Capacity estimation, 3-5 minutes): daily active users, requests per second (10M DAU x 10 requests/day = 100M req/day = 1,200 req/sec), storage per year (10M posts/day x 1KB = 10GB/day = 3.6TB/year), bandwidth (1,200 req/sec x 10KB/response = 12MB/sec). Round numbers are fine: the exercise demonstrates whether you can reason about scale, not whether you can compute exactly. Step 3 (High-level architecture, 5 minutes): draw the major components (client, load balancer, API servers, databases, cache, message queue, CDN) and the data flow between them. Do not go deep yet. Step 4 (Data model and API design, 5 minutes): define the 2-3 key database tables or document schemas, the primary access patterns (determines index strategy, partitioning key), and the 3-4 most important API endpoints (method, path, request body, response body). Step 5 (Deep dive, 20 minutes): the interviewer picks 2-3 components to go deep on (database partitioning strategy, caching architecture, message queue design, real-time notification system). This is where the real discussion happens. Step 6 (Bottlenecks and trade-offs, 5 minutes): where will the system fail at scale? What are the trade-offs you made (consistency vs availability per CAP theorem)? What would you change if scale grew 10x?

Common system design questions at Indian companies and the key components for each: Swiggy and Zomato: 'Design a real-time food delivery order tracking system' (geolocation updates from driver apps at 1 Hz via WebSocket or SSE; Redis geo-indexing for driver proximity queries; pub/sub notification to customer app; ETA calculation service using weighted graph with traffic data; state machine for order lifecycle: placed, confirmed, preparing, picked up, delivered). 'Design the Swiggy Instamart 10-minute delivery system' (micro-fulfilment centre (MFC) inventory management; order batching for dark store picker; optimisation: which MFC serves which pincode; real-time inventory depletion handling at high write volume). Razorpay and PhonePe: 'Design a UPI payment processing system' (exactly-once payment semantics with idempotency keys; state machine for payment lifecycle: INITIATED, DEBIT_PENDING, DEBIT_SUCCESS, CREDIT_PENDING, CREDIT_SUCCESS, FAILED; bank API integration with timeout and retry handling; reconciliation batch job). Flipkart: 'Design the Big Billion Days flash sale system' (inventory reservation at 1M requests/minute without overselling: Redis DECR atomic operation for available inventory; virtual waiting room to prevent thundering herd; optimistic locking for order creation vs Redis atomic decrement trade-offs; database sharding by product_id).

Database design concepts tested at senior level: Sharding (horizontal partitioning of a database across multiple nodes; choosing a sharding key: user_id for user data (hot users = hot shards problem), created_at for time-series data (all writes go to the latest shard), consistent hashing to distribute keys across a ring of nodes with minimal rehashing when nodes are added or removed). Replication (primary-replica replication for read scaling: reads go to any replica, writes go to the primary; replication lag and how it affects consistency: a user who just wrote data may not see it immediately on a replica; synchronous vs asynchronous replication: synchronous guarantees durability but adds latency to every write). ACID vs BASE (ACID: Atomicity, Consistency, Isolation, Durability; the property of relational databases; BASE: Basically Available, Soft state, Eventually consistent; the property of distributed NoSQL systems like Cassandra and DynamoDB). CAP theorem (a distributed system can only guarantee two of three: Consistency (every read gets the most recent write), Availability (every request gets a response), Partition Tolerance (system continues operating despite network splits); CP systems: HBase, ZooKeeper; AP systems: Cassandra, DynamoDB; real-world: most systems tune consistency vs availability dynamically based on operation). Index design (B-tree indexes for range queries; hash indexes for exact match; composite indexes: column order matters (the leftmost prefix principle); covering indexes: all columns in the query are in the index, avoiding a table lookup; partial indexes: index only a subset of rows to reduce index size).

Caching architecture depth: Cache-aside pattern (the application reads from cache; on cache miss, reads from database, writes to cache; on cache write, updates database and invalidates or updates cache; Redis is the standard implementation at Indian product companies). Cache invalidation strategies (TTL (Time To Live) based expiry: simple but may serve stale data; event-based invalidation: on database write, publish a cache invalidation event to a pub/sub system; write-through cache: write to cache and database simultaneously; write-behind cache: write to cache first, asynchronously persist to database). Cache sizing (the 80/20 rule: 20% of the data typically accounts for 80% of reads; cache that 20%; for a system with 10M daily active users and 100 bytes of session data each, 1M concurrent sessions x 100 bytes = 100MB Redis cache: trivial to size). Message queue architecture: Kafka vs RabbitMQ vs SQS (Kafka: high-throughput log-based message queue for event streaming at millions of events per second; good for analytics and event sourcing; consumers can re-read old messages by resetting the offset. RabbitMQ: lower-throughput but feature-rich message broker with flexible routing (exchange patterns: direct, topic, fanout, headers); good for task queues and RPC patterns. AWS SQS: managed message queue; Standard (at-least-once delivery, best-effort ordering) vs FIFO (exactly-once delivery, strict ordering at lower throughput; 300 messages/second limit per queue). Idempotent consumer pattern (since Kafka and SQS standard both guarantee at-least-once delivery, every consumer must be idempotent: processing the same message twice must produce the same result as processing it once; use idempotency keys in the database insert).

Frequently asked questions

What is the most common mistake in system design interviews at Indian companies?

The top 5 system design mistakes: (1) Jumping to the database schema without understanding requirements: spending 15 minutes drawing tables before establishing how many users the system serves. Scale changes every architectural decision. (2) Using a single database for everything without discussing partitioning: a Postgres database cannot handle 1M writes per second without sharding, replication, and caching. If you propose one DB for the entire system and stop there, you have failed to address scale. (3) Ignoring failure modes: what happens when the cache is empty? What happens when the primary database goes down? What happens when the message queue is backlogged? Systems that handle only the happy path are not production-ready. (4) Over-engineering for a simple problem: designing a Kafka streaming pipeline for a URL shortener is a red flag. Match architecture complexity to problem complexity. (5) Not asking clarifying questions: going 20 minutes without confirming whether the system needs strong consistency or eventual consistency, or whether it is read-heavy or write-heavy.

How long should each section of a system design interview take?

Recommended time allocation for a 45-minute system design interview: Requirements clarification: 5-7 minutes (do not rush; ambiguous requirements lead to wrong designs). Capacity estimation: 3-5 minutes (order-of-magnitude arithmetic; use round numbers). High-level architecture: 5-7 minutes (draw the boxes, explain the data flow, check with the interviewer before going deep). Data model and API: 5-7 minutes (focus on access patterns, not exhaustive schema). Deep dive on critical components: 15-20 minutes (let the interviewer guide which components to go deep on; this is where the real discussion happens). Bottlenecks and trade-offs: 3-5 minutes (wrap up with what you would do differently at 10x scale and what trade-offs you made). The framework is a guide, not a rigid script: flexibility and responsiveness to the interviewer's interests is as important as covering all six steps.

How do I practise system design for Indian tech company interviews?

Effective system design preparation: (1) Study 5-6 problems in depth rather than 20 problems superficially. For each: draw the architecture yourself, identify the bottlenecks at each scale tier, and articulate the trade-offs you would make. Good starting problems: URL shortener, rate limiter, distributed message queue, Twitter/X feed, Uber/Ola ride matching. (2) Read Indian engineering blogs: Swiggy Engineering (Medium), Razorpay Engineering (Medium), CRED Engineering (Medium), Flipkart Tech (Medium), PhonePe Tech. These blogs describe the actual scale and technical decisions made at your target company: reading them is both preparation and research for 'why do you want to work here?' questions. (3) Mock system design interviews: Pramp (free), Interviewing.io (paid), or with a peer. System design interviews require real-time verbal explanation; reading alone does not prepare you for the cognitive load of drawing a diagram, talking, and responding to questions simultaneously. (4) Watch system design interviews on YouTube (Alex Xu's 'Hello Interview' channel, Gaurav Sen's system design videos) to calibrate the right depth and vocabulary.

What is the difference between system design interviews at product companies vs IT services companies in India?

Indian product companies (Swiggy, Razorpay, Flipkart, Google India): system design rounds are a major part of the interview for mid and senior engineers. The evaluation is deep: the interviewer probes bottlenecks, trade-offs, failure scenarios, and specific implementation details (how does your sharding strategy handle a hot shard?). Strong system design performance is a primary signal for senior hiring decisions. Indian IT services companies (TCS, Infosys, Wipro, Accenture India): system design rounds are less common and less rigorous, particularly at junior and mid levels. The focus is on delivering client requirements within a defined architecture rather than designing novel systems from scratch. System design skills matter more for senior (L5+) roles and are tested primarily for client-facing solution architect roles rather than delivery engineer roles. Preparation intensity should match the company type: deep system design preparation is a high-ROI investment for product company roles and less critical for IT services roles at equivalent experience levels.

Explore more

Continue reading

All posts

Practice

Know the answer. Now say it.

Preparing for system design interviews in India? Use HireStepX to practise with AI voice coaching and get instant scored feedback on your system design reasoning. First 2 sessions free.