System Design Interview for Beginners: India Guide with 10 Practice Problems (2026)
162 applications per offer, 2026 average.
Advertisement
If you've been applying to product-based companies in India like Amazon, Flipkart, Google, Microsoft, or startups like CRED, Razorpay, and Swiggy, you've probably heard the term "system design interview" thrown around. And if you're a fresher or someone with less than 2 years of experience, you might be wondering: "Will I be asked system design questions? And if yes, how do I even prepare for something I've never done at work?"
This guide is written specifically for Indian job seekers who are just starting their system design preparation journey. We'll break down what system design interviews are, when you'll face them, the difference between HLD and LLD, a simple framework to approach any problem, 10 practice problems with solution outlines, and resources to help you crack these interviews.
When Are System Design Interviews Asked?#
Traditionally, system design interviews are part of the hiring process for mid-level to senior engineers (typically 2+ years of experience). The reason is simple: these questions test your ability to design large-scale systems, which requires real-world experience with architecture, databases, APIs, and scalability.
However, Indian product companies have started asking system design questions to freshers too, especially at companies like:
- Amazon India (SDE-1 role, for select candidates with strong DSA performance)
- Google India (L3 role, sometimes includes basic design discussion)
- Flipkart (SDE-1, especially for candidates from top colleges)
- Microsoft (SDE role, basic HLD questions)
- Startups like CRED, Razorpay, Phonepe, Zepto (engineering roles, even for freshers with strong internship experience)
Even if you're a fresher, you should at least understand the basics of system design. Why? Because:
- It shows you think beyond just "writing code" - you understand how systems work at scale.
- It sets you apart from other candidates who only prepare DSA.
- Many interviewers will ask lightweight design questions like "How would you design a URL shortener?" even in DSA rounds.
Bottom line: If you're targeting product-based companies, start learning system design from day one. You might not get a full 45-minute system design round as a fresher, but you'll definitely face design-related questions.
HLD vs LLD: What's the Difference?#
In India, you'll often hear two terms: HLD (High-Level Design) and LLD (Low-Level Design). Let's break them down.
High-Level Design (HLD)
HLD is about architecture and component design. You're not writing code - you're drawing boxes and arrows to show how different parts of a system talk to each other.
Example question: "Design WhatsApp."
What you'll do in HLD:
- Identify components: User service, Chat service, Message queue, Database, Notification service
- Decide on database choices: SQL for user data, NoSQL (Cassandra) for messages
- Add caching layer (Redis) for online users
- Show load balancers, API gateways, CDN for media files
- Discuss scalability: How will it handle 1 billion users? Sharding? Replication?
Key skills tested: System thinking, scalability, trade-offs, component interaction.
Low-Level Design (LLD)
LLD is about class diagrams, object-oriented design, and code structure. You're designing the internal logic of a component.
Example question: "Design a parking lot system."
What you'll do in LLD:
- Define classes: ParkingLot, Floor, Spot, Vehicle, Ticket
- Write relationships: A ParkingLot has multiple Floors, each Floor has multiple Spots
- Implement methods:
parkVehicle(),removeVehicle(),calculateFee() - Apply design patterns: Factory pattern for vehicle types, Singleton for ParkingLot
- Write pseudo-code or actual code in Java/Python/C++
Key skills tested: Object-oriented programming (OOP), design patterns, code structure, SOLID principles.
Which one is more important? Both. But for freshers, LLD is more common because it tests your OOP fundamentals. For 2+ years experienced candidates, HLD is critical because it tests your ability to design scalable systems.
AI mock interview
Practice with AI that asks what Google, Amazon, TCS, and Infosys actually ask, then shows you exactly where your answer lost the room.
The 5-Step Framework for Any System Design Question#
Whether you're designing Netflix or a parking lot, follow this simple framework. It works for both HLD and LLD.
Step 1: Clarify Requirements (Functional + Non-Functional)
Never jump straight into designing. First, ask clarifying questions.
Functional requirements: What should the system do?
- Example: For a URL shortener, "Should it generate custom short URLs or random ones? Should it expire after some time?"
Non-functional requirements: How should the system behave?
- Scale: How many users? How many requests per second?
- Latency: Should it be real-time or near real-time?
- Availability: 99.9% uptime?
- Consistency: Strong or eventual consistency?
Pro tip: Interviewers love candidates who ask smart questions. It shows you think like an engineer, not just a coder.
Step 2: Back-of-the-Envelope Estimation
Do some quick math to understand the scale.
Example: Design a URL shortener.
- Assume 100 million URLs generated per month
- Read:Write ratio = 100:1 (people click more than they create)
- That's 100M writes/month = ~40 writes/second
- Reads = 40 * 100 = 4000 reads/second
- Storage: 100M URLs * 500 bytes = 50 GB/month
- For 10 years: 50 GB * 12 * 10 = 6 TB
This math tells you:
- You need a distributed database (6 TB won't fit on one machine)
- You need caching (4000 reads/second needs fast lookups)
- You need horizontal scaling (40 writes/second is manageable, but plan for growth)
Why this step matters: It shows you understand scale. Many freshers skip this and jump straight to "use MySQL" without knowing if MySQL can even handle the load.
Step 3: High-Level Design (Draw the Boxes)
Now draw the architecture. Start simple, then add complexity.
For URL shortener:
- Client → Load Balancer → API Gateway
- API Gateway → URL Service (writes to DB, returns short URL)
- URL Service → Database (stores mapping: short URL → long URL)
- Cache layer (Redis) for frequently accessed URLs
- Analytics service (tracks clicks)
Tools to draw: Use a whiteboard, pen and paper, or tools like Excalidraw, Draw.io, or just hand-drawn diagrams on a shared screen.
Pro tip: Always label your arrows. "Client sends POST /shorten" is better than just an arrow.
Step 4: Deep Dive into One Component
The interviewer will pick one part and ask you to go deeper.
Example: "How will you generate the short URL?"
Possible answers:
- Base62 encoding (convert auto-incremented ID to base62 string: a-z, A-Z, 0-9 = 62 chars)
- Hashing (hash the long URL using MD5/SHA-256, take first 7 characters)
- Pre-generated keys (generate billions of keys in advance, store in a key pool, fetch when needed)
Trade-offs:
- Base62: Simple, but requires a centralized counter (single point of failure)
- Hashing: No central counter, but risk of collisions
- Pre-generated: Fastest, but requires extra storage
What the interviewer wants: Not just one solution, but you explaining trade-offs and picking the best approach for the given requirements.
Step 5: Discuss Trade-Offs and Bottlenecks
No design is perfect. Acknowledge the weak points.
Questions to ask yourself:
- What if the database crashes? (Add replication)
- What if one server goes down? (Use load balancers and multiple instances)
- What if we get 10x traffic suddenly? (Horizontal scaling, auto-scaling)
- Should we prioritize consistency or availability? (CAP theorem)
Example: For a payment system like UPI, you'd choose strong consistency over availability (better to show "payment failed" than to deduct money twice).
This step separates good candidates from great ones. It shows maturity and real-world thinking.
10 Practice Problems with Solution Outlines#
Here are 10 system design problems commonly asked in Indian tech companies, ranked from beginner to intermediate. Each problem includes a brief solution outline.
1. URL Shortener (Beginner)
Asked at: Amazon, Flipkart, Google, CRED
Problem: Design a service like Bitly that converts long URLs into short URLs.
Solution outline:
- Functional: Generate short URL, redirect to long URL, optional expiry
- Components: API Gateway → URL Service → Database (MySQL/PostgreSQL for mappings) → Cache (Redis)
- Short URL generation: Base62 encoding or MD5 hashing
- Scale: Use sharding for database (shard by hash of short URL)
- Redirect: 301 (permanent) vs 302 (temporary)
Key concepts: Hashing, base conversion, caching, database sharding.
2. Parking Lot System (LLD, Beginner)
Asked at: Flipkart, Amazon, Microsoft, Razorpay
Problem: Design a multi-floor parking lot system.
Solution outline:
- Classes: ParkingLot, Floor, Spot, Vehicle (Car, Bike, Truck), Ticket, Payment
- Methods:
findSpot(),parkVehicle(),removeVehicle(),calculateFee() - Design patterns: Singleton for ParkingLot, Factory for Vehicle types, Strategy for pricing
- Data structures: HashMap for spot availability, PriorityQueue for nearest spot
Key concepts: OOP, design patterns, SOLID principles.
3. Chat System (WhatsApp/Slack) (Intermediate)
Asked at: Amazon, Google, Flipkart, CRED, Razorpay
Problem: Design a real-time chat application.
Solution outline:
- Functional: One-on-one chat, group chat, media sharing, online status, read receipts
- Components: User Service, Chat Service, Message Queue (Kafka), Database (Cassandra for messages, MySQL for users), WebSockets for real-time
- Message delivery: Use push notifications (FCM) for offline users
- Scale: Shard messages by user_id or chat_id
- Media: Store in S3, send URLs in messages
Key concepts: WebSockets, message queues, NoSQL, sharding, push notifications.
4. News Feed (Facebook/Instagram) (Intermediate)
Asked at: Flipkart, Google, Amazon, CRED
Problem: Design a social media news feed.
Solution outline:
- Functional: Users post updates, followers see updates in chronological/ranked order
- Components: Post Service, Feed Service, User Service, Database (MySQL for users/posts, Redis for feed cache), CDN for media
- Feed generation: Pull model (fetch on demand) vs Push model (pre-generate and cache)
- Ranking: Use ML model or simple time-based sorting
- Scale: Use fanout-on-write for users with few followers, fanout-on-read for celebrities
Key concepts: Caching, fanout, ranking algorithms, CDN.
5. Cab Booking (Ola/Uber) (Intermediate)
Asked at: Ola, Uber, Flipkart, Amazon, Razorpay
Problem: Design a ride-hailing app.
Solution outline:
- Functional: User requests ride, match with nearby driver, track ride, payment
- Components: User Service, Driver Service, Matching Service, Location Service (Redis Geospatial), Trip Service, Payment Service
- Matching algorithm: Find drivers within 5 km radius, use Quadtree or Geohashing
- Real-time tracking: WebSockets or Server-Sent Events (SSE)
- Payment: Integrate with payment gateway (Razorpay/Stripe), handle retries
Key concepts: Geospatial indexing, real-time location tracking, matching algorithms.
AI mock interview
Practice with AI that asks what Google, Amazon, TCS, and Infosys actually ask, then shows you exactly where your answer lost the room.
6. Food Delivery (Swiggy/Zomato) (Intermediate)
Asked at: Swiggy, Zomato, Flipkart, Amazon
Problem: Design a food delivery platform.
Solution outline:
- Functional: Browse restaurants, order food, track delivery, ratings
- Components: Restaurant Service, Order Service, Delivery Service, Payment Service, Notification Service
- Search: Use Elasticsearch for restaurant search (by name, cuisine, location)
- Delivery assignment: Use matching algorithm (distance, availability, ratings)
- Real-time tracking: WebSockets for delivery partner location
- Scale: Shard by city or region
Key concepts: Search (Elasticsearch), real-time tracking, geospatial queries, order state machine.
7. Payment System (UPI/PhonePe) (Advanced)
Asked at: Razorpay, PhonePe, Paytm, Flipkart, Amazon
Problem: Design a digital payment system.
Solution outline:
- Functional: Send money, receive money, check balance, transaction history
- Non-functional: Strong consistency (no double debit), high availability, low latency
- Components: User Service, Transaction Service, Ledger Service, Bank Integration Service, Notification Service
- ACID transactions: Use database transactions (MySQL with strong consistency)
- Idempotency: Use transaction IDs to prevent duplicate transactions
- Reconciliation: Daily batch jobs to match ledger with bank statements
Key concepts: ACID, idempotency, distributed transactions, ledger design.
8. E-commerce Search (Amazon/Flipkart) (Intermediate)
Asked at: Amazon, Flipkart, Meesho
Problem: Design a search system for an e-commerce platform.
Solution outline:
- Functional: Search products by name, filter by category/price, sort by relevance/price
- Components: Search Service, Indexing Service, Product Catalog DB, Elasticsearch
- Indexing: Batch job to sync product catalog to Elasticsearch
- Ranking: Use TF-IDF, BM25, or ML-based ranking
- Auto-complete: Use Trie data structure or Elasticsearch prefix queries
- Scale: Use sharding in Elasticsearch (shard by product category)
Key concepts: Elasticsearch, indexing, ranking, auto-complete.
9. Notification System (Push/SMS/Email) (Intermediate)
Asked at: Flipkart, Amazon, CRED, Razorpay
Problem: Design a multi-channel notification system.
Solution outline:
- Functional: Send notifications via push, SMS, email, in-app
- Components: Notification Service, Message Queue (Kafka), Vendor APIs (FCM, Twilio, SendGrid), User Preference DB
- Workflow: Event → Kafka → Notification Worker → Vendor API
- Priority: Use separate queues for critical (OTP) vs marketing notifications
- Rate limiting: Limit notifications per user per day (Redis counter)
- Retry: Exponential backoff for failed deliveries
Key concepts: Message queues, rate limiting, retry logic, vendor integration.
10. Rate Limiter (API Throttling) (Intermediate)
Asked at: Amazon, Google, Razorpay, CRED
Problem: Design a rate limiter to prevent API abuse.
Solution outline:
- Functional: Limit requests per user/IP (e.g., 100 requests per minute)
- Algorithms: Token bucket, Leaky bucket, Fixed window, Sliding window
- Implementation: Use Redis (INCR command + TTL)
- Example (Token bucket): Store tokens in Redis, decrement on each request, refill at fixed rate
- Distributed: Use Redis cluster for distributed rate limiting
- Scale: Use sticky sessions or consistent hashing for Redis nodes
Key concepts: Rate limiting algorithms, Redis, distributed systems.
Key Concepts You Must Know#
To solve the above problems, you need to understand these core concepts:
1. Load Balancing
Distributes incoming traffic across multiple servers. Types: Round-robin, Least connections, IP hash.
2. Caching
Stores frequently accessed data in memory (Redis, Memcached). Use cases: Session storage, API responses, database query results.
3. Database Sharding
Splits database into smaller chunks (shards) for horizontal scaling. Types: Range-based (shard by user_id 1-1M, 1M-2M), Hash-based, Geography-based.
4. Message Queues
Asynchronous communication between services (Kafka, RabbitMQ). Use cases: Notifications, order processing, analytics.
5. CAP Theorem
In a distributed system, you can only have 2 out of 3: Consistency, Availability, Partition tolerance.
- CP: Banking systems (strong consistency)
- AP: Social media feeds (eventual consistency)
6. Replication
Copies data across multiple servers for redundancy. Types: Master-slave, Multi-master.
7. Consistent Hashing
Distributes data across nodes in a way that minimizes re-shuffling when nodes are added/removed. Used in: Caching, database sharding.
8. API Gateway
Single entry point for all client requests. Handles: Routing, authentication, rate limiting, logging.
Resources to Learn System Design#
Here are the best resources for Indian job seekers:
YouTube Channels
- Gaurav Sen - Best for beginners, explains in simple Hindi-English mix
- Tech Dummies Narendra L - In-depth HLD videos
- codeKarle - Indian context, covers HLD + LLD
- Exponent - Mock interviews with real engineers
GitHub Repositories
- System Design Primer (github.com/donnemartin/system-design-primer) - Complete guide, Anki flashcards included
- Awesome System Design (github.com/madd86/awesome-system-design) - Curated list of resources
Courses
- Grokking the System Design Interview (educative.io) - Paid, but worth it (₹3000-4000)
- Grokking the Object-Oriented Design Interview (educative.io) - For LLD
- InterviewReady System Design Course - By Gaurav Sen and team
Books
- Designing Data-Intensive Applications by Martin Kleppmann - The bible of system design
- System Design Interview Vol 1 & 2 by Alex Xu - Easy to read, visual diagrams
Practice Platforms
- Pramp - Free mock interviews
- Interviewing.io - Paid, but connects you with real engineers from FAANG
Company-Specific Tips for India#
Different companies have different styles. Here's what to expect:
Amazon India
- Heavily focused on scalability and trade-offs
- Expect questions like: "Design Amazon's recommendation system" or "Design a distributed cache"
- Interviewers will push you to discuss CAP theorem, consistency models
- Prep focus: HLD, distributed systems, AWS services (S3, DynamoDB, SQS)
Google India
- More theoretical and academic
- Expect questions like: "Design Google Search" or "Design YouTube"
- Strong emphasis on latency, throughput, and algorithms (e.g., ranking, MapReduce)
- Prep focus: Distributed systems, data structures at scale (B-trees, LSM trees), Google papers (Bigtable, MapReduce)
Flipkart
- Mix of HLD and LLD
- Expect questions like: "Design Flipkart's cart system" or "Design a parking lot (LLD)"
- Strong focus on microservices architecture
- Prep focus: Microservices, event-driven architecture, Kafka, Redis
Microsoft
- More LLD-heavy for junior roles
- Expect questions like: "Design an elevator system" or "Design a library management system"
- Focus on OOP and design patterns
- Prep focus: LLD, design patterns (Factory, Singleton, Observer, Strategy), UML diagrams
Startups (CRED, Razorpay, Phonepe, Zepto)
- Fast-paced, product-focused
- Expect real-world problems: "Design a payment retry system" or "Design a notification system for deals"
- Strong focus on pragmatism over perfection (What can you build in 2 weeks vs 6 months?)
- Prep focus: Trade-offs, MVP thinking, cloud services (AWS/GCP), cost optimization
How to Practice System Design as a Beginner#
- Start with YouTube videos - Watch Gaurav Sen's playlist (20-30 videos)
- Read System Design Primer on GitHub - Take notes, make flashcards
- Solve 1 problem per week - Start with URL shortener, then chat system, then cab booking
- Draw diagrams on paper - Practice whiteboarding without a computer
- Mock interviews - Use Pramp or find a friend to practice with
- Read engineering blogs - Netflix Tech Blog, Uber Engineering, AWS Architecture Blog
- Learn from real systems - How does WhatsApp handle 2 billion users? How does Swiggy match delivery partners?
Timeline:
- Week 1-2: Watch 10-15 YouTube videos, understand HLD vs LLD
- Week 3-4: Solve 2-3 beginner problems (URL shortener, parking lot)
- Week 5-6: Solve 2-3 intermediate problems (chat system, news feed)
- Week 7-8: Mock interviews, revise weak areas
Final Tips for Indian Job Seekers#
- Don't skip system design even if you're a fresher - At least know the basics
- Focus on trade-offs, not just solutions - There's no "correct" answer, only better choices
- Practice explaining out loud - System design is 70% communication, 30% technical knowledge
- Use Indian examples - Instead of Uber, say Ola. Instead of Netflix, say Hotstar. Interviewers relate better.
- Learn the buzzwords - Microservices, sharding, caching, load balancing, eventual consistency. Use them correctly.
- Ask clarifying questions - It shows you think like a senior engineer
- Start simple, then iterate - Don't jump to Kafka and Redis in the first 5 minutes. Start with a basic design, then scale.
System design interviews can feel overwhelming at first, but with consistent practice, you'll start seeing patterns. Most real-world systems are variations of the same core problems: data storage, data retrieval, real-time communication, and scaling.
Good luck with your preparation. Remember, every senior engineer you admire today was once a beginner too. The only difference? They practiced, failed, learned, and kept going.
Now go design something amazing.
Ready to practice mock interviews with AI? JobRise's AI Mock Interview Bot simulates real system design rounds with company-specific questions from Amazon, Flipkart, Google, and more. Get instant feedback on your approach, communication, and technical depth. Try it for free today.
Advertisement
Advertisement
Send this to whoever has the interview this week.
Keep reading
Adobe Interview Process: What to Expect in 2026
A complete guide to the Adobe interview process in 2026, covering stages, common questions, and how to prepare for each step.
Airbnb Interview Process: What to Expect in 2026
Learn what to expect from the Airbnb interview process in 2026, including typical stages, example questions, and preparation tips for each step.
Amazon Interview Process for Software Engineers in Germany
Understand the Amazon interview process for software engineers in Germany, including the stages, Berlin context, and leadership principle examples.
Advertisement
Advertisement