2.5 years of experience (non-internship) at Amadeus Software Labs.
Applied for the Flipkart SDE-2 role in the first week of January. Got a call from HR shortly after, followed by an assessment link the next day.
The OA had 2 coding problems:
Both were solvable if your fundamentals are solid. Focus on edge cases for the graph problem — that's where most people slip.
Cleared the OA and received a call from HR for the offline rounds.
Problem: Buy Now Pay Later (BNPL) System
This was a full-fledged machine coding round. The problem statement was detailed — design and implement a BNPL system for Flipkart from scratch.
Core requirements:
Bonus requirements:
What they looked for:
My experience:
I was able to complete all 7 core requirements + 1 bonus (blacklisting) within the 90-minute window.
The key is to spend the first 10–15 minutes clarifying requirements and sketching the design before writing a single line of code. Design patterns and clean abstractions matter as much as correctness here.
Two interviewers joined me in the meeting room. This round was a deep dive into the code I built in Round 2.
Code walkthrough & demo:
I walked them through the core flow — how I structured the service classes, separated concerns across different layers, and applied design patterns like Factory and Strategy. I also explained the exception handling strategy — no raw runtime exceptions anywhere; every failure surfaces as a custom-defined exception.
Stress testing on the fly:
The interviewers hammered the code with edge cases. The expectation was clear — the application should never throw an unexpected exception. Every error path had to be gracefully handled with meaningful custom exceptions.
Live coding:
They asked me to implement additional strategies on the spot and handle a new requirement that wasn't in the original problem statement. This tested both adaptability and how extensible my original design was. Being able to plug in a new strategy without touching existing code (thanks to the Strategy pattern) made this manageable.
UML diagram:
Towards the end, they asked me to sketch a UML class diagram covering the core classes, their relationships, and the design patterns used. This is where having a clean mental model of your own design really helps — don't just code, understand what you've built.
Tip: Don't treat the machine coding round as over once you submit. Round 3 is essentially a viva on your own code. Know every design decision you made and be ready to justify and extend it.
Two DSA problems on the board:
The classic House Robber IV was wrapped in a server maintenance context — a real-world twist that required understanding the problem beneath the framing before jumping to a solution. I started with the brute force approach, explained the reasoning clearly, and then walked through the optimized binary search + greedy solution. Wrote the pseudocode on the board.
A familiar one. Jumped straight to the approach — BFS with a deque, alternating insertion direction per level. Explained it confidently and moved directly to pseudocode.
Tip: For DSA rounds, always verbalize your thought process. Starting with brute force and improving shows structured thinking — even if you already know the optimal solution.
The HM himself took this round. Even though it was titled System Design, he went deep into low-level aspects throughout.
Structure we followed:
Requirement Gathering — He wanted me to drive this.
He seemed satisfied with the design. The conversation then shifted to:
Tip: Even in an HM round, be technically sharp. The behavioural questions are a conversation, not a recital — be genuine and specific with examples from your work.
Got a call from HR a week after the drive saying an offer was on its way. Received the offer letter the following week. 🎉
Overall Tips
Happy learning everyone! Feel free to ask anything in the comments. 🙌