Journey
I was not feeling happy in my previous role at Airtel Digital (erstwhile Wynk Music) and wanted to make a move out as soon as possible. When I started looking for preparation strategies, most of them focussed on FAANG/MAANG/TAANG companies with 3-6 months of roadmaps of DSA grinding. I decided I didn't want to waste that much time. Neither I had the dying urge of working in above mentioned Big Tech Companies. So, I decided to apply for companies like Flipkart, Zeta, Zomato etc. which had a good tech culture and good exposure to offer.
Interview Experience:
I applied to Flipkart through LinkedIn and Instahyre and got response within a week. I had approximately 10 days to prepare for the hiring drive. The process consisted of 3 rounds:
1. Machine Coding Round
2. Problem Solving Round (DSA)
3. Hiring Manager Round
Machine Coding Round:
The purpose of machine coding is to basically check whether a developer has the ability to convert a problem statement into clean modularised code within a small span of time. The problem statement given to me was Library Management System. It had 6-8 requirements like issuing a book, returning a book, calculating fine, reserving a book etc. The time given was 1.5 hours, within which a clean functional code was to be written. I was able to finish the code within time and submit. Once you finish, you get on a call with one or two interviewers to discuss code. The aim of this discussion was as follows:
a. Ensure all requirements were met
b. The code was bug free and handled all the edge cases
c. Evaluate Code Quality. [Give max importance to this]
d. Ask questions on low level design choices
Problem Solving Round:
Machine coding round was followed by problem solving round to check data structure and algorithm skills. Usually, it lasts for 50 mins to one hour. One medium and one medium-hard difficulty were asked:
1. Given a boolean 2D array, where each row is sorted. Find the row with the maximum number of 1s. Expected Complexity [Time: O(n), Space: O(1)]
2. Check if a binary tree is complete binary tree. Follow up: Find the size of largest complete binary sub-tree in a binary tree.
I was able to come up with the solution for both the problems. For the first question, I had to first discuss solution and write it's code. For the second problem, first we discussed solution of initial problem and follow up question. I was asked to write pseudo code for the follow up question to the second problem. In the end, some time was left, which interviewer utilised for some questions that I had.
Hiring Manager Round:
This round did not have any technical obstacles, but was more about personality and culture fit. The hiring manager was very cordial, and he was more interested in understanding about me, my past experience/projects and technical challenges I worked on and how I solved those problems. I used this round to ask some clarifying questions about the role, tech-stack used and kind of work to expect once I joined. The hiring manager was convinced and this round ended on a high.
After few weeks, I got confirmation from HR that my feedback was good and they would be extending the offer to me.
How I prepared?
Machine Coding Round:
For machine coding round, focus on writing quality code in quick time. It's important to write modular and extensible code, with good coding practices. While most of this comes with experience and hands on practice, I would recommend spend some time preparing for it. I came across a website, Work-At-Tech (https://workat.tech/machine-coding/practice), which had some common machine coding round problems with solutions. I practiced 5-6 problems from here and read solutions for the rest. This gave me an insight on what to expect from this round, and how to write good code in quick time.
Problem Solving Round:
Since I had less time, I didn't have the luxury to solve large number of questions. So, I decided to solve only few good quality questions. I read some interview experiences of Flipkart to understand what were the type of questions asked, how many questions were asked. I understood that it was not required to solve easy and hard problems. It was important to go through only medium problems. I revised the most used data structures like Hashmap, Heaps, Binary Tree, BST, Array (1-d and 2-d) and Graphs. Apart from it, I revised the common algorithms associated with these data structures. This I did from a youtube channel called Striver. I watched all the videos in 2x speed to revise everything quickly. Post this, I went to leetcode and GeeksForGeeks and started practicing problems previously asked in Flipkart interviews. Try to do this diligently. Try to solve as many questions as possible. Don't get fixated on one problem, and don't feel low if you are unable to solve some easy problem. Give good number of hours here. I always believe it's better to give 10 hours for 10 days, than to give 1 hour for 100 days.
Hiring Manager Round:
For this, I would say no preparation is required. If your previous two rounds went good, which was the case for me, hiring manager rounds are usually non-technical. But if there was some red-flag in previous rounds, this round can also see some data structure algorithm question. It's important to be truthful in this round. Don't try to fake anything or present a personality that doesn't exist. This round has some standard questions like
1. How did you solve an ambiguous problem at work?
2. What are your best qualities or achievements?
etc.
You can easily find a list of such questions online. For each question try to think of some examples. If you give real-life examples to substantiate your answers, your candidature would stand-out. Avoid giving some template answers available online. To-the point and substantiated answers is the key for this round.
Why selected/rejected for the role?
What helped me was a good resume, where I clearly explained what tasks I had worked on in the previous role.
If you know someone in flipkart, getting a referral increases chances of getting short listed.
Be confident during interviews, even when you don't know the answer. Try to approach the problem in objective way and don't site silent. Your interviewer will nudge you in the right direction.