Backend Engineer | Zenskar
JP Morgan Chase | SDE 3 | YOE 3.4
Microsoft SDE - 2 | Interview Experience | Status Pending
eBay || SWE3 Interview Experience || Bangalore
Bloomberg | Interview Experience | Senior Software Engineer | NYC | Nov 2025
Zomato | SDE Intern | Nov 2024 | Cleared
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.