Background
Education: BTech CSE, 2022, Tier - 3 college, India
Experience: 1.5 Years of Experience in Product Based Company, India
Opportunity details
Date: Feb, 2024
Location: Gurugram, India
Role: SDE-1
Applied: Applied via Referral 4 months prior
Interview Process
Phone call:
- Got a call and email from recruiter, scheduled the interview in upcoming week.
Round - 1:
- Technical Interview (1 hour, got stretched to 1.5 hours)
- 5 mins, started with basic intro. I was confident about my recent projects and wanted the interviewer to discuss about them, that's why I included them in the intro itself.
- 15 mins discussion about my current work in the company and details about what I do, and technologies I work on. Went okay-ish.
- 20-25 mins, project discussion. My project was a basic database engine like SQLite. Discussed about how databases work, how indexing work, B-Trees and eveything I did in my project. I shared my screen and ran the project by running a sample query, and explained to him that this database engine is reading index present in the .db file to fetch the required data. The interviewer was fairly impressed at this point, so this part went well.
- 10-15 mins, writing one SQL query. The interviewer gave me 4-5 tables, and asked me to write an optimized SQL query. I wrote one using sub-queries, but that was not the most optimal way. He also asked me about difference between subqueries and joins, and which should be preferred when. I told him I don't know the implementation details, and I tried making an informed guess. Which turned out to be incorrect. He corrected me and we moved forward with the interview. This part could have gone better.
- 20-25 mins, coding question. We were very close to the 1 hour time limit, therefore, I had to code the question quickly. One single question, with a slightly twisted problem statement. I used Binary Search on Answer to solve the question. I had to write the complete working code, and then explain it. This part also went well.
- At last, I asked what problems and technologies does the interviewer works on, and asked for feedback.
- In total, the interview went 8.5 - 9 / 10, according to me (based on the feedback the interviewer gave).
Round - 2:
- Technical interview (1 hours and 15 mins)
- 5 mins intro. Again I mentioned my projects because I wanted the interviewer to talk about them.
- 15 mins discussion on prior experience. The interviewer asked me about REST APIs and other stuff written in my resume. This is the part where I was not able to explain properly my work and even I struggled at explaining about REST APIs. Could have gone a lot better.
- 20 mins project discussion. I explained my project, which basically uses certain graph algorithms and implements a research paper. The interviewer asked how can we make this program thread safe. I told them, that we can use some locking mechanism, but I could'nt provide a good answer. The interviewer asked me to write some pseudo code of the project. I shared my screen, and wrote a pseudo code of a graph algorithm. They then kept asking small clarifying questions, and I kept answering. Then they asked about internal implementation of a hash-map, which was being used in my project. I confused hash-maps with ordered-maps in C++ and replied they use Balance Binary Search Trees. Which is ofcourse incorrect. This part also could have gone better, but the project discussion went well.
- 30-35 mins coding question. The interviewer gave me a coding question. Since, we were discussing about graphs, I gave a graph based solution. But it was extremely un-optimal. It was an observation based question, I asked for 2 mins to think about it, and then the observaton clicked me. Then I explained my solution and they asked to write the code. We then executed and tested a few test cases on an online compiler. They then gave a variation on the question, which I also solved. They wanted it more optimized, but I couldn't. They asked me to write me current solution, and again we tested on certain test cases. This part went fairly well, as I was able to explain my reasoning.
- The interview then ended with me asking a question about their work.
- In total, the interview went 7.5 / 10, in my opinion.
2 days later I received an email that I've cleared the technical round, and asked me to schedule last round. I also received a detailed feedback from the second interviewer later that day. The interviewer basically said that my reasoning is good, there is room for improvement regarding my knowledge about my prior experience, but they are open to have me on-board.
Culture-fit round:
- Went for about 30-35 mins.
- It was more of the VP of tech talking to me, rather than me talking to them.
- They explained me about the work and work culture at Zomato, and why I should and shouldn't join Zomato.
- They made it very clear that Zomato doesn't work like a typical large corporate, where you have defined timing from 9 to 5. You'll be given lots of challenging problem and there will be a lot of opportunities for learning and growth, only if you are willing to put in the effort.
- They also verbally offered me my offer and also told what my compensation would be. The compensation was pretty fair in my opinion, as they asked for my expectation prior to the interview process starting, but they offered more than that.
Result
I got the offer and also accepted it.
Tips
- Zomato hires only through referrals, and they might give you a call quite a lot of time after you have applied. This is pretty common in Zomato from what I know.
- Try to convey your strengths to the interviewer (DSA, projetcs, prior experience), so that the interview goes in that direction. They even ask you to fill a google form, where you are asked how you want the interview to go.
- DSA problems asked are not hard. They are mostly medium level questions that require some kind of observation.
- Revising SQL, DBMS and OS is good idea, as you will be asked questions about at least on of those.
- Prepare your resume well. Read your prior experience and projects written in your resume, as they will see the keywords written and ask questions about them.
- Be calm and try to listen to what the interviewer is saying as they'll drop hints that you need to pick up.
Good Luck and All the Best!!