FLIPKART SDE-2 INTERVIEW EXPIERIENCE
Summary
I interviewed for the SDE-2 role at Flipkart across five rounds, covering machine coding, DSA, HLD, and HM. Despite clearing all technical rounds and having positive interactions, I was ultimately ghosted by the recruiters regarding the final outcome.
Full Experience
My interview journey for the SDE-2 role at Flipkart comprised five intensive rounds. It was an insightful experience, though the outcome was quite unexpected.
ROUND 1: Machine Coding (120 minutes - 90 mins coding, 30 mins setup & explanation)
This round focused on Low-Level Design. I was tasked with implementing a flight booking system. The core functionalities required were:
- Returning flights with the minimum cost.
- Returning flights with the minimum number of hops.
The system needed to allow an admin to add flights with details like source, destination, flight name, and price. Users would then query for flights between two cities based on the above criteria. A bonus extension involved adding a feature to filter flights based on meal availability. I spent a good amount of time setting up and then explaining my design choices.
ROUND 2: Machine Coding Evaluation (45 minutes)
In this round, I had to explain my design and implementation from Round 1 to the interviewer. We discussed how I approached the problem and the rationale behind my decisions. The interviewer also asked me to consider adding more functionalities, specifically using BFS to find all available flights, and we touched upon design patterns and modularity for future improvements.
ROUND 3: DSA Round
This round presented two LeetCode-style Data Structures and Algorithms problems, both of which I categorized as medium difficulty. I was able to solve both of them.
- The first problem was Next Greater Element I.
- The second problem was a variant of the unbounded knapsack problem. The scenario was: "You are going on a trip and you have a total journey duration 'D'. You are given a list of songs with their durations, and you need to listen to the maximum number of songs within that duration, with songs being repeatable."
Clearing this round led to an interview call for the next round on the very same day, which was quite encouraging.
ROUND 4: High-Level Design (HLD) Round
The challenge for this round was to design LeetCode. I began by outlining the functional and non-functional requirements. A significant portion of the interview, about 30 minutes, was dedicated to discussing the essential entities required for such a system. We also covered the necessary APIs. Despite having an hour allocated, the interviewer seemed satisfied after our discussion on entities and APIs and indicated that he had enough information.
ROUND 5: Hiring Manager (HM) Round
This round started with a brief introduction from both sides. We then delved straight into the last project I had been working on. I explained everything about it, including the difficulties I faced. During this discussion, the interviewer posed a hypothetical question: "How would you add a notification service to this project?" I explained my approach, mentioning technologies like Kafka and Fluentd, which seemed to satisfy him. Moving forward, he asked several behavioral questions, which were not overly challenging. Towards the end, he told me about his team and their current work. Overall, this round also went smoothly.
After a few days, I reached out to the person coordinating my interviews for feedback. I was told that a recruiter would contact me shortly. This same statement was repeated the following week and even into the third week. Eventually, I was ghosted, despite my attempts to get proper feedback. They simply said they would call and explain everything, but it never happened, and I stopped calling them. With just 2 years of experience, I figured they probably found candidates with more experience.
Interview Questions (5)
Design a low-level system to manage flight bookings. The system should allow an admin to add flights with source, destination, name, and price. Users should be able to query for flights between a source and destination, returning results based on minimum cost and minimum hops. A bonus feature involves extending the system to filter flights based on meal availability.
Given a total journey duration 'D' and a list of songs with their respective durations, find the maximum number of songs that can be listened to within the duration 'D'. Songs can be repeated.
Design the LeetCode platform, including discussions on functional and non-functional requirements, required entities, and APIs. The interviewer focused heavily on entities and API design.
How would you add a notification service to your last project? I suggested using Kafka and Fluentd.