Microsoft Interview Experience Frontend
Microsoft is one of the world’s most valuable companies. It comes with great employee benefits and nice pay. Microsoft engineering systems are different from other companies and there is a great focus on reliability, monitoring, continuous deployment, multi-level user testing, and of course scalable product development that meets privacy and compliance guidelines across the world. I would like to share my Microsoft Front End Interview experience and questions in this post.
I will mainly focus on following topics:
- How did I apply for the Microsoft Frontend Engineer post?
- How did I prepare for the Interview?
- Total rounds and area of focus in each round?
- Some of the interview concepts
How did I apply for the Microsoft Frontend Engineer post?
I applied through their careers page. I think this is probably the best way to apply in 2024 for any company as it has the most updated listings.
How did I prepare for the Interview?
I asked the recruiter about the total number of rounds and area of focus in different rounds. Accordingly, I prepared for machine coding, core javascript concepts, system design which focuses on how will you build a frontend-heavy application end to end, and some STAR(Situation, Task, Action, Result) questions.
Total Rounds and Area of Focus?
It completely depends on the team you are being hired for and hiring manager. So, your interview experience can be completely different than mine so be prepared for any surprise.
In my case, there were four rounds:
- Machine Coding round that focused on building a full frontend application with search, filter, sort, and pagination functionality. Data was fetched from dummy endpoint. I had to code everything in VANILLA JS. Code needed to be modular and can be easily extracted from parent applications. Tip: Although CSS is not in focus, still make sure that the overall look and feel are decent. I got a good feedback here. The time was around 2 hours but again it can be different for your case so accordingly make a call.
- Frontend Concepts and DS round: This round is mainly focused on Frontend concepts including Javascript core topics. I was asked to code design patterns in javascript: Pub-Sub and Observer Pattern. There were a lot of cross-questions from the interviewer. The second question that I was asked was about Flattening an array using recursion / without recursion. There were a bunch of questions about how redux works internally.
- System Design: This round was focused on a 140-character messaging system where users can post a single long message. Your system had a limitation of delivering only 140 characters(max) in one message. So you had to ensure that you split the message into multiple messages that get delivered sequentially. You also have to ensure no word is split.
How did I approach this?
First I asked all the questions I had in my mind. We agreed that we would create an endpoint that accepts a string of max 140 characters, the ID of the receiver, and the ID of the sender. This API is responsible for sending the message. In my mind, I thought of this application as an SMS system or a wrapper on Twitter where we still have 140 char limit but users can post a long message in one go that gets split into multiple tweets.
Then I wrote pseudo code of the algorithm that ensures that no word is split in two parts. If we encounter an alphabet at the 140th position of the string (message[140]) we skip that word and only deliver a message until a space or comma or full stop before that. For example, the letter at 140th position is “a” of “I want” then we deliver the message till “I” and add “want” in the second message ensuring the second one is still under 140 characters.
Secondly, I used promises to ensure that the previous message had been sent only “then” I sent the next message. You can also use a simple async await.
While the messages are being sent, we can keep them in a local state. You can store it anywhere you want as it doesn’t need to be retained after all messages are being sent. Interviewer did ask for a bunch of modifications to the problem statement and challenged my thoughts but overall I was able to come up with the expected solutions. - Managerial Round: This round was loaded with STAR questions about my experience and some discussion around Frontend architecture.
Overall I had a good experience in Microsoft Interview and it took a couple of weeks for them to come back with an offer. Please share this blog and comment your views/questions. Follow me on Youtube for video content. In case you want to schedule a call with me for any discussion about career or finding international opportunities, here is the link.
Disclaimer: Interview rounds and questions entirely depend on the team and hiring manager. There can be more rounds or less and focus areas could be entirely different. Sometimes there can be no machine coding or an additional data structure/problem-solving round with a very different level of difficulty.