Microsoft Interview Experience
My interview experience at Microsoft. How I got an Internship at Microsoft?

I am sharing my personal interview experience at Microsoft. I did a summer internship at Microsoft during the summer 2019. I don’t consider myself an expert, but I love to share my personal experience and hope this might help others.
Disclaimer: I am writing this blog after a year and a half, there may be changes in the interview process for hiring interns due to COVID19. You can explore more opportunities on their career site.
Step:1 Application
I applied for a summer internship at Microsoft around November 2018 on their career site. I came to know about this opportunity from one of my college senior. They were hiring interns from Tech-set-go, a nationwide competition for off-campus hiring. Not sure about the current status of this contest, but they might hiring interns through some other channels.
Key learnings:
- Be open. Always be ready for an opportunity. Try to connect with your college seniors and alumni. You can find more opportunities on their career site and use LinkedIn for the same.
- If you apply then you may get reject, but if do not apply then you will surely get rejected.

Step:2 Online coding round
The first online round was in January 2019 on the mettle platform. I was given three problems to program. The difficulty level was easy-to-medium. If you have a practice of competitive coding then you can easily solve all of three. Some questions were very easy.
Key learnings:
- Practice a lot on various coding platforms, like Leetcode, HackerRank, HackerEarth, and etc.
- Try to solve with minimum Time and Space complexity, as they are analyzing your program with different parameters like edge test-cases, base test-cases, and critical test-cases. They are also considering of code quality, so try to write clean and organized code.
Step:3 Onsite round
Shortlisted students were invited at various location. I was invited at their Banglore office. Needless to say, they will reimburse all travel expenses.
Group-fly round
At on-site, the first round was a pen-paper based group-fly round. Everyone was given two problems to write codes. Questions were based on binary tree and greedy approach; difficulty level was easy-to-medium.
Key learnings:
- Follow some standard naming conventions for writing code; whatever works for you, like camel case or snake case. It is advisable to give a meaningful name to variables, like index_i, index_j, iteration_i, and etc instead of i, j, n, t ; as it is easy to understand and looks good.
- Try to write clean and organized code, this is very important as it is easy to understand your logic to others.
- Since we used to write code on a computer with IDE or other integrated tools, we might not know the exact syntax, so it is good to have some practice on simple notepad without IDE or some integrated tools. Ir-respective of how good a programmer you are, sometimes we forget basic library name and function’s name. So, do some practice on a simple text editor, like notepad, Google docs, or etc.
- If you left with time then analyze the algorithm. Mention the time and space complexity of your algorithms along with some corner or critical test-cases.
Face-to-face interviews
I cleared the group-fly round and was advanced to face-to-face round.
There were three F2F rounds.
First F2F interview:
The first F2F round was technical. The interview started with a basic conversation, he introduced himself and told me to introduce myself. Then, he talked a little about himself and his team. I was asked two questions to solve and write code on the white-board. I managed to do that and it seemed to me that the interviewer was happy with the solution. At the end, he asked me if I have any questions for him. Since, this was my first interview I hesitated to ask and didn’t ask any question.[It’s always to good to ask some meaningful questions.]
Second F2F interview:
The second interview was a technical interview. This interview started with basic introduction and he told me to introduce myself. He also asked me about my journey so far. This interview was longer than other two F2F interviews. The interviewer asked me questions on various topics, like CS fundamentals, DBMS queries, OS, OOPs, and questions on C++ and Java programming. At the end, he asked one problem on dynamic programming and just asked for logic not code. I solved that. Finally, asked me if I had any questions for him and I asked a few. The interviewer was very humble and answered my all questions.
Third F2F interview:
This interview was the final interview. The interviewer was a manager at Microsoft. Start with her introduction and then I was asked to introduce myself. She also asked me about my previous round. Followed by a basic introduction, we discussed my projects from my resume. She asked me about problems I had faced during those projects. Then, she asked some situation based questions; like why Microsoft? etc. Finally, she gave me a problem based on dynamic programming. I discussed a solution with her. I asked if I should write code for the same and she told me it’s okay. Finally, asked me if I have any questions. I asked a few.
All interviews went well. I found all interviewers very approaching and humble.
Key learnings:
- This is my approach for an Interview
- First things first, listen carefully. This is so important. First, understand the question thoroughly. It would advisable not to interrupt the interviewer while he is explaining the problem.
- Ask question back to the interviewer; okay, so this my understanding of a question is…. i.e. paraphrase the question and discuss it with the interviewer in order to acknowledge if you get it correctly.
- Dry run with an example, let’s take the array as [1,0,1,…], and k be 2…..then answer will be this..
- Discuss the scope of the problems, like number of elements in the array( range of n), nature of elements in an array (can I assume all elements as positive? Or can it be negative or decimal?? etc). If you are taking any assumptions, discuss it with the interviewer.
- Dive into the question. First, start with the brute force approach. Subsequently, try to find an efficient solution. In my experience, if we start directly hound for an efficient solution we may not get the direction but if we start with basic understand then we might get the right direction.
- If stuck on some problem, don’t panic. Try to solve with basic and constantly communicate your idea with the interviewer. They are always happy to direct you in the right direction. Again, they are not looking for a perfect solution but rather they are interested in your thinking process and logic.
- If you don’t know the solution then don’t bluff. Just share your knowledge and understanding. Be honest and humble. 😊.
- Even if you don’t know the exact solution. It’s okay, try to convey your understanding. They might give you hint and direction to proceed the question.

Conclusion
After a few weeks of interviews, I got mail that they are extending an internship offer to me. 😊. I would say, it was my best interview experience ever. I was more than happy as that was my first interview and I was able to crack it.
Final comment:
Be confident. I was nervous before the interview starts, but as soon as I answered my first question, all nervousness went away. Good luck. Hope you find this helpful. Cheers. 😊.
Thanks for reading and hit a clap, if you find this helpful. If you have any doubts I would love to answer on LinkedIn: https://www.linkedin.com/in/shreeshiv-patel-111991127/