Swiggy
Leading Indian food delivery aggregator with complex real-time logistics.
4 Rounds
~15 Days
Hard
The Interview Loop
Recruiter Screen (30 min)
Standard fit check, behavioral questions, and resume overview.
Technical Loop (3-4 Rounds)
Deep dive into domain knowledge, coding, and system design.
Interview Question Bank
Backend Engineer
•
Behavioral
•
medium
Tell me about a time you had to push back on a product manager's timeline because of technical debt or architectural concerns.
#Communication
#Stakeholder Management
#Prioritization
Backend Engineer
•
Behavioral
•
hard
Describe a situation where a production deployment caused a major outage. How did you debug, resolve, and prevent it from happening again?
#Incident Management
#Debugging
#Post-mortems
Backend Engineer
•
Behavioral
•
medium
Give an example of a time you went above and beyond to improve the performance, scalability, or reliability of a backend system.
#Proactivity
#Performance Optimization
#Ownership
Backend Engineer
•
Coding
•
hard
Machine Coding: Design and implement an in-memory Food Delivery System. It should support adding restaurants, updating menus, placing orders, and assigning the nearest delivery agent.
#Object-Oriented Design
#Design Patterns
#Concurrency
Backend Engineer
•
Coding
•
medium
Machine Coding: Design a Promo Code / Coupon Engine. Support rules like flat discount, percentage discount, maximum cap, and user-specific usage limits.
#Strategy Pattern
#Rule Engine
#OOD
Backend Engineer
•
Coding
•
medium
Machine Coding: Design a Splitwise-like application for splitting food bills among friends with exact, percentage, and equal split strategies.
#OOD
#Algorithms
#Design Patterns
Backend Engineer
•
Coding
•
medium
Machine Coding: Implement a cache with an LRU eviction policy and Time-To-Live (TTL) for each key.
#Doubly Linked List
#HashMap
#Concurrency
Backend Engineer
•
Coding
•
medium
Given a grid representing a city map with restaurants, customers, and roadblocks, find the shortest path for a delivery executive to pick up and deliver the food.
#Graphs
#BFS
#Shortest Path
Backend Engineer
•
Coding
•
medium
Merge K sorted arrays/lists. (Context: Merging timestamped logs from different microservices).
#Heaps
#Divide and Conquer
#Pointers
Backend Engineer
•
Coding
•
medium
Given a list of orders with their preparation start and end times, find the maximum number of concurrent orders being prepared at any given time.
#Arrays
#Sorting
#Sweep Line Algorithm
Backend Engineer
•
Coding
•
medium
Implement a Trie data structure to support fast prefix search for restaurant names.
#Trie
#Trees
#Strings
Backend Engineer
•
Coding
•
hard
You have a list of delivery executives and a list of orders. Assign orders to executives such that the total distance traveled is minimized.
#Graphs
#Bipartite Matching
#Hungarian Algorithm
#Greedy
Backend Engineer
•
Coding
•
easy
Find the longest palindromic substring in a given string.
#Strings
#Dynamic Programming
#Two Pointers
Backend Engineer
•
Coding
•
medium
Given an array of integers representing restaurant ratings over time, find the sliding window maximum of size K.
#Sliding Window
#Deque
#Arrays
Backend Engineer
•
Coding
•
medium
Find the Top K frequent elements in a stream of data (e.g., finding top K trending dishes in a locality).
#Heaps
#HashMaps
#Bucket Sort
Backend Engineer
•
System Design
•
hard
Design Swiggy's real-time delivery tracking system where customers can see the live location of their delivery executive.
#WebSockets
#Kafka
#Redis
#Geospatial Data
Backend Engineer
•
System Design
•
hard
Design a surge pricing engine for Swiggy that dynamically adjusts delivery fees based on weather, traffic, and real-time demand-supply gaps in specific geohashes.
#Stream Processing
#Distributed Systems
#Event-Driven Architecture
Backend Engineer
•
System Design
•
hard
Design Swiggy Instamart's inventory management system to handle high concurrency during flash sales or peak hours without overselling.
#Concurrency
#Distributed Locks
#Database Isolation
#Caching
Backend Engineer
•
System Design
•
medium
Design a distributed rate limiter for Swiggy's public APIs to prevent abuse and manage tiered API access.
#Rate Limiting
#Redis
#Algorithms
Backend Engineer
•
System Design
•
hard
Design a restaurant search and recommendation system that supports typo-tolerance, prefix matching, and personalized ranking.
#Elasticsearch
#Information Retrieval
#Microservices
Backend Engineer
•
System Design
•
hard
Design Swiggy's cart and checkout service. How do you handle concurrent modifications from multiple devices and out-of-stock scenarios during checkout?
#State Management
#Data Consistency
#Saga Pattern
Backend Engineer
•
System Design
•
medium
Design a highly available notification system to send SMS, Email, and Push notifications for order lifecycle events.
#Asynchronous Processing
#Message Queues
#Retry Mechanisms
Backend Engineer
•
System Design
•
hard
Design a payment processing gateway integration system that handles third-party gateway timeouts and failures gracefully.
#Payments
#Idempotency
#Reconciliation
#State Machines
Backend Engineer
•
System Design
•
hard
Design a location-based service to find the nearest delivery executives for order assignment.
#Geospatial Indexing
#QuadTrees
#Geohash
#Redis Geospatial
Backend Engineer
•
System Design
•
medium
Design a system to handle Swiggy One memberships, ensuring benefits (like free delivery) are applied correctly at checkout with minimal latency.
#Caching
#Microservices
#Rule Engines
Backend Engineer
•
Technical
•
medium
Low-Level Design: Design a thread-safe database connection pool from scratch.
#Concurrency
#Multithreading
#Resource Management
Backend Engineer
•
Technical
•
medium
Low-Level Design: Design an elevator system for a multi-story building that optimizes for minimum wait time.
#State Machine
#Algorithms
#OOD
Backend Engineer
•
Technical
•
hard
Low-Level Design: Design a distributed task scheduler that can execute tasks at a given time or periodically (similar to Quartz).
#Priority Queues
#Concurrency
#Distributed Systems
Backend Engineer
•
Technical
•
hard
Low-Level Design: Design a wallet system where users can add money and pay for orders. Ensure ACID properties are maintained.
#Database Design
#Transactions
#Concurrency
Backend Engineer
•
Technical
•
hard
How would you handle distributed transactions across the Order, Payment, and Inventory microservices at Swiggy?
#Microservices
#Saga Pattern
#Two-Phase Commit
#Eventual Consistency
Backend Engineer
•
Technical
•
medium
Explain how you would optimize a slow-performing SQL query that fetches order history for a user.
#Database Indexing
#Query Execution Plan
#Partitioning
Backend Engineer
•
Technical
•
hard
How does Kafka ensure exactly-once semantics, and how would you use it for Swiggy's order state machine?
#Kafka
#Messaging Systems
#Idempotency
Backend Engineer
•
Technical
•
medium
Explain the internal working of ConcurrentHashMap in Java and how it differs from Collections.synchronizedMap.
#Java
#Concurrency
#Data Structures
Backend Engineer
•
Technical
•
medium
How do you implement distributed locking using Redis to prevent double-booking of a limited Instamart item?
#Redis
#Distributed Locks
#Concurrency
Backend Engineer
•
Technical
•
medium
What is the CAP theorem and how does it apply to Swiggy's cart service versus its payment service?
#CAP Theorem
#Distributed Systems
#Trade-offs
Difficulty Radar
Based on recent AI-sourced data.
Meet Your Interviewers
The "Standard" Interviewer
Senior EngineerFocuses on core competencies, system constraints, and clear communication.
SimulateUnwritten Rules
Think Out Loud
Always explain your thought process before writing code or drawing architecture.