Eternal (Zomato) | SDE Intern + FTE | Dec 2025 | Off Campus | Cleared
SDE Intern + FTEZomato Interview
Zomato (Eternal) | SDE | Gurugram | August 2025 [Offer]
SDE-1Eternal (Zomato) | Fresh Graduate OA 2026 | On-Campus Recruitment
Fresh GraduateZomato SDE interview experience - 56 LPA (onCampus - FTE)
SDE Full-time17 more experiences below
Summary
Final year CSE student at a Tier-3 University secured an SDE Intern + FTE offer at Zomato through an off-campus referral. The interview process included system design, database reasoning, API thinking, and DSA challenges, focusing on design thinking and problem-solving approaches.
Full Experience
Applied off-campus through a referral for the SDE-I role. Round 1 was a mix of system design, DB reasoning, API thinking, and backend engineering concepts. The interviewer focused on design decisions rather than perfect knowledge. I discussed my backend projects, Zomato's product understanding, and designed the online ordering flow, including user and restaurant manager side flows. We discussed SQL vs NoSQL, geographical data handling, and S3 image uploads. Round 2 was more intense, covering system design, message brokers, and DSA. I tackled a rate limiter design, real-time support chat design, MongoDB indexing, and a DSA problem on longest valid parenthesis subsequence. Round 3 was a culture + team fit discussion with the VP of Technology, where I was officially extended the offer.
Interview Questions (3)
Design a rate limiter that can handle burst traffic. The interviewer asked to implement a simple one and discussed the sliding window approach. They wanted to understand how to prevent bursts of requests while allowing a certain number of requests within a time window.
Find the longest valid parenthesis subsequence (discontinuous) in a given string. The problem requires identifying the longest subsequence of parentheses that are properly nested and closed, even if they are not contiguous.
Design a real-time support chat system that handles 1-to-1 chat between customer and agent, then extends to multi-user groups with message visibility and permissions. The discussion covered when SQL and NoSQL (MongoDB) are better suited for chat systems.
Summary
I successfully navigated a three-round interview process at Zomato for a backend role, covering technical skills, system design, and cultural fit, ultimately leading to an offer.
Full Experience
Round 1 - Technical (60 minutes)
This round began with a discussion about my previous work experiences at startups. The interviewer then delved into some core backend concepts:
- How scaling pooling works
- The differences between processes and threads
- When to opt for multithreading versus multiprocessing
Having a backend background, I felt comfortable answering these questions.
Next, I was given two SQL problems. The first involved writing a query to find employees who earn more than their manager from an employees table (emp_id, name, manager_id, salary). The second, using the same table, required finding the number of employees reporting to each manager, specifically showing only managers with at least 3 direct reports. I solved both using self-joins and a combination of GROUP BY and HAVING clauses.
The DSA segment presented a graph problem. First, I had to find the shortest path distance from a source node to all other nodes. I used BFS for this, achieving an O(V+E) complexity. The second part was more challenging: identify which edge removal would cause the maximum number of nodes to become unreachable from the source. My initial approach involved trying to remove each edge and re-running BFS, and I also discussed optimization strategies with the interviewer, who seemed satisfied.
A few days later, I received a call confirming that I had cleared this round and that my next interview was scheduled.
Round 2 - System Design (75-80 minutes)
This round was conducted by a Senior Engineer. We started with a brief chat about my work experience and some general tech topics for the first 5-10 minutes.
The core of the round was a system design question: Design a food order tracking system. The requirements included real-time updates for users (order confirmed, restaurant preparing, delivery partner picked up, delivery partner location, order delivered), handling concurrent orders, and delivering updates to millions of users in real-time.
Over about 70 minutes, we had an extensive discussion covering:
- The choice between WebSocket vs Server-Sent Events for real-time updates
- Utilizing a message queue like Kafka for order status events
- Designing the database for orders and delivery tracking
- Using Redis for caching active delivery locations
- Strategies for handling connection drops and reconnections
- Crucially, how to scale WebSocket servers for a large user base
There was a significant back and forth on the tradeoffs of different architectural approaches.
Towards the end, for the last 15 minutes, I was given a coding question: Design a basic rate limiter. The task was to implement a function that returns true/false based on whether a user request should be allowed, adhering to a constraint of max N requests per minute per user. I implemented a solution using a sliding window approach with timestamps. The interviewer then probed about memory optimization, leading to a discussion about the token bucket algorithm, which I didn't have time to implement.
I cleared this round as well, receiving confirmation after a few days.
Round 3 - Zomato's Culture Round (30 minutes)
This final round was more focused on culture fit and felt somewhat like a formality, especially after clearing the first two technical rounds. The interviewer was a VP-level individual with extensive experience.
For the initial 10 minutes, he inquired about my background, what I was looking for in my next role, and specifically why I was interested in Zomato. Following that, he provided insights into:
- The team structure and who I would be collaborating with
- The day-to-day work culture at Zomato
- Work-life balance, honestly mentioning crunch times during peak periods
- Growth opportunities and the performance review process
- The current tech stack and ongoing projects
Towards the end, we discussed compensation. He shared details regarding the base salary, ESOP structure with vesting schedule, and standard benefits. I had the opportunity to ask questions about the role and team, making it a very open conversation.
He concluded by mentioning that HR would send the official offer letter in a few days, which I subsequently received via email within 2-3 days.
Interview Questions (9)
Discuss how scaling pooling mechanisms work in distributed systems.
Explain the differences between processes and threads.
Describe when to use multithreading versus multiprocessing, including their respective advantages and disadvantages.
Given an 'employees' table with columns: emp_id, name, manager_id, salary. Write a SQL query to find employees who earn more than their manager.
Given the 'employees' table with columns: emp_id, name, manager_id, salary. Write a SQL query to find the number of employees reporting to each manager, but only show managers with at least 3 direct reports.
Given a graph and a source node, find the shortest path distance from the source to all other nodes.
Given a graph and a source node, identify which single edge removal causes the maximum number of nodes to become unreachable from the source.
Design a food order tracking system. When a user places an order, they should receive real-time updates on statuses such as: Order confirmed, Restaurant preparing food, Delivery partner picked up, Delivery partner location updates, and Order delivered. The system needs to handle concurrent orders and send updates to millions of users in real-time.
Design a basic rate limiter. Implement a function that returns true or false indicating whether an incoming user request should be allowed, subject to the constraint of a maximum of N requests per minute per user.
Summary
I recently interviewed at Zomato for an SDE-1 position in Gurugram, successfully completing three rounds and receiving an offer, which was a dream come true for me.
Full Experience
Zomato SDE-1 Interview Experience 🍕🚀
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
This round focused on Data Structures & Algorithms and System Design.
Question 1: Minimum Swaps to Sort
I was given an unordered array consisting of consecutive integers [1, 2, 3, ..., n]. I had to find the minimum number of swaps required to sort the array, being allowed to swap any two elements.
Question 2: Banner Scheduling Schema
I was asked to design a schema and approach for showing a banner X times in Y hours for Z such durations. I explained how we can track frequency, enforce limits, and reset counters using the proposed tables. I successfully cleared Round 1.
Round 2 (Projects + LLD + DSA)
Interviewer: Kartik Khariwal
This round was very project-heavy. The interviewer wanted to dig deep into scalability & design trade-offs related to my previous experience.
Discussion on my Previous Experience (AI-based transcription & summary generation):
- How did I handle audio input from mic/system?
- How did I transfer heavy audio files to backend?
- How did I manage LLM token limits for >1 hr meetings?
- Why MySQL for the database? What were table schema & data types?
- Which external APIs did I use?
LLD Question: Restaurant Menu System (Zomato specific 🍕)
I had to model restaurant menus with multiple configs like size, crust, toppings (focusing on Domino’s case).
DSA Question: Suggest Dish Price
Given a merchant’s previous dish prices, I had to suggest a price for a new dish such that it was greater than 1/3rd of the dish’s price and less than 2/3rd of the dish’s price. I provided both an O(n log n) sorting solution and an optimized O(n log log n) solution using two heaps. I wrote pseudo-code for the optimized approach. I successfully cleared Round 2.
Round 3 (Managerial + HR)
Interviewer: Gyanendra Kumar (VP, Eternal)
This was a purely managerial round. We discussed:
- Why Zomato?
- My short-term & long-term goals.
- How I see myself growing here?
It was more about mindset, cultural fit & career goals than coding.
Final Verdict 🎉
I 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. I'm super excited to begin this journey!
Interview Questions (4)
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: 3Design 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.
Model restaurant menus with multiple configs like size, crust, toppings (focus on Domino’s case).
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
10 20 30 40 50 60
Suggested Price: Between 20 and 30
Preparation Tips
My preparation involved having strong DSA fundamentals, particularly with topics like cycles, heaps, and sorting. It's crucial to be prepared to explain your projects in depth, discussing design choices, trade-offs, and scaling considerations. Additionally, one should not ignore LLD/HLD, especially when applying to product-based companies. Finally, managerial rounds are more significant than many juniors might realize, so preparing for those is also essential.
Summary
I experienced an Online Assessment for a Fresh Graduate role at Zomato (Eternal program), which consisted of 3 DSA problems and 18 MCQs on CS fundamentals and ML. I have provided the details of the DSA problems encountered.
Full Experience
OA Pattern : 3 DSA 65 minutes, 18 MCQs 20 minutes MCQs were based on CS fundaments and ML
Problem 1: Minimum Swaps to Sort Non-Zeros (100 points)
You are given an array of integers, where some elements are zeros and others are non-zero integers. Your task is to find the minimum number of swaps required to sort the non-zero elements in ascending order, while keeping all zeros at the end of the array.
Rules:
- You can only swap a non-zero element with a zero.
Problem 2: Minimize Longest Continuous Sequence After Flipping (60 points)
You are given a string consisting only of the characters 'a' and 'b'. You can flip characters, meaning you can swap 'a' to 'b' and vice versa, at most k times.
Your task is to minimize the length of the longest continuous sequence of the same character (either 'a' or 'b') in the string, after performing at most k flips.
Problem 3: Max Score of Substrings (50 points)
You are given a string s and a number k. You need to calculate the maximum score of any substring of length k in the string. The score of a substring is calculated as follows:
For each character in the substring:
- Its "character value" raised to the power of its frequency in the substring.
The character values are as follows:
'a'= 1,'b'= 2, ...,'z'= 26.
Return the maximum score among all substrings of length k. Since the result can be large, return it modulo $10^9 + 7$.
Example 1:
Input: s = "abaab", k = 2
Output: 3
Explanation: The substrings of length 2 are:
"ab" → score = 1^1 + 2^1 = 3
"ba" → score = 2^1 + 1^1 = 3
"aa" → score = 1^2 = 1
"ab" → score = 1^1 + 2^1 = 3
The maximum score is 3.
Interview Questions (3)
You are given an array of integers, where some elements are zeros and others are non-zero integers. Your task is to find the minimum number of swaps required to sort the non-zero elements in ascending order, while keeping all zeros at the end of the array.
Rules:
- You can only swap a non-zero element with a zero.
You are given a string consisting only of the characters 'a' and 'b'. You can flip characters, meaning you can swap 'a' to 'b' and vice versa, at most k times.
Your task is to minimize the length of the longest continuous sequence of the same character (either 'a' or 'b') in the string, after performing at most k flips.
You are given a string s and a number k. You need to calculate the maximum score of any substring of length k in the string. The score of a substring is calculated as follows:
For each character in the substring:
- Its "character value" raised to the power of its frequency in the substring.
The character values are as follows:
'a'= 1,'b'= 2, ...,'z'= 26.
Return the maximum score among all substrings of length k. Since the result can be large, return it modulo $10^9 + 7$.
Example 1:
Input: s = "abaab", k = 2
Output: 3
Explanation: The substrings of length 2 are:
"ab" → score = 1^1 + 2^1 = 3
"ba" → score = 2^1 + 1^1 = 3
"aa" → score = 1^2 = 1
"ab" → score = 1^1 + 2^1 = 3
The maximum score is 3.
Summary
I interviewed for an SDE Full-time role at Zomato on-campus. The process included an online assessment and an interview focused on backend concepts and three DSA questions. I was rejected after the first interview round, despite solving most questions.
Full Experience
I am from tier-1 NIT college and recently Zomato has visited our campus for sde full time roles. Below is the detail about my process:-
- Online assessment - All students having CGPA of >= 8.0 were selected for it.
- If you want to know about detail OA I can give you link for the leetcode discuss just comment it.
- Out of all eligible students 18 students were selected for first round of interview and I was one of them.
- Interview:-
- Interviewer was IITian having lots of experience as he began his intro and then I quickly introduced myself.
- Roughly half an was about my backend concepts as my resume includes all backend concepts. So you can expect 30 minutes resumes based questions.
- Then, they asked three DSA questions. First one based on concept of B+ Tree, he went deep into B+ tree asked me complexity of insertion, and questions like what will happen If I increase the order of the node (i.e k). Then Why we are not storing sorted keys on just single array instead of B+ tree and many more questions.
- Second Questions was modification of Deleting a node from BST having two children.
- Last Questions was based on graph+DP concept. This are little bit harder. If you want full details of questions you can comment below. I was able to all questions but in last questions I stuck in between and then able to solve the questions by taking hints from the interviewer.
I was not selected for further round. I don't know the exact reason behind that but I think they want 100% accuracy from candidate in all 3 DSA question they asked me. If you know anything that could be the reason for my rejection you can comment it.
Result-> ❌ Rejected!
Interview Questions (2)
The interviewer went deep into B+ Tree concepts, asking about the complexity of insertion, what happens if the order of the node (k) is increased, and why B+ Trees are preferred over a single sorted array for storing keys.
A modification of the standard problem of deleting a node from a Binary Search Tree (BST) that has two children.
Summary
I interviewed for an SDE-1 position at Zomato as a 2025 graduate. The interview consisted of three rounds: two technical DSA rounds and one virtual culture fit round.
Full Experience
The interview consisted of three rounds.
- 2 Technical rounds where they ask 1/2 DSA questions each
- One culture fit round. This generally happens in person where they fly you down but I had it virtual due to some last minute challenges.
About myself
College : Computer Science from Tier 1, 2025 grad Experience : 4 internships, 3 at startups and one at a MNC
Round 1
2 DSA questions were asked; along with discussion on resume. The interviewers focus on why you did you did, and how was it done. This included the work experience as well as projects.
DSA questions
-
A standard array traversal where we are supposed to optimise to O(n) time with no extra space.
-
Array of postive integers is given; where elements can repeat. We are also given a target integer. Return the length of minimum subarray such that sum integers in the subarray us greater or eaual to the target
- What happens the array contains negative numbers. How can we solve it then
Round 2
Was a lot more focused on understanding the the subject. My resume contained operating systems projects and hence was asked on that.
DSA question
- A very standard BST traversal logic. Had a lot of test cases we went through, what if the tree is skewed, negative values, etc.
Round 3
The goal is to understand if you fit with the culture at Zomato. Asked a few questions about why Zomato, my previous work experience and some examples of when I tackled issues, whether my mindset aligns with what they look for
Conclusions
Focus on your resume, the interviewers don't ask questions for the sake of it. They will try to understand, will do their homework before asking you questions. Deep dives are common and expected.
Good luck and all the best!
Interview Questions (1)
Array of postive integers is given; where elements can repeat. We are also given a target integer. Return the length of minimum subarray such that sum integers in the subarray us greater or eaual to the target - What happens the array contains negative numbers. How can we solve it then
Summary
I interviewed for an SDE-1 position at Zomato through an on-campus drive, which involved an Online Assessment followed by an online interview focusing on projects, CS fundamentals, and Data Structures & Algorithms, but I was ultimately rejected.
Full Experience
Hi everyone, recently zomato visited our campus to hire for SDE-1 position. Here is my full interview experience.
1. Resume shortlisting:
Around 250 students got shortlisted for the OA
2. OA was on hackerrank platform, here are my memory based Q's of OA
10 students got shortlisted after this round including me.
3. Online Interview:
Started off with intro of both of us, then he deep dived into my internship project details,asked about the whole pipeline of the project ,my specific role, and some cross cs-fundamentals based on the project for eg:what activation function did you use, what was your model accuracy,etc.
Then he asked some CS fundamentals:
- What is Postgres?
- Why you didn't use MongoDB?
- When shall i use Postgres?
- Do postgres satisfy ACID properties ?
- CAP theorem ?
- Is CAP theorem applicable to SQL ?
- What happens when you type zomato.com in the web browser?
Then he deep dived into one of my personal projects and asked some cross-questions regarding it.
Then he asked 3- DSA Q's in google docs.
- LC- Easy - Missing Number
- LC-Medium - Minimum Size Subarray Sum
- LC-Hard - The Skyline Problem
Then he asked few Q's related to my hackathon participation.
And then finally he asked if i had any Q's for him.
It was total of 1.5 hr.
4. Final Status- rejected
Although i couldn't make it but will improve for future opportunities.
Thanks for reading.
Happy Coding!
Interview Questions (10)
What is Postgres?
Why didn't you use MongoDB for your project?
When should one choose to use Postgres?
Does Postgres satisfy ACID properties?
Explain the CAP theorem.
Is the CAP theorem applicable to SQL databases?
Explain the process of what happens when you type 'zomato.com' into a web browser and press enter.
Summary
I interviewed for a Software Developer - 1 position at Zomato. The process involved three technical rounds, covering DSA, system design, databases, core CS concepts, and project discussions, ultimately leading to my selection.
Full Experience
Profile: 1 Year of non internship Industry Experience
Previous Roles: SDE-1 [4 months], SDE-2 [8 months]
Position Interviewed For: Software Developer - 1
Mode: Remote
📞 Initial HR Discussion
- Had an introductory call with the HR team.
- Topics covered:
- Expected salary
- Previous work experiences and current role
- After mutual agreement on compensation, the technical rounds were scheduled for the following week.
🔹 Round 1: Technical Interview – DSA + Fundamentals
A brief but focused session with the interviewer. The discussion covered both problem-solving and foundational concepts.
🧩 DSA Question: Cinema Hall Seating
Inspired by this: https://leetcode.com/problems/cinema-seat-allocation/description/
"The original question was a bit more nuanced. This is a simplified, more concise, and final version of it."
📘 Additional Questions:
- Questions on past project experiences
- How WebSocket communication works
- What happens internally when you visit
google.comin a browser - How a web browser loads and renders content
- Experience-based technical discussions relevant to my previous roles
🔹 Round 2: Technical + System Design + Database
This round was more extensive. The interviewer was extremely polite and, interestingly, shared the same name as mine!
🧩 DSA & Design Question: Restaurant Timing System
You are building a backend service for a restaurant platform with two key features:
🔹 Use Case 1: Restaurant Page
- Show all open-close time slots for a given restaurant.
🔹 Use Case 2: Home Page
- Show all restaurants currently open at the time of request.
Example Data:
R1 → [08:00–13:00], [20:00–22:30]
R2 → [07:00–14:00], [19:00–23:30]
R3 → [08:30–14:30], [21:00–23:00]
Constraints:
- Data is pulled once daily from the backend.
- You must use a single in-memory data structure to support:
- Efficient retrieval of all time slots for a restaurant
- Real-time lookup of which restaurants are currently open
📘 Database & Core CS Concepts
- How indexing works in relational databases
- Differences between Binary Search Trees (BST) and Red-Black Trees
- How insertion, updation, and deletion work in BST with practical examples
🧾 SQL Query Scenario
Schema:
- Two tables:
restaurantandcuisine - Each restaurant can have zero or more cuisines
Task:
- Write an SQL query to find all restaurants that do not have any assigned cuisines
- Use JOINs only (no subqueries or nested queries)
⚙️ Deadlock Detection
- A real-world multithreading/concurrency scenario was shared
- Asked to analyze if it results in a deadlock, with reasoning and possible resolution strategy
🏗️ System Design: Contract Management System
As I had prior experience working on a Contract Management System, the discussion dived deep into architectural aspects.
Areas Discussed:
- Functional & Non-functional Requirements
- Traffic & scale estimation
- Microservice-based architecture
- Inter-service communication strategies
- Schema design, data modeling, and entity relationships
- Covered both:
- High-Level Design (HLD)
- Low-Level Design (LLD)
💬 The interviewer appreciated the depth of thought and clarity in the system design discussion.
🔹 Round 3: Experience-Focused Discussion
A more informal yet technical round focused on role fit and practical impact.
- Detailed walkthrough of my current responsibilities and project work
- Shared live demos of projects I’ve contributed to
- In-depth cross-questioning on design decisions, trade-offs, and results
- Technical discussion on the working of Docker and how it’s used in CI/CD and deployments
- Final discussion around salary expectations and joining date
✅ Final Thoughts
Overall, the process was structured and engaging, with a good mix of DSA, system design, and real-world tech conversations.
Interview Questions (5)
You are building a backend service for a restaurant platform with two key features:
🔹 Use Case 1: Restaurant Page
- Show all open-close time slots for a given restaurant.
🔹 Use Case 2: Home Page
- Show all restaurants currently open at the time of request.
Example Data:
R1 → [08:00–13:00], [20:00–22:30]
R2 → [07:00–14:00], [19:00–23:30]
R3 → [08:30–14:30], [21:00–23:00]
Constraints:
- Data is pulled once daily from the backend.
- You must use a single in-memory data structure to support:
- Efficient retrieval of all time slots for a restaurant
- Real-time lookup of which restaurants are currently open
Schema:
- Two tables:
restaurantandcuisine - Each restaurant can have zero or more cuisines
Task:
- Write an SQL query to find all restaurants that do not have any assigned cuisines
- Use JOINs only (no subqueries or nested queries)
A real-world multithreading/concurrency scenario was shared. Asked to analyze if it results in a deadlock, with reasoning and possible resolution strategy.
As I had prior experience working on a Contract Management System, the discussion dived deep into architectural aspects.
Areas Discussed:
- Functional & Non-functional Requirements
- Traffic & scale estimation
- Microservice-based architecture
- Inter-service communication strategies
- Schema design, data modeling, and entity relationships
- Covered both:
- High-Level Design (HLD)
- Low-Level Design (LLD)
Summary
I successfully cleared my SDE Backend Intern interview at Zomato, securing an internship offer after navigating through three rigorous rounds focused on database concepts, system design, problem-solving, and behavioral aspects.
Full Experience
I applied off-campus for an SDE Intern (6-month role) at Zomato through a referral as a final-year CSE student. I was fortunate to receive an internship offer.
ROUND 1
The first round was with an SDE-III. It started very casually with an introduction and a discussion about my past achievements and my motivation for Zomato versus starting my own venture. I was asked about my choice of MongoDB over MySQL for an internship project, and the general tradeoffs between Mongo and SQL, including when and why to use each. This led to a follow-up on database indexing when I mentioned using indexes on an attribute. The interviewer then posed a detailed question about how a query like SELECT ALL WHERE A=10 and B=20 would perform with separate indexes on A and B, followed by a discussion on the benefits of composite indexes. I admitted my lack of prior knowledge about index types but collaboratively broke down the potential backend workings. After a lengthy discussion on databases, we moved to a system design problem: designing an Attendance System with multiple roles (teacher, dean, student), course enrollment, attendance tracking, and a feature for students to calculate classes needed to reach 75% attendance. I also had to design the database structure, APIs, logic, and a secure login system. I spent considerable time on DB design, being my first SD interview, but managed to incorporate optimizations. For the login system, I was asked the difference between Hashing and Encrypting (which I couldn't clearly answer) and a critical question about preventing session ID hijacking, especially with a follow-up on shared IP addresses, where I eventually surrendered. This round lasted almost 1 hour 25 minutes, and I received a call from HR the next day, informing me I had cleared it.
ROUND 2
The second round was with an Engineering Manager. He introduced himself, highlighting his 9-year affiliation with Zomato. He then asked for my introduction, specifically requesting me to omit details from my resume. Again, I was asked why I chose Zomato over a startup. I was also asked about my previous interview experience and expectations. I made it clear that I wasn't a 'DSA Guy' and had focused more on projects and the business side of tech during my B.Tech. I was then asked about the most challenging technical problem I'd ever faced, to which I explained a hackathon project, satisfying the interviewer after a couple of clarifications. Next, I was given a puzzle: identifying a specific box of apples with slightly lighter apples among 10 boxes, with only one weighing scale reading. I had 2 minutes but couldn't solve it, and we skipped it after 5 minutes. The final technical question involved manipulating a Doubly Linked List: given an integer N, delete all nodes whose values fall within the Fibonacci series up to N. For example, given N=25, remove 8 and 21 from head <-> 9 <-> 10 <-> 8 <-> 21 <-> 6 <-> tail. I proposed multiple solutions, and the interviewer kept pushing for more, resulting in about 4-5 solutions with varying trade-offs. When asked to code, I deliberately chose a less optimal but more readable and maintainable approach, justifying that the 'best' solution was less maintainable. The interviewer seemed neutral initially but appreciated my stance during his feedback. He mentioned he wasn't looking for the optimal answer but rather my ability to generate multiple solutions. This round lasted 1 hour 20 minutes, and I received a call from HR exactly 24 hours later to schedule the next round.
ROUND 3
The third and final round was with the VP of Tech in the Gurgaon Office. This round was more conversational, covering introductions, discussions about my previous experiences, and once again, my reasons for joining Zomato instead of starting my own company. Following these discussions, an offer for the internship was rolled out. I also had the opportunity to ask some questions.
Interview Questions (7)
Discuss the reasons for choosing MongoDB over MySQL for an internship project. Explain the general tradeoffs between MongoDB (NoSQL) and MySQL (SQL) databases, including their respective use cases and when to prefer one over the other.
Given a table with separate indexes on columns A and B, explain how a query SELECT ALL WHERE A=10 and B=20 would be processed on the backend. Discuss whether it's better to use separate indexes on A and B or a single composite index AB for such a query. Compare the performance (time) and storage (space) efficiency for both scenarios and justify your reasoning.
Design an attendance system with the following requirements:
- Support different user roles (teacher, dean, student) with corresponding views.
- Teachers opt for courses, students opt for courses, and the system must track student attendance per course, viewable by both students and teachers/deans.
- Students should be able to see how many classes they need to attend to reach a 75% attendance threshold.
- Design the database structure, APIs, and business logic.
- Design a secure login system and explain its functionality.
Given a login system using session IDs, describe measures to prevent an unauthorized user from gaining access if they obtain a valid session ID. Discuss potential solutions and their limitations, particularly when considering scenarios like multiple users sharing the same IP address.
Describe the most challenging technical problem you have faced, detailing the problem, your approach to solving it, and the outcome or lessons learned.
You have 10 boxes, labeled 1 through 10. Each box normally contains 100 apples, with each apple weighing 1kg. One of the boxes has all 100 apples replaced with apples weighing 0.9kg each. Using a digital weighing scale, and taking only one reading, identify the label (identifier) of the box containing the lighter apples.
Given an integer N and the head and tail of a Doubly Linked List (DLL), delete all nodes whose values are part of the Fibonacci series up to N. For example, if N = 25, the Fibonacci series is 0, 1, 1, 2, 3, 5, 8, 13, 21. If the DLL is 9 <-> 10 <-> 8 <-> 21 <-> 6 <-> tail, the aim is to return the DLL after removing 8 and 21.
Preparation Tips
My preparation primarily focused on hands-on projects and understanding the business aspects of technology throughout my B.Tech studies, rather than intensive Data Structures and Algorithms practice. I am not a DSA-focused individual by my own admission.
Summary
I successfully navigated a three-round interview process for an SDE Frontend position at Zomato, involving deep dives into React, coding challenges, and system discussions, ultimately resulting in a job offer.
Full Experience
A few months ago, I decided to apply for the SDE Frontend position at Zomato, one of the leading food delivery platforms in India. I was really excited about the opportunity, as Zomato is known for its innovative technology and impressive engineering team. To get my foot in the door, I took an unconventional approach – I directly emailed Zomato's CEO, Deepinder Goyal, expressing my interest in the role and highlighting my relevant skills and experience. To my surprise, this strategy worked, and I soon received a follow-up email from one of Zomato's team leads to schedule an interview.
The interview process consisted of three rounds, each serving as an elimination round.
Round 1
The first round was with an SDE2, who grilled me on my knowledge of React, server-side rendering, and the internal workings of frontend frameworks. I also had to tackle a challenging LeetCode-style coding problem at the end of this round.
Round 2
The second round was with an Engineering Manager, and the focus shifted more towards hands-on coding. He asked me probing questions about React, such as the diffing algorithm, reconciliation process, and the rules around custom hooks. I also had to implement basic versions of useState and useEffect, and explain concepts like closures, the differences between let and var, and the advantages of using Tailwind CSS over CSS-in-JS. We also discussed my experience with Docker and its internal implementation.
Round 3
The final round was with the VP of Engineering. This was more of a conversational interview, where I was given an overview of Zomato's culture and what to expect as an SDE Frontend. The VP also asked me about what I could bring to the table and how I would contribute to the team.
After successfully navigating these three rounds, I was thrilled to receive a job offer from Zomato. The interview process was undoubtedly challenging, but it also gave me a glimpse into the company's high standards and commitment to building a strong engineering team.
Interview Questions (6)
Discussed React, server-side rendering, and the internal workings of frontend frameworks.
Probing questions about React, including the diffing algorithm, reconciliation process, and the rules around custom hooks.
Implement basic versions of React's useState and useEffect hooks.
Discussed closures, the differences between let and var, and the advantages of using Tailwind CSS over CSS-in-JS.
Discussed my experience with Docker and its internal implementation.
Discussed what I could bring to the team and how I would contribute.
Summary
I interviewed for an SDE-1 role at Zomato in Feb 2024 and successfully received an offer after a multi-round technical and culture-fit process. The interview focused on my projects, current work, and problem-solving skills, including a specific SQL query and a coding problem.
Full Experience
Background
I completed my BTech in CSE in 2022 from a Tier-3 college in India and currently have 1.5 years of experience in a product-based company in India.
Opportunity details
I applied for the SDE-1 role in Feb 2024 via a referral about four months prior to the interview process. The interviews were conducted in Gurugram, India.
Interview Process
Phone call:
After applying, I received a call and email from the recruiter, and my interview was scheduled for the following week.
Round - 1: Technical Interview (1.5 hours)
The round started with a 5-minute introduction. I confidently presented my recent projects, aiming to steer the discussion in that direction. We then spent about 15 minutes discussing my current work, responsibilities, and the technologies I use, which went reasonably well.
For the next 20-25 minutes, we delved into one of my projects, which was a basic database engine similar to SQLite. I explained how databases and indexing work, particularly focusing on B-Trees and my implementation details. I shared my screen, demonstrated a sample query running on my project, and explained how it read index data from the .db file. The interviewer seemed quite impressed during this part.
Following this, for 10-15 minutes, I was asked to write an optimized SQL query based on 4-5 provided tables. I used sub-queries, but it wasn't the most optimal approach. The interviewer also asked about the differences between subqueries and joins and when to prefer one over the other. I admitted I didn't know the exact implementation details and made an informed guess, which turned out to be incorrect. He corrected me, and we moved on.
The final 20-25 minutes were dedicated to a coding question. We were nearing the 1-hour mark, so I had to code quickly. It was a single question with a slightly twisted problem statement, which I solved using Binary Search on Answer. I wrote the complete working code and explained my approach. This part also went well.
Finally, I asked the interviewer about their work and for feedback. I felt the interview went an 8.5 - 9 out of 10, based on his feedback.
Round - 2: Technical interview (1 hour 15 mins)
Again, I started with a 5-minute introduction, highlighting my projects to guide the conversation. The next 15 minutes involved a discussion about my prior experience. The interviewer asked about REST APIs and other points from my resume. I struggled to explain my work and REST APIs properly during this part, which could have gone better.
For about 20 minutes, we discussed my second project, which involved graph algorithms and implementing a research paper. The interviewer questioned how to make the program thread-safe. I suggested using locking mechanisms but couldn't provide a thorough answer. They then asked me to write some pseudocode for the graph algorithm used in my project. I shared my screen, wrote the pseudocode, and answered clarifying questions. Subsequently, they asked about the internal implementation of a hash-map used in my project. I mistakenly confused hash-maps with ordered-maps in C++ and incorrectly stated they use Balanced Binary Search Trees. While the project discussion went well, my knowledge of specific data structure implementations could have been better.
The last 30-35 minutes focused on a coding question. Since we had discussed graphs, I initially proposed an un-optimal graph-based solution. I asked for a couple of minutes to think, and an observation clicked. I then explained my optimized solution, coded it, and we tested it with a few test cases on an online compiler. They presented a variation of the question, which I also solved, though they wanted a more optimized approach than I could provide at the time. I wrote my current solution, and we tested it again. This part went fairly well as I clearly explained my reasoning.
The interview concluded with me asking about their work. I rated this interview 7.5 out of 10.
Two days later, I received an email confirming I had cleared the technical rounds and was asked to schedule the final round. I also received detailed feedback from the second interviewer, acknowledging my good reasoning but suggesting improvement in my prior experience knowledge, while still being open to having me join.
Culture-fit round:
This round lasted about 30-35 minutes and was primarily a conversation with the VP of Tech. They explained Zomato's work environment and culture, highlighting why I should and shouldn't join. They emphasized that Zomato isn't a typical 9-to-5 corporate environment and offers significant learning and growth opportunities for those willing to put in the effort. They also verbally extended an offer and discussed the compensation, which I found fair and even higher than my initial expectations.
Result
I received and accepted the offer.
Interview Questions (1)
The interviewer provided 4-5 tables and asked me to write an optimized SQL query. I initially wrote one using sub-queries. The interviewer also questioned me about the difference between subqueries and joins, and which should be preferred in specific scenarios.
Preparation Tips
Tips based on my experience:
- Zomato primarily hires through referrals, and it's common for them to contact applicants a significant time after initial application.
- It's crucial to convey your strengths, whether in DSA, projects, or prior experience, to guide the interview discussion in those areas. They even provide a form where you can indicate your preferred interview focus.
- The DSA problems are typically medium-level and often require some observation rather than extreme difficulty.
- Revising SQL, DBMS, and OS concepts is a good idea, as questions on at least one of these are likely.
- Thoroughly prepare your resume; understand your prior experience and projects as interviewers will use keywords to frame their questions.
- Maintain composure and actively listen to the interviewer, as they often provide hints that can help guide you to the solution.
Summary
I successfully interviewed for an SDE 1 Backend role at Zomato in Gurgaon in September 2023, where I went through three rounds focusing on technical skills like System Design and DSA, alongside a cultural fit evaluation. I ultimately received an offer.
Full Experience
I had an off-campus opportunity for an SDE 1 Backend role at Zomato in Gurgaon, which I secured through a referral. My interview process consisted of three rounds.
Round 1: Technical (DSA & Technical Discussion)
The first round began with a 5-minute 'Tell me something about myself' introduction. Following this, we spent about 40 minutes discussing my internship experience, specifically how I would approach scaling the work I had done. This discussion also included a deep dive into the internal workings of DynamoDB, with several follow-up questions. Towards the end of the round, I was given a DSA question. I started with a brute-force approach and then optimized it. The problem was similar to the Kth Largest Element in an Array. This round was conducted on Google Docs.Round 2: Technical (System Design & Zomato Specifics)
In the second round, the interviewer first introduced himself and his work. Then, for about 35 minutes, he asked me various questions related to Zomato's operations. These were scenario-based questions like 'How would you approach this?', 'What is the benefit of doing this?', 'Why should we do this?', and 'How would we handle this situation?'. After a brief 2-minute self-introduction from my side, we moved on to a 45-minute System Design question: 'Design an image upload system.' This required me to discuss which protocol I would use, write code for CRUD APIs, cover status codes, request/response payloads, headers, and authentication applications. We also discussed SQL queries related to the system, including joins, query optimization, and indexing (both implementation and applications). This round also took place on Google Docs.Round 3: Cultural Fit
The final round was a 30-minute cultural fit discussion held at Zomato HQ in Gurgaon. It was a normal conversation where I was asked about my motivations for wanting to join Zomato and my expectations from the role and company.Overall, I noted that while they didn't ask me much DSA, they deep-dived into System Design in both technical rounds. The verdict was positive; I was selected!
Interview Questions (6)
A standard introductory question where I was asked to tell something about myself.
During the first round, there was a detailed discussion about how I would scale the work I did during my internship. This included a deep dive into the internal workings of DynamoDB and follow-up questions.
The interviewer, after introducing his work, asked me questions related to Zomato's operations. These were 'how would you approach/what is benefit of doing this/why we should do this/how would we take care of this situation' type questions relevant to Zomato's business.
I was asked to design an image upload system. This involved discussions around:
- Which protocol to use?
- Writing code for CRUD APIs.
- Status codes, request payload, response payload, headers, and authentication applications.
- SQL queries related to the system (with joins), query optimization, and indexing (implementation and applications).
In the cultural fit round, I was asked about my motivation to join Zomato and what my expectations were from the role and company.
Preparation Tips
Based on my experience, I would advise focusing diligently on Data Structures & Algorithms (LeetCode Medium - Hard). Equally important are DBMS concepts and System Design principles, as these were thoroughly explored during my technical interviews, especially System Design. I'd recommend being ready for deep dives into system architecture and related database aspects.
Summary
I successfully cleared a single-round interview for a Fresher SDE role at Zomato, which involved a mix of Data Structures & Algorithms, and core Computer Science fundamentals.
Full Experience
My interview for a fresher role at Zomato consisted of a single round that lasted approximately 1 hour and 22 minutes. Interestingly, I wasn't given an IDE; instead, I had to write all my code on Google Docs, which was a unique experience.
The interview started with a brief 'Tell me about yourself' (around 2 minutes) followed by a project discussion which took about 3-4 minutes.
Next, I was presented with two Data Structures and Algorithms problems. These were standard problems, possibly with slight variations or directly from common sources. I had to explain my approach thoroughly and then write the code for each. This section took about 40 minutes.
Following DSA, the interviewer moved to SQL. I was asked to write code for five SQL queries. These ranged from basic queries involving simple clauses and aggregate functions to more complex ones handling joins across two and then three tables with increasing difficulty. This part took around 8-9 minutes.
After SQL, there was a System Design question related to a Music Player. The interviewer clarified it wasn't a medium/hard problem; I only needed to write a single function and optimize its time complexity to O(N). This section took approximately 9-10 minutes.
We then delved into theory questions based on DBMS. I was questioned on different types of joins, their exact definitions, and my overall understanding of the topic, which took about 6-7 minutes.
The interview continued with Object-Oriented Programming (OOP) concepts. I had to explain the four famous pillars of OOP with real-life examples and handle cross-questions. This led to a deep dive into polymorphism, where I discussed its types (like overriding and overloading) with precise details and examples. Both OOP sections together took around 8-9 minutes.
Finally, I was asked about dynamic binding, the use of virtual keywords, and the implementation of runtime polymorphism, for which I only needed to write pseudo-code. This took about 5-6 minutes. Nothing was asked from Operating Systems.
I am fortunate to be among those selected for this opportunity. I realized that solving problems quickly during the interview allows the interviewer more time to explore other subjects, which is why I faced many questions from various CS fundamental topics as the DSA problems were quite standard and easy for me.
Interview Questions (10)
I was asked to implement the deletion of a node from a Binary Search Tree using a recursive approach. I had to provide the proper approach and code.
I had to solve a problem that required reversing a linked list in groups of a specified size 'k'. I needed to present a proper approach and write the corresponding code.
I was asked to write two basic SQL queries involving simple clauses and aggregate functions.
I had to write two SQL queries that involved handling joins between two tables based on two different conditions.
A medium-difficulty SQL query was presented, requiring me to handle joins across three tables, with an increased level of complexity.
For a music player system design, I was asked to write a single function and optimize its time complexity to O(N). The interviewer specified it as an easy system design question.
I was questioned on the types of DBMS joins, their exact definitions, and basic understanding of the topic.
I was asked to explain the four famous pillars of Object-Oriented Programming, provide real-life examples, and answer cross-questions related to them.
The interviewer requested a deep dive into polymorphism, including its types (like overriding and overloading), and specific, to-the-point details with illustrative examples.
The discussion involved dynamic binding, the role of virtual keywords, and the implementation of runtime polymorphism. I was required to provide pseudo-code for its implementation.
Preparation Tips
My strong preparation in Data Structures and Algorithms allowed me to quickly solve the coding problems. I also focused on core Computer Science fundamentals, which proved beneficial as the interviewer delved into various theoretical topics due to the quick completion of DSA questions.
Summary
I had an off-campus interview at Zomato which focused on core computer science fundamentals, including DSA, Operating Systems, and DBMS, along with discussions about my projects.
Full Experience
I went through an off-campus interview process at Zomato. The interview began with a challenging Data Structures and Algorithms problem. Following that, I was questioned on fundamental concepts from Operating Systems and Database Management Systems. Towards the end, there were additional questions covering general computer science fundamentals and an in-depth discussion about the projects I had worked on.
Interview Questions (6)
You are given a string pattern and an array of strings words. Return all strings in words that match the pattern. A string matches the pattern if there is a permutation of letters mapping such that if you replace each letter in the pattern with its mapped letter, you get the string. Two letters map to the same letter if and only if they are the same letter. Each occurrence of a letter in the pattern must map to the same letter in the string.
Example:pattern: xyxwords: ["aab", "aba", "zyx", "bcb", "ama", "abc", "mmm"]Answer: ["aba", "bcb", "ama"]
Explain what a mutex is in the context of concurrent programming and operating systems. Provide examples of its real-life applications to demonstrate its utility.
Describe the fundamental differences between a process and a thread. Highlight key aspects such as memory space, resource ownership, and communication mechanisms.
What is indexing in a database system? Explain its purpose, how it works at a high level, and its benefits and potential drawbacks.
Discuss the main differences between SQL (relational) databases and NoSQL databases. Cover aspects like data model, scalability, schema flexibility, and use cases.
Can join operations be applied directly in NoSQL databases? Explain the typical approaches to handling relationships and data aggregation in NoSQL environments, contrasting them with relational database joins.
Summary
I successfully secured an SDE-1 position at Zomato with 9 months of experience. The onsite interview process consisted of two challenging rounds, focusing on low-level design, data structures, algorithms, and system design, ultimately leading to an offer.
Full Experience
I learned about the opportunity through a friend's referral and LinkedIn posts. Zomato primarily considers referred applications, and after applying multiple times, I finally received an interview call one week post-referral. Interestingly, there was no initial coding round.
I was invited for an onsite interview at Zomato's office.
Round 1
This round began with a discussion of my experience and projects at Synopsys. The interviewers were very relaxed and created a comfortable atmosphere, even conversing in 'hinglish'. After detailing my work, we moved into a low-level design problem. I was asked to consider 1 million objects, each with 3-4 properties, and determine the optimal data structure to store them, focusing on fast retrieval of record groups. We discussed the factors influencing data structure choice and how a query would retrieve data from my proposed structure.Next, I was tasked with writing code to parse a JSON file and transform its nested structure into a flattened key-value format (e.g.,
a: {a1: 123, a2: {b: "abc"}} to a.a1 = 123, a.a2.b = "abc"). Following this, they presented a classic DSA problem: finding the longest substring with an equal number of 0s and 1s in a binary string. I solved this efficiently within 5 minutes and then thoroughly tested it with their provided test cases. The interviewers seemed quite satisfied, and I was shortlisted for the next round.Round 2
This round also started with introductions and questions about my work at Synopsys. The first major problem was a system design challenge: how to distribute incoming application requests across multiple servers to ensure an almost equal load, essentially designing a load balancer. I proposed token bucket and leaky bucket approaches, then elaborated on consistent hashing, explaining its differences from normal hashing and outlining each step involved. We also discussed primary and secondary indexing.Subsequently, they asked me to detail the entire lifecycle of a request, covering DNS, caching, and gateways. We explored the internal workings of a gateway, Content Delivery Networks (CDNs) and their types, and how DNS resolution leads to a server response. We also discussed various factors to reduce latency, such as vertical and horizontal scaling and geo-DNS routing.
Finally, I was asked to design a basic music player system, similar to Spotify, incorporating features like creating playlists, adding songs, and searching. I needed to specify the appropriate database, explain normalization and denormalization strategies for optimizing queries, and propose a suitable schema. The interviewers were pleased with my responses and provided feedback immediately. About 30 minutes later, I received confirmation that I had cleared the second round, and we proceeded to discuss compensation.
Interview Questions (6)
Given 1 million objects, each with 3-4 properties, what data structure should I use to store these records? The goal is to optimize data retrieval for groups of records. What factors would I consider when choosing a particular data structure, and how would I perform a given query on this structure to retrieve data?
Write code to read a JSON file and transform its nested structure into a flattened key-value pair format using dot notation. For example, given the JSON:
a: {
a1 : 123,
a2: {
b: "abc",
c: 32
}
} It should be converted into: a.a1 = 123
a.a2.b = "abc"
a.a2.c = 32Find the length of the longest contiguous sub-array in a binary string that contains an equal number of 0s and 1s.
Design a system to distribute incoming application requests to multiple servers such that each server receives an almost equal amount of requests. This involves discussing concepts like token bucket and leaky bucket approaches, consistent hashing (including its difference from normal hashing and the steps involved), primary indexing, and secondary indexing.
Describe every step a request goes through during its cycle, including DNS, caching, and gateways. What specifically happens inside a gateway? What is a Content Delivery Network (CDN), what are its different types? What is DNS, and how does a server respond to a request? Finally, what factors can be used to reduce latency in this entire process?
Design a basic music player system similar to Spotify, but with core features like creating playlists, adding songs to a playlist, and searching for songs. What type of database should be used? How can this database be normalized and denormalized to optimize for specific queries? What should be the schema design?
Summary
I was offered a Data Scientist role at Zomato after undergoing multiple rounds, including managerial, technical, and case study assessments. The process spanned several weeks, culminating in a compensation discussion and a final offer.
Full Experience
0. Application
I set my LinkedIn status to "open to work," and within a week, I received an inmail from Zomato's VP of Data Science, expressing interest in my profile for a Data Scientist role. I later learned that their profile is managed by recruiters. I responded with a **yes**.
1. First Round - Managerial (20 mins)
This round was with the VP, who discussed the company culture, ongoing projects, and their expectations for the role. I was asked about my approach to solving data science problems, which led to cross-questioning. We also discussed my past work experience in my current and previous companies, followed by further cross-questioning.
2. Second Round - Technical (1 Hr)
A senior data scientist conducted this round. I was asked questions related to my CV, such as explaining a project end-to-end. The interviewer repeatedly questioned my choice of approaches in projects. I also had to explain the working of various machine learning algorithms and methods, including how to train a Word2Vec model and the concepts of bagging and boosting. There were a few basic statistics questions as well. A significant case study involved discussing how I would build an ETA calculation model for Zomato. No questions were asked about deep learning. I managed to answer most questions but made mistakes on 2-3 of them. For the case study, it was an open-ended discussion where they focused on my problem-solving approach.
3. Third Round - Technical and Case Study (1 Hr)
This round was with a principal data scientist. Interestingly, some questions I had struggled with in the previous round were asked again. This time, I provided the correct answers, and the interviewer seemed impressed by my ability to learn from my mistakes and improve before the next stage. We again discussed common machine learning concepts. I was then presented with three data science case study problems, where the goal was to assess my ability to structure problems and solutions, identify relevant variables, plan data collection, and determine retraining frequency. Specifically, I was asked:
- How to design a recommender system for Zomato to suggest dishes to a user.
- How I would solve the cold-start problem in such a system.
- What metrics I would choose to evaluate the performance of my solution.
4. Compensation Discussion Round
The VP conducted this final round. They provided feedback from the technical rounds, acknowledging my improvement from the second to the third round. While they found my knowledge and problem-solving skills strong, they noted that my prior projects might not be directly applicable, implying a significant learning curve upon joining. Subsequently, they extended an offer: 24LPA Fixed and 8Lacs worth of ESOPS vested annually.
Interview Questions (6)
Explain the process of training a Word2Vec model.
Explain the concepts of Bagging and Boosting in machine learning.
Describe your approach to building an Estimated Time of Arrival (ETA) calculation model specifically for Zomato, considering real-world factors.
Design a recommender system for Zomato to suggest dishes to users. Discuss how to structure the problem, identify variables, collect data, and determine retraining frequency.
Explain how you would address the cold-start problem in the context of a recommender system.
What metrics would you choose to evaluate the performance of a recommender system?
Preparation Tips
My preparation involved several online courses, with the following being my key recommendations:
- CS229 from YouTube: Taught by either Andrew NG or Anand Avati.
- Python Bootcamp - Udemy: Taught by Jose Portilla.
- Data Science and Machine learning - Udemy: Taught by Jose Portilla.
- Fast AI machine learning course: Available on YouTube.
- Deeplearning.ai specialization: Although no deep learning questions were asked, it's still valuable knowledge.
- Statquest by Josh Starmer: I consider this the best lecture series available for statistics.
Summary
I interviewed for an SDE Intern position at Zomato in October 2022 and was ultimately rejected, despite performing well on some technical questions.
Full Experience
I reached out to a recruiter on LinkedIn and managed to schedule an interview. The interview was conducted by an SDE 3 and lasted about 1 hour and 30 minutes.
The interview started with a brief introduction, where I talked about my previous internship experience and answered a few HR questions.
Next, we moved to the technical section. I was asked to implement a basic subarray maximum sum problem in JavaScript. Initially, I misunderstood the interviewer's requirement, but I corrected myself and coded it correctly. However, the interviewer tried to challenge my confidence, and I faltered slightly despite having the right solution.
I was then asked to create a generic filter function that could be reused. I developed the function mostly correctly, but I encountered some syntax errors at the end as I wasn't entirely familiar with all the specific syntax details.
There was supposed to be a React question as well, but due to time constraints, it was skipped.
During the coding challenges, I was also questioned on core JavaScript fundamentals such as var vs let, closures, and polyfills, which I answered correctly.
Ultimately, I was rejected. My advice to others would be to remain confident, articulate your thought process clearly, be meticulous with syntax, and don't hesitate to ask the interviewer for a little clarification when needed. Best of luck to everyone!
Interview Questions (3)
Implement a function in JavaScript to find the maximum sum of a contiguous subarray within a given array.
Create a reusable generic filter function in JavaScript.
Discuss core JavaScript concepts including the differences between var and let, closures, and polyfills.
Preparation Tips
My best resource for preparation was the Akshay Saini Namaste JavaScript Playlist.
Summary
I successfully secured an SDE Intern offer at Zomato. My interview process involved two challenging rounds that primarily focused on in-depth JavaScript, React optimization, and implementing polyfills for core JS functions.
Full Experience
I am Gopal Oswal, a 4th-year IT student at IIPS, DAVV Indore. I specialize in JavaScript, particularly React and React Native.
Application Process
I applied to Zomato via a referral, as they primarily hire through this method. After my application, I received a call from HR regarding the interviews. Interestingly, I didn't have the video introductory round that some candidates experience.
Interview Round 1 (Medium-Hard)
My first round was a great experience with a humble and polite interviewer who made the conversation very comfortable. I had expected a DSA round based on past experiences, but instead, we delved into discussions about my projects. Following this, the interviewer asked me questions based on JavaScript, starting from the basics and gradually increasing the complexity. We then moved to ReactJS (as it was on my resume), again starting with fundamental concepts and then focusing heavily on optimizing React apps, specifically reducing component re-renders. I had to code a solution for a problem on codesandbox.io, with the interviewer progressively adding more constraints to the problem. This round lasted approximately 1 hour and 20 minutes.
The very next day, I received an email for Round 2.
Interview Round 2 (Hard)
This round began with even harder questions on JavaScript and React. The interviewer challenged me to write polyfills for built-in functions like `bind`, `call`, `apply()`, and `compose()`, focusing on their internal mechanisms. I successfully wrote the polyfill for `bind`. Although I wasn't familiar with the `compose()` function in JS, the interviewer explained it to me, and I then proceeded to write its polyfill. He also asked oral questions on Virtual DOM, React Lifecycle, Component Re-rendering, Context API, Redux, callback functions, and event loops. The interviewer was very polite and provided hints to help me reach the solutions. My persistence and 'fighting spirit,' even when facing an unfamiliar function like `compose()`, left a strong impression.
Two days later, I received a call with an offer!
Interview Questions (1)
Implement polyfills for JavaScript's built-in functions: bind, call, apply, and compose. Focus on understanding and explaining their internal working. For compose, even if initially unfamiliar, be prepared to learn its functionality and then implement its polyfill.
Preparation Tips
Based on my experience, I've gathered some critical tips:
- Always be prepared for anything – you can't guess if it will be a DSA or a technical round.
- Thoroughly research the company and, if possible, the interviewer's profile and work.
- Ask insightful questions to the interviewer, as it creates a positive impression.
- Always demonstrate a fighting spirit and don't give up easily.
- Speak your thoughts aloud; it often helps in getting hints from the interviewer.
Summary
I interviewed for an SDE1 position at Zomato in February 2022, located in Gurgaon, India. The process included two technical rounds focusing on computer fundamentals, DSA, and system design, after a CV-based selection for the initial screening. Despite receiving positive feedback on my DSA and problem-solving skills, I was ultimately rejected due to weaknesses in Computer Science fundamentals.
Full Experience
Online Coding Round
For the initial screening, an online coding round was not required. My selection for interviews was based purely on my CV. Shortly after, the recruiter called me to schedule the first technical screening round.
Technical Round 1 - 1 Interviewer [1.5 hours]
This round commenced with my introduction, followed by an in-depth discussion about my CV. The interviewer focused heavily on my Angular experience, asking questions such as:
- What is Angular, and how does it differ from server-side technologies like PHP/JSP?
- How are components rendered in Angular?
- What is the sequence of events when a REST call is made from an Angular application?
The conversation then shifted to core computer science fundamentals, specifically comparing Java and C++:
- What are the key differences between Java and C++?
- How does Java achieve platform independence?
- I was also questioned about my understanding of threads.
A significant portion of this round, almost an hour, was dedicated to Data Structures and Algorithms:
- I had to explain the differences between a general Binary Tree and a Binary Search Tree (BST).
- I discussed insertion, traversal, and modification operations within a BST.
- A specific task was to explain the logic for deletion in a BST and then write the corresponding code in Google Docs.
- I explained the internal working principles of HashMaps.
- We discussed practical applications and uses of both BSTs and HashMaps.
- I was asked to justify when one might choose a BST over a HashMap.
- Finally, we covered the time complexities for various operations across all discussed data structures.
The round concluded with a system fundamentals question: "What happens when you type a URL into a browser and hit enter?" I noticed the interviewer frequently probed with 'how' and 'why' for my answers and code, which limited the total number of questions covered. Honestly, I didn't think I performed well in this round, so I was quite surprised to receive a call for Round 2. The feedback I later received indicated that my DSA and problem-solving skills were positive, but my CS fundamentals were a weakness.
TechnoManagerial Round - 1 Interviewer [1 hour]
This round began with standard behavioral questions:
- Tell me about yourself.
- Why am I looking for a job switch, and what are my long-term life goals?
- We also discussed my current team and the specific project I was involved in.
A substantial part of the round involved a detailed discussion of a project architecture I had designed in my current role. I was asked to illustrate and explain it using Google Docs and a whiteboard.
Next, I was given a coding problem: I had to reverse a Linked List, implementing solutions using both recursion and iteration. I also had to discuss the space and time complexities of each approach and write the code in Google Docs.
The interviewer then moved on to database concepts, leading into an open-ended system design question:
- Design a Database Schema for an E-commerce Website. The interviewer intentionally provided no constraints, wanting to observe my problem-solving approach.
- I was expected to design tables covering various scenarios, including ordering products, managing clients with multiple delivery locations, handling sellers, tracking orders, registering products (considering multiple sellers for the same product), managing inventory, facilitating product searches, creating shopping carts with diverse products (potentially from different sellers), and maintaining order statuses, among other considerations.
- Throughout this design process, I had to vocalize my thought process, identify potential bottlenecks, and explain how I would address them.
Interview Questions (14)
Explain what Angular is and describe the key differences between Angular and server-side technologies like PHP/JSP.
Describe how components are rendered in Angular.
Explain the process and sequence of events when a REST API call is initiated from an Angular application.
Discuss the fundamental differences between Java and C++.
Explain the mechanism by which Java achieves platform independence.
Explain the differences between a general Binary Tree and a Binary Search Tree (BST).
Describe and explain the operations of insertion, traversal, and modification in a Binary Search Tree (BST).
Explain the logic for deleting a node from a Binary Search Tree (BST) and provide the implementation in code.
Explain the internal implementation and working principles of a HashMap.
Discuss practical scenarios and applications where Binary Search Trees (BSTs) and HashMaps are used.
Under what circumstances would you choose to use a Binary Search Tree (BST) over a HashMap, and why?
Describe the entire process that occurs from the moment you type a URL into a browser and hit enter until the webpage is displayed.
Design a comprehensive database schema for an E-commerce website. Consider various scenarios such as ordering products, clients with multiple delivery locations, sellers, order tracking, product registration (where multiple sellers can sell the same product), inventory management, searching for products, creating a cart with different products, selecting products from different sellers in the same cart, and managing order status, among other things. Explain your design choices, potential bottlenecks, and how you would approach them.
Summary
I recently interviewed for the Product Engineer (SDE-1) role at Zomato through campus placements and successfully received an offer for the position.
Full Experience
My interview process for the Product Engineer (SDE-1) role at Zomato consisted of a single technical round, which lasted about 45 minutes.
The round began with a brief self-introduction. Following this, the interviewer posed a few coding challenges and system design questions. We also delved into a discussion about my previous internship projects.
Overall, it was a focused technical discussion covering various aspects of computer science and software engineering. I was pleased to learn that I was among the five students who ultimately received an offer.
Interview Questions (5)
The interviewer asked me to introduce myself and walk them through my background and experience.
Given an array of integers, rearrange the elements such that all even numbers appear before all odd numbers. For example, if the input is
[3, 1, 2, 4, 5], a valid output could be[2, 4, 3, 1, 5].Variant 1: Solve this task in O(1) memory.
Variant 2: Solve this task while keeping the relative order of elements same, also in O(1) space.
I was presented with a problem scenario similar to LeetCode's "Rotting Oranges", which typically involves a grid of fresh, rotten, and empty cells. The goal is to determine the minimum time required for all fresh oranges to rot, given that rotten oranges contaminate adjacent fresh oranges every minute.
The interviewer engaged in a detailed discussion about one of my previous internship projects, asking about its architecture, technologies used, challenges faced, and my specific contributions.
Explain what microservice architecture is and discuss its key advantages compared to traditional monolithic architectures.
Summary
I interviewed for an SDE role at Zomato in December 2021 as a new graduate from a tier 1 college and successfully received an offer after completing an online assessment and a technical interview round. The process primarily focused on my problem-solving skills and approach to coding challenges.
Full Experience
Round 1: Online Assessment
This round was an online assessment consisting of four Data Structures and Algorithms (DSA) problems, which were in the medium to hard range of LeetCode. The duration of this round was 60 minutes. After completing the assessment, I was asked to fill out a Google form with details such as my JEE rank, coding platform ratings, GitHub profile, and CGPA. Approximately 50 students were shortlisted from this round.
Round 2: Technical Interview
This round took place on day 1 of the on-campus interviews and was a face-to-face interview conducted via Google Meet. The interviewer started by asking for my introduction, and then immediately moved to a DSA question. The problem was a slightly modified version of the LRU Cache problem. He first asked me to discuss my approach. I began by explaining a basic brute-force approach using 3-4 hashmaps, which had linear time complexity. I then optimized it to achieve O(log n) time complexity. I further attempted to convert it into an O(1) time complexity solution using a LinkedList, but my initial logic did not cover a few edge cases. The interviewer then gave me a hint, which enabled me to solve the question properly. The discussion for arriving at an O(1) solution took around 30 minutes. As the round was only 40-45 minutes, he told me not to write the code as he was satisfied with my explanation. Afterward, he spoke about his work at Zomato and his recent achievements. I asked a few questions regarding his work and how they tackled specific problems, particularly about the search option in the Zomato app, as he worked on this feature. This discussion continued for another 5 minutes, and he concluded the interview by sharing a few points on the work culture at Zomato.
Interview Questions (5)
Given N number of pages in N different books and M students. The books are arranged in ascending order of the number of pages. Every student is assigned to read some consecutive books. The task is to assign books in such a way that the maximum number of pages assigned to a student is minimized.
Count the number of ways to partition a binary string such that each resulting substring contains exactly two '0's.
A problem similar to Largest Rectangle in Histogram. This problem can be solved efficiently using a stack-based approach.
A slightly modified version of the LRU Cache design problem. This typically involves designing a cache that evicts the least recently used items when it reaches its capacity.
Preparation Tips
After being shortlisted for the face-to-face rounds, the focus was entirely on problem-solving skills and my approach to problems, with no discussion on past internships or projects. It is crucial to communicate continuously with the interviewer throughout the process. Paying attention to their work at Zomato and asking insightful questions can be a significant bonus point that boosts your selection chances. For candidates not from a CSE background, I recommend having 2-3 software-related projects or internships on your resume and GitHub profile. This provides a platform to discuss your work in HR and hiring manager rounds. I believe this might have been a reason for rejections I faced in final rounds from other companies, as one HR even provided feedback to improve my resume with more projects and open-source contributions, as they felt my resume was more suitable for a core role rather than an SDE position.
Summary
I had an interview for an SDE internship at Zomato, which involved resume-based questions and several algorithmic challenges. I successfully received an offer for the position.
Full Experience
I interviewed for an SDE internship at Zomato. The interview began with questions related to my resume. Following this, the interviewer presented three coding challenges. The first two were standard LeetCode problems: Insert Delete GetRandom O(1) and Global and Local Inversions. The final question was a dynamic programming problem: There is an array P of prices of N objects, where Pi denotes the price of the ith object. You have to sell those objects, but you can pick the object either from the left end or the right end. The profit earned on selling the object on kth day is k times the price of the object. Find the maximum profit you can get. I was initially waiting for the result, but I'm happy to report that I received an offer.
Interview Questions (3)
This was a DP-based medium level question: There is an array P of prices of N objects, where Pi denotes the price of the ith object. I had to sell these objects, but I could pick them either from the left end or the right end. The profit earned on selling the object on the kth day is k times the price of the object. The goal was to find the maximum profit I could get.