Referral-only onsite: Round 1 mixed LLD+JSON flattening+DSA, Round 2 was almost entirely system design
I got to know about the opportunity with the help of one of my friend in Zomato and because of linkedin posts. I received interview call 1 week after receiving the referral as Zomato only considers applications through referral. i applied in zomato about 2-3 times but received the interview call only once. They didn't take the coding round.
I was informed to schedule the time for interview onsite in zomato office.
Round 1
This round started with details of my experience and projects done in Synopsys. Interviewers were very cool and relaxed we were talking in hinglish and from the very 1st second i was comfortable.
After explaining my experience we jumped upon the low level designing round where i was given 1 million objects and each objects having 3-4 properties. What Data structure should i use to store all these records. They tried to optimize the data structure such that a query on retrieving a group of records will be executed as fast as possible. Then they asked me about the factor that i will be considering to make a particular data structure for storing data.
then they asked me to perform a given query on this data structure and how will it retrieve the data.
After that they moved to next question they told me write a code so as to read a JSON file and perform the operation like below:-
JSON file:-
a: {
a1 : 123,
a2: {
b: "abc",
c: 32
}
}
convert this into
a.a1 = 123
a.a2.b = "abc"
a.a2.c = 32
then next they moved to a DSA Problem
find longest substring haivng equal number of 0 and 1 in a binary string.
I solved this problem within 5 minutes and in next 5-10 minutes i ran it on testcase given by the interviewer.
they looked quite satisfied, then i was shortlisted for the next round.
Round 2
This round started with introduction and they asked about my work at Synopsys.
After that they told me to give approach on how can i distribute requests comming on an application to multiple servers such that each server is having almost equal amount of requests. Actually they told me to create a load balancer.
i told them token bucket approach and leaky bucket approach then i told them about consistent hashing and then explained it all. They asked to me about difference between consistent hashing and normal hashing and told me to give each and every steps that i need to deal with in consistent hashing. We also had a discussion upon primary indexing , secondary indexing etc.
After that they asked me to tell about each and every step that a requests goes through during its cycle i.e DNS, caching, gateways all about it. They asked me what things happens inside a gateway. What is Content Delivery Network, what are different types of cache. What is DNS. How does a server responds then they asked the factors using which we can reduce the latency . I discussed vertical , horizontal scaling, geoDNS routing and all these.
After this They told me to design a music player system like Spotify but a basic one having only a playlist and adding a song feature and searching a song feature.
which DB should I use and how can i normalize and denormalize this database to perform some queries. what should be the schema.
Interviewers were quite happy and they told me the feedback.
After 30 minutes i got the result that i cleared 2nd round and we discussed upon the compensation
For Compensation : https://leetcode.com/discuss/compensation/3384377/Zomato-or-SDE-1-or-9-months-exp-or-Gurgaon
The loop · 2 rounds
Round 1: LLD data structure for 1M objects + JSON flattening coding task + DSA (longest balanced substring)
Round 2: load balancer/consistent hashing + request lifecycle + music player system design