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 👇
Interviewer: Abhinav Bansal
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;
}Problem:
Design schema + approach for showing a banner X times in Y hours for Z such durations.
Example:
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.
Interviewer: Kartik Khariwal
👉 This round was very project-heavy, they wanted to dig deep into scalability & design trade-offs.
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
- LinkGiven a merchant’s previous dish prices, suggest a price for a new dish such that:
1/3rd dish’s price2/3rd dish’s priceExample:
10 20 30 40 50 60
Suggested Price: Between 20 and 30 Solution 1 (Sorting):
n/3 and n/3 + 1.O(n log n)Follow-up (Optimization):
O(n log log n)I wrote pseudo-code for this.
✅ Cleared Round 2.
Interviewer: Gyanendra Kumar (VP, Eternal)
This was a purely managerial round.
It was more about mindset, cultural fit & career goals than coding.
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: