Status: ~4 YOE
I received an opportunity via referral and received a Codility Test link the next day.
Codility Test Duration: 110 minutes Questions: 2 Hard Coding Questions Problem 1: What is Optimized Solution Problem 2: Microsoft OA
After clearing the Codility test, I received a call from the Recruiting Team to schedule all interview rounds for the upcoming Friday.
Round 1: DSA Duration: 60 minutes Questions: 2 Medium Coding Questions Problem 1: 20. Valid Parentheses. Extension: Same question with O(1) space. We discussed this extensively. Problem 2: 189. Rotate Array. The interviewer requested multiple approaches. Discussion: We had a lot of discussion and debated on two approaches for both problems and their associated space and time complexities. Feedback: Keep doing what you are doing. You are doing it right.
Round 2: LLD Duration: 60 minutes Questions: 1 Question Problem: Design a versatile Mem Cache System with various eviction policies like LFU, LRU, etc. Discussion: I discussed the overall class diagram of the Mem Cache System. I designed a template class as an interface for the eviction policy and inherited its properties to LFU, LRU, and a custom policy. Then, I coded the policies like LFU, LRU, etc., and added the Memory Controller and other classes.
Round 3: HLD Duration: 60 minutes Questions: 1 Question Problem: Design a bulk Image tagging system. Tags can be person names, location, etc. Discussion: First, I clarified the functional and non-functional requirements. I provided an envelope estimation of my system and listed the necessary class architecture. I designed the high-level architecture of the system and discussed bottleneck scenarios and ways to overcome them. Feedback: The interviewer was impressed and suggested adding more real-world application components rather than theoretical components.
Round 4: Hiring Manager/Behavioral Duration: 60 minutes Questions: Several questions Discussion: The interviewer first asked about myself and scrutinized my resume. We had an in-depth discussion about some of my projects, from purpose to complexities to system design to key learnings. Then, I was asked to design a stock broker app, from basic requirements to classes to LLD to HLD to system failures and solutions. This round was challenging.
Result: I received a call stating that all rounds were cleared and an offer was being processed. The Hyderabad location was closed, and they were considering me for the Noida location.