Microsoft | SDE 2 (UI) | Bangalore (India) | March 2022 | Offer
Summary
I applied for the SDE 2 (UI) role at Microsoft in Bangalore and, after a month-long interview process comprising an online assessment, multiple technical rounds, and a behavioral final round, I successfully received an offer.
Full Experience
Application Process
I applied through the Microsoft career portal. I had been applying for many roles for the past 6 months, and most of the time, my application was either not accepted or remained in the submitted state forever. I tried changing my resume a couple of times, but that didn't have any effect. I faced the same issue with employee referrals as well. There wasn't much I could do about it.
Then one fine morning, I received a Codility URL to take the online assessment. The entire process from the online assessment to the verbal offer took nearly a month, so I would say patience was key here.
Online Assessment
There were two questions. One was based on Javascript concepts, and the other was a LeetCode medium problem.
Round 1
This round involved a mix of problem-solving and front-end concepts.
Round 2
This round continued with algorithmic problems and deeper dives into JavaScript and React concepts.
Round 3
This round focused on my current projects, system design, and behavioral aspects.
Round 4 (As Appropriate - Final round)
This was the final round with a manager in the US. The initial 30 minutes were dedicated to behavioral questions, similar to the previous round. Following that, I tackled another data structures question.
Offer
I received a call from the manager stating that I was selected. I am yet to receive the actual numbers and the level. I'm hoping for L62 and a decent offer.
Interview Questions (11)
Object Validation using JS Proxy
Implement a method to create objects that enforce data type validation for attributes. When an object is created, it should accept the data type of its attributes. Any subsequent attempt to modify an attribute with a value of an incorrect data type must throw an error, utilizing JavaScript Proxies.
Set Matrix Zeroes
Given an m x n integer matrix, if an element is 0, set its entire row and column to 0's. I was able to solve it and optimized my solution based on the interviewer's hints.
CDN, Caching, Cookies Concepts
I was asked questions covering concepts related to Content Delivery Networks (CDN), Caching mechanisms, and Cookies.
CSS Styling with Grid, Flex, Positioning
I was given a CSS styling problem where I had to demonstrate my proficiency with CSS Grid, Flexbox, and various positioning techniques.
Web Page Optimization Techniques
The interviewer asked me about different techniques for optimizing web page performance.
3Sum Problem
I was presented with the LeetCode 3Sum problem, which is a medium-difficulty problem. I successfully solved it, and the interviewer then modified the problem slightly to introduce additional trickiness.
Advanced JavaScript Concepts
I was questioned on advanced JavaScript topics including the event loop, closures, the this keyword, Web Workers, and Server-Sent Events (SSEs).
React Hooks
I answered questions specifically about React Hooks and their usage.
System Design (Project-Based)
I was asked to perform a system design exercise based on one of my current projects, discussing its architecture and design choices.
Behavioral Questions
I faced standard behavioral questions such as 'how do you handle conflicts,' 'describe an instance where you helped your team,' 'why are you looking for a change,' and 'what opportunities do you expect from Microsoft'.
Optimizing Data Packets
I encountered a unique data structure problem focused on optimizing data packets. I was able to solve it, and the interviewer provided helpful hints to guide me towards their desired optimal solution.
Preparation Tips
My preparation heavily relied on the LeetCode community, which was immensely helpful. I also want to give special thanks to the Neetcode YouTube channel and the Blind 75 list, which were crucial resources in my study.