Round 1(Written Test held Online at mettl.com):
The first round was an online coding round comprising of three questions which were to be solved.
- The questions ranged from easy to medium level, and the total time given was 90 minutes, to solve the questions.
- After this round I received a confirmation email within a few days, stating that I had been shortlisted for the next round which were to be a virtual interview round. I had been given a date and time for the interview at which I had to connect to a certain link mentioned in the email.
Round 2(Virtual Interview Round Over Teams):
The second round was a virtual interview round over Microsoft Teams App, it was a video call with one of the Microsoft Interviewers. The interview started at its scheduled time, and the interviewer gave a brief introduction about himself followed by mine. He then without wasting any time gave me a question to solve and asked me to share my screen and code the solution on an IDE.
- The question that I was asked was https://www.geeksforgeeks.org/check-binary-tree-subtree-another-binary-tree-set-2/
- It took me about 15–20 minutes to completely code my solution and dry run some test cases. The interviewer was monitoring me continuously and to my approach.
- After I finished coding he asked my about the Time Complexity of my solution, and also if my solution would fail some edge case, I told him the time complexity and tried a few of the edge cases, but could find none at the moment.
- The Interviewer then asked me about my projects if I had any, and some basics concepts of OOPs. The entire interview lasted about 40 minutes and the interviewer was friendly and helpful.
- I got an email stating that I had cleared this round and will be called for an onsite Interview at one of Microsoft’s Campus soon.
After a few days to that mail, I received another mail stating that the interview was to be held at their Hyderabad Campus the coming Sunday itself. (It was on Monday that I received the email).
Round 3(Onsite Personal Interview):
We were told to report at their Hyderabad Campus for the personal interview rounds, by 8:30 in the morning, I reached on time, and we were escorted to their conference room, There were 25/30 students, who were selected for this personal interview round on to be held that day, We were briefed about the Interview process, and were told that we would be having two rounds in total, however only the one selected after the first round would get selected for the second round.
First Technical Interview Round: The first round was a technical round where the interviewer greeted me and he started with some basic simple questions on arrays.
- The question he asked me was Given an array with equal difference between each element, there is one missing element in the series, find the missing element. I solved it using the AP series sum formula, He then told me to assume that the array was arranged in increasing order and told me to find the index of missing element in O(1) time. I found out the missing element using a formula(add formula). He then gave me a question regarding right shifting an array ’n’ times and find the new index of the kth element.
- I explained him a O(1) solution by calculating the new index using the formula (Add formula). He then asked me a question similar to this- https://www.geeksforgeeks.org/given-a-sequence-of-words-print-all-anagrams-together/, initially I solved it using hash maps, which was inefficient, but after a few hints from the interviewer, I was able to finally solve this question. He then asked me this question https://www.geeksforgeeks.org/inorder-tree-traversal-without-recursion/.
- I was able to solve this right away without much thinking. After this he asked me about Page Scheduling Algorithms In Operating Systems, after I explained him all the algorithms, he asked me how would I aid these algorithms with the help of Machine Learning (as I had mentioned Machine Learning in my CV), I told him how I would first prepare a dataset and what factors would I consider while collecting the data, and then how I would train a model to predict how long should a particular page be kept in main memory based on its specific characteristics (will not get into details as this article will get too long). He then asked me about concepts of OOPs and asked me to state real life examples for those. After this he told me that he was done and asked me to wait outside. This Interview had lasted about an hour and the interviewer was really helpful and helped me at several times during the interview.
Tips: Please try to be clear and have a habit of writing code on paper, one of the remarks the interviewer gave me was to present the solution neatly as I was explaining it to him in a very untidy way, and he was having trouble understanding my solution because of that.
Second HR+Technical Round:
After about 5 minutes I was called for another round, This was to be more of a HR round than a technical round.
- I was greeted very warmly upon entering the Interviewer’s cabin, The Interviewer was the Senior Director of the SAP Department of Microsoft. He gave me a detailed introduction of himself, and then he asked me to tell him something about myself, I gave him a detailed Introduction of me.
- He then asked me What qualities make you fit for Microsoft? I focussed on all my strengths and explained it to him, He then asked me about my projects and about technology, We also talked about Ideologies that Microsoft follows. He then asked me if I had any questions. And then he told me to wait outside as he would see the previous interviewer’s feedback and I would be told the result soon.
After Some time I was told by them that I was selected and I would be getting an intern offer letter regarding the same in a month.
Tips: Be calm and composed and do not worry about the results, If you have worked hard enough it is certain that you will be selected, also I would like to suggest you to practice from sites like LeetCode and GeeksforGeeks, and focus on Data Structures and Algorithms, especially on Linked Lists and Trees if you are targeting Microsoft.