Microsoft was the very first company which arrived our campus in the 2019-20 season. It was open to all CSE, IT, EE and ECE with a CGPA of 7.0 and above.
Round 1: It was an online round hosted on https://tests.mettl.com/ .There were 3 questions with a duration of 90 minutes and to qualify, one have to solve around 1 and half. But some get shortlisted even with only one correct submission. The questions were mainly based on implementation and can be associated as Codeforces Div 2- A, B and B. One of the 3 was based on bubble sort, other on modular exponentiation and the last one a cakewalk. Around 125 appeared for this round of which 66 were selected for next round.
Tips- If you are regular at competitive programming then this round is going to be a cakewalk for you. But try to have some hands on experience on above platform using the link given because questions are easy but the IDE/Platform makes them tough i.g in my case #include<bits/stdc++.h> wasn’t working :(( and it took me 20 minutes to figure out that the IDE only supported C++ 5 and there was no C++ 11/14.
Round 2: It was a pen paper based round. All the candidates were given the same question i.g https://www.geeksforgeeks.org/move-zeroes-end-array/ which we have to code on paper within 45 minutes with all possible approaches i.g starting right from brute force to the most optimised one. Around 50 applicants were shortlisted for next round.
Tips- The code should must be neat and clean with proper indentations. If you are left with enough time then you can also add comments to it. Besides this, never forget to mention time and space complexities.
Round 3: It was a face to face technical round. The interviewer first asked me about my favourite topic and that I answered as Data Structure and Algorithm. Then he asked me about Trees and its types.After this he moved to tree traversal and asked about Iterative Inorder/Preorder traversal along with codes on paper. As I told him initially that I also know about segment trees and Fenwick trees so he asked some basic stuffs related with these.
Then he moved on to a real life problem i.g There is a website in which every link contains sublinks under it. The following sublinks further can have sublinks under them and vice versa. The links can be either dead or alive. All I had to do was to return all the dead links in website. I was supplied with two functions : 1)which returned if given link is dead or alive, 2)which returned all sublinks of a given link. I implemented it as BFS traversal and the interviewer was quite happy with my instant approach to problem. He asked me further to code it on paper. At last he asked me if I have something to ask and following this, the round ended with a handshake.
Round 4: It was another face to face technical round. The interviewer in this round was a bit more concerned about all WHYs and HOWs. The round started with pointers and their applications. Then he moved to hashing and asked about collisions and their removal techniques. Later he told me to hash string with integers .I first gave him STL based solutions i.g one using map and other using vector of pairs. He further asked me to implement it using structures in C. After that he shifted to Doubly and Circular LInked Lists and we had a half an hour discussion just over these two topics :p
Finally, He asked me about update function in segment trees and told me to wait for the next announcement.
Round 5 (HR) : Around 15 students made it to this final round. The round started with usual “Tell me about yourself” and “why this organisation” questions. Then he asked me about my academic projects mentioned in CV. After that he asked about my hobbies. Subsequently there was a little discussion over Competitive Programming. Lastly he asked if I have had any question for him following which I was told to wait for the final results.
VERDICT: A total of 10 applicants made it to the final list and I was one of them !!!!!
Tips for F2F rounds : First of all, try to wear a smile on your face during the interviews. You aren’t going to face a megistrate in court. Believe me, most of the interviewers are way cool and supportive. They want you to crack their interviews and they are ready to help as much as possible. The other thing which I personally felt is that it depends a lot on you, where you are driving the interviews to. Like if you know some out of box data structure or algos i.e segment trees or fenwick trees or convex hull or KMP or something like that than try to make them aware that Hey!! What Arrays and strings and Linked list, Let’s move to some advanced talks :p .But, remember, you are never going to argue and insist him to ask what you are better at. There is something called diplomacy :p The other thing, a bit crucial, is that you must be able to defend your CV. Mention only the things, which you think, you are confident at. They even asked system design and networking to some of my peers, which is nowhere expexted to get asked to a 3rd year B.Tech . But this happend, and happend only because they found something parallel in their CVs.
Considerations prior to D-Day : Try to have some internship/academic projects (atleast one) in your CV. Besides this practice questions on geeksforgeeks and interviewbit during the summers. Stay calm. Stay Chill. Avoid negative people and surrounding. Have faith in almighty, He always has better plans for you. And yess…You are going to nail it…BOL .
And haan… Geeksforgeeks … youuuu beautyyyy <333. Thanks A Ton.
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more, please refer Complete Interview Preparation Course. In case you are prepared, test your skills using TCS, Wipro, Amazon and Microsoft Test Serieses.