Swiggy Placement Papers 2026
Last Updated: March 2026
Swiggy Placement Papers 2026 - Complete Preparation Guide
📋 Company Overview
Swiggy is India's leading on-demand delivery platform, primarily known for food delivery. Founded in 2014, it has expanded into grocery delivery (Swiggy Instamart), package delivery (Swiggy Genie), and dining out (Swiggy Dineout). It operates in 500+ cities across India.
Key Highlights:
- Founded: August 2014
- Headquarters: Bangalore, Karnataka, India
- Industry: Food Delivery / Quick Commerce
- Employees: 10,000+ employees + 5L+ delivery partners
- Daily Orders: 1.5+ million food orders
Eligibility Criteria 2026
| Parameter | Requirement |
|---|---|
| Education | B.Tech/B.E (CS, IT, ECE) |
| Batch | 2024, 2025, 2026 |
| Minimum CGPA | 7.0/10 or 70% |
| Backlogs | No active backlogs |
| Skills | Strong coding, Problem-solving |
Swiggy CTC for Freshers 2026
| Component | Amount (Approx.) |
|---|---|
| Base Salary | ₹15-20 LPA |
| Joining Bonus | ₹1-2 Lakhs |
| ESOPs | Variable |
| Benefits | Health Insurance, Relocation, Swiggy One |
| Total CTC | ₹20-28 LPA |
📝 Exam Pattern
Swiggy's recruitment process typically consists of 3-4 rounds:
| Round | Duration | Questions | Topics |
|---|---|---|---|
| Online Assessment | 90-120 mins | 3 | Coding Problems |
| Technical Interview 1 | 60 mins | - | DSA, Problem Solving |
| Technical Interview 2 | 60 mins | - | System Design, Projects |
| HR/Bar Raiser | 45 mins | - | Behavioral, Culture Fit |
Key Points:
- Focus on optimal algorithmic solutions
- System design for scalability is important
- Real-world problem-solving approach valued
🧮 Aptitude Questions (15 with Solutions)
Question 1: Numbers
Find the number of zeros at the end of 50!
Solution: Number of zeros = number of factor pairs (2,5) Since there are more 2s than 5s, count 5s: ⌊50/5⌋ + ⌊50/25⌋ = 10 + 2 = 12 zeros
Question 2: Percentage
The population of a town increases by 10% in the first year and decreases by 10% in the second year. What is the net change?
Solution: Net change = 10 - 10 + (10 × -10)/100 = -1% Net decrease of 1%
Question 3: Profit & Loss
A shopkeeper marks his goods 50% above cost price and allows a discount of 20%. What is his profit percentage?
Solution: Let CP = ₹100 Marked Price = ₹150 Selling Price = 150 - 20% of 150 = 150 - 30 = ₹120 Profit = ₹20 Profit% = 20%
Question 4: Time & Work
A can do a piece of work in 10 days, B in 15 days. They work for 5 days together. The rest of the work is finished by C in 2 days. How long would C take to do the whole work alone?
Solution: (A+B)'s 1 day work = 1/10 + 1/15 = 1/6 Work done in 5 days = 5/6 Remaining work = 1/6
C does 1/6 work in 2 days C's 1 day work = 1/12 C takes 12 days alone
Question 5: Speed & Distance
A man travels 120 km by car at 60 km/h, 150 km by train at 75 km/h, and 30 km by auto at 15 km/h. Find the average speed for the whole journey.
Solution: Time by car = 120/60 = 2 hours Time by train = 150/75 = 2 hours Time by auto = 30/15 = 2 hours
Total distance = 300 km Total time = 6 hours Average speed = 300/6 = 50 km/h
Question 6: Ratio & Proportion
If x:y = 3:4, find (7x + 3y) : (7x - 3y).
Solution: Let x = 3k, y = 4k 7x + 3y = 21k + 12k = 33k 7x - 3y = 21k - 12k = 9k
Ratio = 33k : 9k = 11:3
Question 7: Partnership
A starts a business with ₹3500. After 5 months, B joins with ₹4500. The total profit at year end is ₹7600. Find A's share.
Solution: Ratio of investments: A:B = 3500×12 : 4500×7 = 42000 : 31500 = 12:9 = 4:3
A's share = 4/7 × 7600 = ₹4342.86
Question 8: Simple Interest
A sum of money amounts to ₹9800 after 5 years and ₹12005 after 8 years at the same rate of simple interest. Find the rate of interest per annum.
Solution: SI for 3 years = 12005 - 9800 = ₹2205 SI for 1 year = ₹735 SI for 5 years = ₹3675
Principal = 9800 - 3675 = ₹6125 Rate = (735 × 100) / 6125 = 12%
Question 9: Probability
A card is drawn from a pack of 52 cards. What is the probability of getting neither a heart nor a king?
Solution: P(heart) = 13/52 P(king) = 4/52 P(heart and king) = 1/52
P(heart or king) = 13/52 + 4/52 - 1/52 = 16/52 = 4/13
P(neither) = 1 - 4/13 = 9/13
Question 10: Series
Find the next term: 2, 5, 11, 23, 47, ?
Solution: Pattern: ×2 + 1 2×2+1=5, 5×2+1=11, 11×2+1=23, 23×2+1=47 Next: 47×2+1 = 95
Question 11: Coding-Decoding
In a certain code, 'COMPUTER' is written as 'RFUVQNPC'. How is 'MEDICINE' written in that code?
Solution: Pattern: Each letter +1, -1 alternately from end R←C(+1), F←O(-1), U←M(+1), V←P(-1)...
MEDICINE from end: E→F(+1), N→M(-1), I→J(+1), C→B(-1), I→J(+1), D→C(-1), E→F(+1), M→L(-1) Reading reverse: LFJBCJMF
Question 12: Blood Relations
If A is the brother of B; B is the sister of C; and C is the father of D, how is A related to D?
Solution: A and B are siblings, B and C are siblings So A, B, C are siblings C is father of D, so D is A's nephew/niece
A is the uncle of D (if A is male)
Question 13: Direction Sense
A man walks 6 km South, turns left and walks 4 km, turns left and walks 5 km. How far is he from the starting point and in which direction?
Solution: South 6km, East 4km, North 5km Net: 1km South, 4km East Distance = √(1² + 4²) = √17 ≈ 4.12 km Direction: South-East
Question 14: Pipes & Cisterns
Two pipes A and B can fill a tank in 20 and 30 minutes respectively. If both pipes are used together, how long will it take to fill the tank?
Solution: Part filled in 1 minute = 1/20 + 1/30 = (3+2)/60 = 5/60 = 1/12 Time taken = 12 minutes
Question 15: Data Interpretation
Swiggy delivery times (minutes): 25, 30, 28, 35, 32, 30, 28, 25, 40, 37. Find median and mode.
Solution: Sorted: 25, 25, 28, 28, 30, 30, 32, 35, 37, 40 Median = average of 5th and 6th values = (30+30)/2 = 30 Mode = 25, 28, 30 (all appear twice, trimodal)
💻 Technical/CS Questions (10 with Solutions)
Question 1: Data Structures
Implement a queue using two stacks.
class QueueUsingStacks:
def __init__(self):
self.stack1 = [] # For enqueue
self.stack2 = [] # For dequeue
def enqueue(self, x):
self.stack1.append(x)
def dequeue(self):
if not self.stack2:
while self.stack1:
self.stack2.append(self.stack1.pop())
return self.stack2.pop() if self.stack2 else None
def peek(self):
if not self.stack2:
while self.stack1:
self.stack2.append(self.stack1.pop())
return self.stack2[-1] if self.stack2 else None
Amortized Time Complexity: O(1) for enqueue and dequeue
Question 2: Algorithms
Find the element that appears once in an array where every other element appears twice.
def single_number(nums):
result = 0
for num in nums:
result ^= num # XOR operation
return result
# Example
print(single_number([4,1,2,1,2])) # Output: 4
Time Complexity: O(n), Space Complexity: O(1)
Question 3: System Design
Design a food delivery tracking system.
- Order Service: Manages order lifecycle
- Restaurant Service: Menu, availability, preparation time
- Delivery Service: Driver assignment, tracking
- Notification Service: Real-time updates to customers
- Payment Service: Transaction handling
Key Features:
- Real-time GPS tracking
- ETA calculation based on traffic, preparation time
- Driver-rider matching algorithm
- Route optimization
Question 4: DBMS
Design a database schema for a food delivery app.
-- Users table
CREATE TABLE users (
user_id UUID PRIMARY KEY,
name VARCHAR(100),
phone VARCHAR(20),
email VARCHAR(100),
address JSONB
);
-- Restaurants table
CREATE TABLE restaurants (
restaurant_id UUID PRIMARY KEY,
name VARCHAR(200),
location GEOGRAPHY(POINT),
cuisine_type VARCHAR(50),
rating DECIMAL(2,1),
is_active BOOLEAN
);
-- Menu items table
CREATE TABLE menu_items (
item_id UUID PRIMARY KEY,
restaurant_id UUID REFERENCES restaurants(restaurant_id),
name VARCHAR(200),
price DECIMAL(10,2),
is_available BOOLEAN
);
-- Orders table
CREATE TABLE orders (
order_id UUID PRIMARY KEY,
user_id UUID REFERENCES users(user_id),
restaurant_id UUID REFERENCES restaurants(restaurant_id),
delivery_partner_id UUID,
items JSONB,
total_amount DECIMAL(10,2),
status VARCHAR(50),
created_at TIMESTAMP,
delivered_at TIMESTAMP
);
-- Delivery partners table
CREATE TABLE delivery_partners (
partner_id UUID PRIMARY KEY,
name VARCHAR(100),
phone VARCHAR(20),
current_location GEOGRAPHY(POINT),
is_available BOOLEAN,
rating DECIMAL(2,1)
);
Question 5: Operating Systems
Explain deadlock prevention strategies.
- Eliminate Mutual Exclusion: Make resources shareable (not always possible)
- Eliminate Hold and Wait: Request all resources at once
- Eliminate No Preemption: Allow forced resource release
- Eliminate Circular Wait: Impose ordering on resource types
Banker's Algorithm:
- Safety algorithm to avoid deadlock
- Checks if granting request leaves system in safe state
Question 6: Networks
What is the difference between TCP and UDP?
| Feature | TCP | UDP |
|---|---|---|
| Connection | Connection-oriented | Connectionless |
| Reliability | Guaranteed delivery | No guarantee |
| Ordering | Ordered delivery | No ordering |
| Speed | Slower | Faster |
| Use case | Web, Email, File transfer | Video streaming, Gaming, DNS |
| Header size | 20-60 bytes | 8 bytes |
Question 7: OOP
Explain the SOLID principles.
Question 8: SQL
Find the second highest salary in each department.
-- Using window functions
SELECT department_id, salary as second_highest
FROM (
SELECT
department_id,
salary,
DENSE_RANK() OVER (PARTITION BY department_id ORDER BY salary DESC) as rnk
FROM employees
) ranked
WHERE rnk = 2;
-- Alternative using subquery
SELECT department_id, MAX(salary) as second_highest
FROM employees e1
WHERE salary < (
SELECT MAX(salary)
FROM employees e2
WHERE e1.department_id = e2.department_id
)
GROUP BY department_id;
Question 9: System Design
How would you handle peak load during lunch/dinner hours?
- Auto-scaling: Scale up servers during peak hours
- Caching: Cache popular restaurant menus and user data
- CDN: Serve static content from edge locations
- Database optimization: Read replicas, connection pooling
- Queue-based architecture: Decouple order placement from processing
- Circuit breakers: Prevent cascade failures
- Load balancing: Distribute traffic evenly
Question 10: Algorithms
Find the shortest path in a grid with obstacles.
from collections import deque
def shortest_path(grid, start, end):
rows, cols = len(grid), len(grid[0])
directions = [(0,1), (0,-1), (1,0), (-1,0)]
queue = deque([(start[0], start[1], 0)])
visited = {start}
while queue:
r, c, dist = queue.popleft()
if (r, c) == end:
return dist
for dr, dc in directions:
nr, nc = r + dr, c + dc
if (0 <= nr < rows and 0 <= nc < cols and
grid[nr][nc] == 0 and (nr, nc) not in visited):
visited.add((nr, nc))
queue.append((nr, nc, dist + 1))
return -1 # No path found
# Example grid (0 = empty, 1 = obstacle)
grid = [
[0,0,0,0],
[1,1,0,1],
[0,0,0,0],
[0,1,1,0]
]
print(shortest_path(grid, (0,0), (3,3))) # Output: 6
📝 Verbal/English Questions (10 with Solutions)
Question 1: Synonyms
Choose the word closest in meaning to "ALACRITY": a) Slowness b) Eagerness c) Reluctance d) Apathy
Explanation: Alacrity means brisk and cheerful readiness; eagerness.
Question 2: Antonyms
Opposite of "PROLIFIC": a) Productive b) Barren c) Creative d) Abundant
Explanation: Prolific means producing much fruit or foliage; barren means unproductive.
Question 3: Error Spotting
Identify the error: "The bouquet of flowers smell wonderful."
Explanation: "Bouquet" is singular, so use "smells".
Question 4: Sentence Completion
The restaurant's _______ service led to a surge in positive reviews. a) poor b) exemplary c) slow d) inadequate
Question 5: Para Jumbles
Arrange: (A) has revolutionized (B) Swiggy (C) food delivery (D) in India
Question 6: Reading Comprehension
Passage: "Quick commerce platforms are transforming how Indians shop for groceries, promising delivery in 10-15 minutes..."
Question: What is the main advantage of quick commerce? Answer: Extremely fast delivery (10-15 minutes).
Question 7: Idioms
Meaning of "to add fuel to the fire": a) To help b) To make a situation worse c) To cook d) To start afresh
Question 8: One Word Substitution
Food that is cooked quickly and delivered to customers: a) Buffet b) Fast food c) Gourmet d) Cuisine
Question 9: Active to Passive
Convert: "The delivery partner handed over the package."
Question 10: Analogy
Restaurant : Menu :: Library : ? a) Books b) Catalog c) Librarian d) Shelf
Explanation: A menu lists food at a restaurant; a catalog lists books at a library.
💻 Coding Questions (5 with Python Solutions)
Question 1: Rotten Oranges (BFS)
Calculate minimum time to rot all oranges.
from collections import deque
def oranges_rotting(grid):
rows, cols = len(grid), len(grid[0])
queue = deque()
fresh = 0
# Initialize with all rotten oranges
for r in range(rows):
for c in range(cols):
if grid[r][c] == 2:
queue.append((r, c, 0))
elif grid[r][c] == 1:
fresh += 1
directions = [(0,1), (0,-1), (1,0), (-1,0)]
minutes = 0
while queue:
r, c, time = queue.popleft()
minutes = max(minutes, time)
for dr, dc in directions:
nr, nc = r + dr, c + dc
if (0 <= nr < rows and 0 <= nc < cols and
grid[nr][nc] == 1):
grid[nr][nc] = 2
fresh -= 1
queue.append((nr, nc, time + 1))
return minutes if fresh == 0 else -1
# Example
grid = [[2,1,1],[1,1,0],[0,1,1]]
print(oranges_rotting(grid)) # Output: 4
Time Complexity: O(m×n), Space Complexity: O(m×n)
Question 2: Meeting Rooms II
Find minimum meeting rooms required.
import heapq
def min_meeting_rooms(intervals):
if not intervals:
return 0
# Sort by start time
intervals.sort(key=lambda x: x[0])
# Min heap to track end times
rooms = [intervals[0][1]]
for start, end in intervals[1:]:
# If earliest ending room is free, reuse it
if rooms[0] <= start:
heapq.heappop(rooms)
heapq.heappush(rooms, end)
return len(rooms)
# Example
intervals = [[0,30],[5,10],[15,20]]
print(min_meeting_rooms(intervals)) # Output: 2
Time Complexity: O(n log n), Space Complexity: O(n)
Question 3: Task Scheduler
Find minimum time to complete all tasks with cooling interval.
from collections import Counter
def least_interval(tasks, n):
task_counts = Counter(tasks)
max_count = max(task_counts.values())
max_count_tasks = sum(1 for count in task_counts.values() if count == max_count)
# Formula: (max_count - 1) * (n + 1) + max_count_tasks
part_count = max_count - 1
part_length = n - (max_count_tasks - 1)
empty_slots = part_count * part_length
available_tasks = len(tasks) - max_count * max_count_tasks
idles = max(0, empty_slots - available_tasks)
return len(tasks) + idles
# Example
tasks = ["A","A","A","B","B","B"]
n = 2
print(least_interval(tasks, n)) # Output: 8 (A->B->idle->A->B->idle->A->B)
Time Complexity: O(n), Space Complexity: O(1) (fixed 26 chars)
Question 4: Design HashMap
Implement a HashMap without built-in libraries.
class MyHashMap:
def __init__(self):
self.size = 1000
self.table = [[] for _ in range(self.size)]
def _hash(self, key):
return key % self.size
def put(self, key, value):
hash_key = self._hash(key)
for i, (k, v) in enumerate(self.table[hash_key]):
if k == key:
self.table[hash_key][i] = (key, value)
return
self.table[hash_key].append((key, value))
def get(self, key):
hash_key = self._hash(key)
for k, v in self.table[hash_key]:
if k == key:
return v
return -1
def remove(self, key):
hash_key = self._hash(key)
for i, (k, v) in enumerate(self.table[hash_key]):
if k == key:
del self.table[hash_key][i]
return
# Example
hash_map = MyHashMap()
hash_map.put(1, 1)
hash_map.put(2, 2)
print(hash_map.get(1)) # 1
hash_map.remove(2)
print(hash_map.get(2)) # -1
Question 5: Find Median from Data Stream
Design a data structure to find median of a stream.
import heapq
class MedianFinder:
def __init__(self):
# Max heap for lower half (invert values for max heap)
self.lower = []
# Min heap for upper half
self.higher = []
def add_num(self, num):
# Add to appropriate heap
if not self.lower or num < -self.lower[0]:
heapq.heappush(self.lower, -num)
else:
heapq.heappush(self.higher, num)
# Balance heaps
if len(self.lower) > len(self.higher) + 1:
heapq.heappush(self.higher, -heapq.heappop(self.lower))
elif len(self.higher) > len(self.lower):
heapq.heappush(self.lower, -heapq.heappop(self.higher))
def find_median(self):
if len(self.lower) > len(self.higher):
return -self.lower[0]
return (-self.lower[0] + self.higher[0]) / 2
# Example
median_finder = MedianFinder()
median_finder.add_num(1)
median_finder.add_num(2)
print(median_finder.find_median()) # 1.5
median_finder.add_num(3)
print(median_finder.find_median()) # 2
Time Complexity: O(log n) for add_num, O(1) for find_median Space Complexity: O(n)
🎯 Interview Tips
Technical Interview Tips:
-
Data Structures Mastery: Focus on arrays, hash maps, trees, and graphs. Swiggy's problems often involve these.
-
System Design Basics: Understand how to design scalable systems. Practice designing food delivery, e-commerce, or ride-sharing systems.
-
Optimization Mindset: Always discuss time and space complexity. Swiggy values engineers who can optimize for scale.
-
Real-World Context: Think about how your solution would work in production. Consider failure cases, edge cases, and user experience.
-
Swiggy Domain Knowledge: Understand the food delivery ecosystem - restaurants, delivery partners, customers, and their interactions.
HR Interview Tips:
-
Know Swiggy's Business: Research Instamart, Dineout, and Genie. Show interest in the quick commerce revolution.
-
Customer Obsession: Swiggy values customer-centric thinking. Share examples of how you've prioritized user experience.
❓ Frequently Asked Questions
Q1: What is unique about Swiggy's tech interviews?
A: Swiggy focuses on real-world problem-solving. They present scenarios from their actual business and ask how you'd solve them technically.
Q2: Is system design asked for freshers at Swiggy?
A: Basic system design concepts are often asked. Be prepared to discuss scalability, database design, and API architecture.
Q3: What programming languages are preferred?
A: Java, Python, and Go are primarily used. Be proficient in at least one.
Q4: How is Swiggy different from other food delivery apps?
A: Swiggy has diversified into quick commerce (Instamart), dining (Dineout), and pick-and-drop services (Genie), creating an integrated ecosystem.
Q5: What is the work culture at Swiggy?
A: Swiggy has a fast-paced, ownership-driven culture. Engineers often own features end-to-end and are expected to move quickly while maintaining quality.
Best of luck with your Swiggy placement preparation! 🍔🚀