Zomato (Eternal) | SDE | Gurugram | August 2025 [Offer]
Zomato SDE-1 Interview Experience 🍕🚀
Position: SDE-1 (Full-time)
Location: Gurugram, Haryana
Date: August 2025
Working at Zomato has been my dream since college days, and I recently got the opportunity to interview there. I had 3 rounds in total — 2 technical + 1 managerial. Here’s the full breakdown 👇
Round 1 (DSA + System Design)
Interviewer: Abhinav Bansal
Question 1: Minimum Swaps to Sort
You are given an unordered array consisting of consecutive integers [1, 2, 3, ..., n]. You are allowed to swap any two elements. Find the minimum number of swaps required to sort the array.
Example:
4 1 2 3 1 4 2 3
1 3 2 4
1 2 3 4 Answer: 3
Solution:
int minSwapsToSort(vector<int>& arr) {
int n = arr.size();
vector<pair<int,int>> pos(n);
for (int i = 0; i < n; i++) {
pos[i] = {arr[i], i};
}
sort(pos.begin(), pos.end());
vector<bool> visited(n, false);
int swaps = 0;
for (int i = 0; i < n; i++) {
if (visited[i] || pos[i].second == i) continue;
int cycleSize = 0;
int j = i;
while (!visited[j]) {
visited[j] = true;
j = pos[j].second;
cycleSize++;
}
if (cycleSize > 1) swaps += (cycleSize - 1);
}
return swaps;
}Question 2: Banner Scheduling Schema
Problem:
Design schema + approach for showing a banner X times in Y hours for Z such durations.
Example:
- Show banner 2 times in 24 hours, for 3 durations.
Schema:
Table 1: BANNER_CONFIG
- Banner_ID
- Num_Times_Per_Duration
- Duration_Hours
- Num_Durations
Table 2: BANNER_SHOWN
- Banner_ID
- User_ID
- Num_Times_Shown
- Start_Time
- Num_DurationsI explained how we can track frequency, enforce limits, and reset counters using these tables.
✅ Cleared Round 1.
Round 2 (Projects + LLD + DSA)
Interviewer: Kartik Khariwal
Discussion on my Previous Experience (AI-based transcription & summary generation):
- How did you handle audio input from mic/system?
- How did you transfer heavy audio files to backend?
- How did you manage LLM token limits for >1 hr meetings?
- Why MySQL for database? What were table schema & data types?
- Which external APIs did you use?
👉 This round was very project-heavy, they wanted to dig deep into scalability & design trade-offs.
LLD Question: Restaurant Menu System (Zomato specific 🍕)
- Model restaurant menus with multiple configs like size, crust, toppings (focus on Domino’s case).
Schema:
Table 1: Restaurants
- ID
- Location
- Owner
Table 2: Menu
- ID
- Restaurant_ID
Table 3: Item
- ID
- Menu_ID
- Name
- Description
- Config_ID
- File_ID
Table 4: Item_Config
- ID
- Size
- Price
Table 5: Item_Files
- ID
- LinkDSA Question: Suggest Dish Price
Given a merchant’s previous dish prices, suggest a price for a new dish such that:
- Greater than
1/3rddish’s price - Less than
2/3rddish’s price
Example:
10 20 30 40 50 60
Suggested Price: Between 20 and 30 Solution 1 (Sorting):
- Insert prices → Sort → Pick values at
n/3andn/3 + 1. - Time Complexity:
O(n log n)
Follow-up (Optimization):
- Use two heaps (min & max) to maintain 1/3rd and 2/3rd positions.
- Suggested Price = between heap tops.
- Time Complexity:
O(n log log n)
I wrote pseudo-code for this.
✅ Cleared Round 2.
Round 3 (Managerial + HR)
Interviewer: Gyanendra Kumar (VP, Eternal)
This was a purely managerial round.
- Why Zomato?
- What are your short-term & long-term goals?
- How do you see yourself growing here?
It was more about mindset, cultural fit & career goals than coding.
Final Verdict 🎉
Got a call the same day from HR — Selected for SDE-1 at Zomato 🚀
This is honestly a dream come true. Since college, I wanted to work at a big tech product company, and now I’ll be working on projects impacting millions of users. Super excited to begin this journey!
🔥 Takeaway for juniors:
- Strong DSA fundamentals → cycles, heaps, sorting.
- Be prepared to explain your projects in depth (design choices, trade-offs, scaling).
- Don’t ignore LLD/HLD, especially for product-based companies.
- And yes — managerial rounds matter more than you think.


