I got an email from Microsoft University Hiring team to apply for a particular Job Id. I applied for that through the Microsoft Careers Page. There were a total of six rounds. I will be sharing a detailed explanation of all the rounds. This was the off-campus hiring so I am unaware about the total number of people who participated and who got the offer.
Round 1 : Online Round (6th Feb 2021)
The test was conducted on Mettl Platform. There were 3 coding questions and the duration of the test was 90 mins. I completed all three of them.
Results of this round were out on 8th Feb 2021.
Round 2 : Hackathon (9th Feb 2021 11:00 am IST to 11th Feb 2021 10:00 pm IST)
For next steps we have to submit working prototype of a website/app based on any one of the following themes:
This was an individual participation and not in a team. We were assigned a mentor who was guiding us about what they were looking for and saw the progress we are making throughout the programme. The idea was judged on the basis of:
a. Uniqueness of Solution
b. Technical Achievement
c. Code Quality
d. Relevance to Theme.
I opted for the Job Search App. I made a dedicated Job Portal for Blue Collared Workers to which I added some unique ideas (tutorial for basic work done by blue collar workers). They basically wanted to judge how innovative our solution is and how we are implementing it. How we plan it in 3 days and how much we achieve our planning. I completed my work in time and submitted it with documentation (presentation explaining each section, demo video, flow chart showing flow of the website).
Round 3 : Hackathon Interview (16th Feb 2021 : 1hr - 1.5hr)
This interview was regarding the prototype we submitted. The interviewer was working in Microsoft for 2 years and had a total experience of 6 years in the IT industry. I was asked about the tech stack used and why that particular tech stack. We also discussed the difficulty I faced while progressing with the app. I showed him the demo through the hosted website which I built as part of hackathon. After that he saw all the documentations. I used Reducer in my hackathon website. He discussed it.
He then asked me if I ever worked as a team to which I answered a YES. He then asked me: "Was there any point while working in a team where one or more of the teammate(s) was not working? What steps did you take as a team member?" I answered this using the STAR method.
He then asked how prepared I was for the DSA Interview. I rated my preparation to 9/10. He asked me some DSA questions:
The result of this round came on 23 Feb 2021.
Round 4: Tech Interview (25 Feb 2021 : 45min)
The interviewer was working in Microsoft for 4 years and had a total of 10 years of experience in the IT industry. The interviewer had a quick glance at my resume and asked about my internship. Then he asked me to explain any one of the projects. I told him about my Smart India Hackathon Finale project. This discussion went on for 15mins.
He then asked me a question :
Write to Rearrange characters in a string such that no two adjacents are the same.
I first explained to him the approach using 2 3 test cases. I was asked to code it. He asked me the space and time complexity of the solution. If I got stuck at any point the Interviewer was helpful and gave hints. My solution used a priority queue so he asked me why there is an overhead of O(log n) in priority queue (C++ STL). I answered telling him that it heapifies the heap everytime we insert or delete the element in the priority queue.
At the end he asked me if I had any questions for him. I asked him 2-3 questions.
The result for this round came on 11 March 2021.
Round 5: Design Round (17 March 2021: 30min)
The round started with a brief introduction about me and the interviewer too. The interviewer was a senior person and was working with Microsoft for more than 25 years. As I mentioned about my experience in web development he asked me a question:
Q. When we go to any ecommerce website and view a particular item, after that similar items appear as ads when we browse through our social media account. How does this happen? Design a scalable system for it.
I answered this question using machine learning algorithms and how these algorithms work in the background. He was not satisfied with my answer as he was expecting how data was collected using cookies etc. I didn't know this in depth.
He gave me a next question:
Q. If you go to the IRCTC website for ticket booking it sometimes shows a timed-out. What does this mean? I explained to him why and how time out occurs.
He asked me to design a system to overcome this problem.
I answered him that we will do horizontal partitioning. He then asked what problems we can face in this. Then moved to consistent hashing and why it's not an optimal approach. I gave a final solution that we will use microservices architecture. He seemed satisfied and asked in detail what microservices architecture is.
He asked if I had any questions for him. During this he told he is an avid reader. Our discussion went to what kind of books we have been reading so far. He suggested two books to me to read.
Round 6: HR Discussion (22 March 2021: 15min)
HR called me in the afternoon to set up a meeting in the evening to which I agreed. I was nervous a bit. We started the call with how our day was. She introduced herself and then I introduced myself. She then asked me about my family background. Then she asked me my college name. I told her. She said we will be sending an email to them about my offer as Full Time SWE at Microsoft and then congratulated me. She discussed the compensation and told about the next process.
Preparation and Tips:
All the very best.
Kindly upvote if you feel it's helpful.
Happy Coding!!