I recently had interviews with Flipkart in May 2021 and got selected, I wanted to share my experience so that other people can take help from it.
I had 2 years of experience.
Round 1: Machine Coding : 2 hours
The first round was machine coding round, the problem statement was to create a online food ordering system with various features.
- Restaurants can only serve one specialized dish.
- Restaurants can serve in multiple areas.
- At a time, users can order from one restaurant, and the quantity of food can be more than one.
- Users should be able to rate any restaurant with or without comment.
- Rating of a restaurant is the average rating given by all customers.
Complete problem statement : https://docs.google.com/document/d/1Bmkz9omByHqVvwU45cvkBRSwJAPKw9yaDsRlEnCg_lg/edit
I was Given 2 hours -> 90 minutes for coding and then 30 min to explain and demo the application to the panelist.
Do practice fee questions on machine coding because the interviewer might ask you to present the screen or keep tracking you throughout.
The expectation was to write runnable and extensible code with using various OOPS concepts and design patterns.
I was able to meet all the expectations and solved the created the bonus feature as well so the interviewer was quite impressed.
I have kept the solution in my GitHub Repo : https://github.com/iqblmoh/machineCoding
Round 2: DSA round : 1 hour
The second round was coding round, I was asked 2 questions, 1 hour, 1 panelist
The interview started with a brief intro about me and work experience.
1. Sort array of 0 1 and 2 in one pass -> https://www.geeksforgeeks.org/sort-an-array-of-0s-1s-and-2s/
2. Maximum Path Sum in a Binary Tree -> https://www.geeksforgeeks.org/find-maximum-path-sum-in-a-binary-tree/
Expectation are, you should be able to write clean code and explain through dry run.
I got stuck a bit in second question but interview gave me a hint and was able to complete it. This round is very important , you have to solve at least 1.5(1 complete and 1 at least half) problem to clear it.
Round 3: System Design Round (LLD +HLD): 1.5 hour
Third round was a design round, 1 panelist.
I was asked To design BookMyShow.
How to approach :
- First write down all the features, discuss the features with the interview thoroughly.(there are no obvious features, whatever is discussed design that only).
- Start designing table/class schema, list down the tables which will be required with all the columns and how these are mapped. You should be able to defend your db design. your db should follow the DB normalisations forms. your db should be able to complete all the feature discussed in point 1.
- Write down the APIs required, only the names like POST /user/signUp (name,,……) like this.
- Be very clear with design and explain nicely
Once I was done with LLD the interviewer asked me to create HLD for the same.
Divide the services if possible, like user service is diff from cinemaService etc..
Use Kafka queues to connect the services together.
See Gaurav sen’s YouTube video that will also help
I was able to design both LLD and HLD nicely the interviewer was impressed. so I got to the Hiring manager round.
Hiring Manager Round : 1 hour
This was the last round, It will be totally on your luck what kind of an HM interview you have, some people gets easy some gets tough.
The interview started with a brief intro with the interviewer,
The HM asked about my work experience and went in deep in many projects.
I worked on redis cluster so there was a long discussion on redis-sentinel vs redis-cluster.
Asked about OOPS in deep. java interfaces, abstract classes, singleton classes.
Asked about messaging queues, like Kafka, rabbitmq and all.
In the end the HM explained me the projects and discussed about the team.
For HM round be prepared with all the HR questions as well, like
1. Why should we hire you?
2. Why are you switching?
3. Why Flipkart?
4. Strengths and weaknesses.
Got the call from HR in 3 days that I was selected.
The process was very smooth and as I was already on notice period it took only 10 days to complete the process.