Zomato Interview Experience Fresher
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.