Round 1: DSA & Problem Solving (1 Hour)
This was the round that ultimately cost me the offer.
Question 1: Permutation in String.
Problem: Given two strings s1 and s2, return true if s2 contains a permutation of s1.My Approach: I was nervous and missed the optimal Sliding Window approach (Fixed size window). I implemented a Brute Force solution: generated all permutations of s1 () and checked if they existed in s2.
Self-Reflection: The interviewer expected an optimized solution immediately. This was a major red flag for an SDE-2 role.
Question 2: IP Address Management (LRU Cache Logic).
Problem: Manage a list of IPs that expire if a heartbeat isn't received.
My Approach: I recovered well here. Explained the approach using a Doubly Linked List + HashMap (standard LRU logic). We discussed the time complexity for add, delete, and update.
Verdict: The LLD discussion saved me from a hard rejection, but the coding in Q1 was weak.
Round 2: System Design & LLD (1 Hour)
Discussion: detailed discussion on projects from my resume (Scaling, DB choices). I felt very confident here (90% accuracy).
Coding/LLD: Design a Cache Service with pluggable eviction strategies.
My Approach: I implemented the Strategy Pattern. I created a Cache class that accepts an EvictionType interface. I coded the LRUEvictionStrategy fully.
Feedback: The interviewer was happy with the extensibility of the code.
Round 3: Senior Engineering Manager (1 Hour)
Project Deep Dive: We drew out the architecture of my current work. The manager was very satisfied with my answers regarding design trade-offs.
Coding: Bishop Moves on a Chessboard.
Problem: Given coordinates (x, y) for a Bishop on an 8x8 board, print all valid moves.
My Approach: Initially thought of 4 while loops (one for each diagonal direction). I optimized it to a single loop using a direction array [(-1,-1), (-1,1), (1,-1), (1,1)] to make the code cleaner and maintainable.
Round 4: Engineering Manager (1 Hour)
Behavioral: Standard questions ("Why are you looking for a change?", "How do you handle work you don't like?").
Coding: Sort Colors / Dutch National Flag (Sort an array of 0s, 1s, and 2s without a sort function and O(1) space).
My Approach: I solved it using the 3-pointer approach (Low, Mid, High).
Feedback: I arrived at the solution, but the interviewer mentioned I "could have coded it faster."
Final Verdic: 3 Rounds were postive out of 4 but they had good pool of candiate who cleared all 4 rounds henced I was drop from the process.
I felt disappointed after seeing the results because the competition is so tough nowadays. Good luck with your preparations, everyone.