Swiggy

Swiggy

Leading Indian food delivery aggregator with complex real-time logistics.

4 Rounds ~15 Days Hard
Start Mock Interview

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 Engineer

Focuses on core competencies, system constraints, and clear communication.

Simulate

Unwritten Rules

Think Out Loud

Always explain your thought process before writing code or drawing architecture.

Practice Now