Microsoft | SDE-2 | Noida | JAN 2024 [Reject]
Summary
I interviewed for an SDE-2 role at Microsoft in Noida in January 2024. After successfully clearing the initial Data Structures & Algorithms and Low-Level Design rounds, I faced a System Design round with a senior manager. Despite my efforts, my system design solution was not deemed up to par, specifically regarding volume considerations, leading to a rejection.
Full Experience
I applied for an SDE-2 position at Microsoft through their career portal. I have 1.8 years of full-time experience and graduated from a Tier 2 college in Chennai, India.
OA Round (2nd week of DEC 2023)
I received a HackerRank link for the Online Assessment, which consisted of two questions. I can't recall the exact problems, but one was string-based and the other involved a heap, both at a LeetCode medium difficulty. I successfully solved both questions within the given time, passing all test cases.
After a significant wait, I was invited for the next rounds in the first week of January 2024. Rounds 1 and 2 were scheduled on the same day.
R-1 (1st week of JAN 2024)
This was a 1-hour round, and the interviewer was very friendly. We spent about 15 minutes introducing ourselves and discussing our work. We then moved on to a DSA problem, which was similar to Remove All Adjacent Duplicates in String II, but adapted for an array of integers instead of a string. I quickly solved it using a for-while loop, impressing the interviewer by finding a solution in under 10 minutes that passed all test cases. Subsequently, the interviewer challenged me to optimize it to O(n), and with some guidance, I successfully implemented a stack-based O(n) solution. I received positive feedback and would have rated this round as a 'hire'.
R-2 (Same day)
The second interviewer began by introducing himself, then delved into my resume, asking numerous questions for about 15-20 minutes. Although I was told this would be a DSA round, it turned out to be Low-Level Design (LLD). I was asked to design a site similar to StackOverflow, but with limited features, including topic subscription/unsubscription, asking/answering questions, upvoting questions/answers, global search, and a feed view with options for recent and most upvoted questions. I started by defining the APIs, then designed the database schema with all relevant fields. The interviewer questioned me on writing efficient queries for the APIs and how cache inclusion would help. I incorporated cache logic, detailing what data to cache and whether it should be TTL or permanent. We also discussed scaling at both the service and database levels. Everything went well, and the interviewer agreed with my solution. He offered constructive feedback, suggesting I be more vocal, but it was generally positive. I would rate this as a 'lean hire'.
R-3 (2nd week of JAN 2024)
This round was with a very senior manager who had over 22 years of experience, which made me quite nervous. After introductions and some behavioral questions, we moved to the main interview. The interviewer gave me a choice between DSA and System Design. Since I'm not very strong in DSA, I opted for System Design. The task was to design a 'GEN-Z Calendar' that displays upcoming events, movies, and sports events, assuming data could be fetched from a public API. I started by designing the API, database, and queries, and then drew a scalable solution diagram. By the end of the hour, I realized my nervousness had affected my performance. The interviewer pointed out that I needed to improve my system design skills and had missed the 'volume' aspect. While he acknowledged that it was commendable for someone with less than 2 YOE to tackle a system design problem, he stated it wasn't up to par and advised me to read blogs and watch videos. At that point, I knew I had messed up, and he indicated the decision wasn't entirely in his hands. Based on his feedback, I rated this round as a 'no hire'.
More than a week passed after R-3 with no updates, and my attempts to contact HR went unanswered. Consequently, I'm considering this a rejection, given the 'no hire' assessment from the senior manager, and I am moving on.
Interview Questions (3)
The problem was more or like Remove All Adjacent Duplicates in String II, but instead of strings, I was asked to solve it with an array of integers.
Design a low-level system for a site similar to StackOverflow, focusing on limited features such as:
- Topic subscription/unsubscription
- Ask Question/Answer
- Upvote Question/Answer
- Global Search
- Feed View (with Recent question and Most upvoted question options)
Design a GEN-Z Calendar that integrates upcoming events, movies, and sports events. Assume there's a public API available to fetch all necessary data.