I hope whosoever is reading this is safe and in good health. The past year has been really bumpy, but good things always find a way out. So, I am here to share my experience of the selection process for Microsoft Summer Internship Program. Well, the lockdown made it impossible for companies to visit our campus but our placement committee worked really hard to make everything possible, be it virtual. The criteria to be eligible for the process is a minimum CG of 7.5 and no UR subjects or backlogs.
Let’s talk about the actual process now.
It consisted of 4 rounds.
ROUND 1(Coding Test): The first round is an online coding test.
The coding environment is really good and easy to work with. You get a dropdown menu with all the programming languages for you to choose from. Now you have two coding questions and 90 minutes. One of them is pretty easy and takes 15-20 mins to solve, given that you are really proficient with the language you use to code, so be wise. I have a flair in Python so I went for it. The other question can be complicated in many ways. It might look easy but will take a lot of time to code. It could also be a trick question. I don’t remember my questions that well but I do remember the basic idea behind them.
- Implement a function with a binary number as input and return the bitwise XOR value of the input as output of the function.
- I basically had to implement the evaluation of a postorder expression using stacks.
Things to take note of:-
- Practice well. Take 5 coding questions every day from the interview corner tagged with the company’s name and always aim for learning something from each question.
- Make sure you have that one programming language that makes coding easier for you.
- The test is highly proctored so don’t waste a second thinking about how to cheat. It’s not gonna help anyway.
- Do not panic if you fall short of time. Just make sure you have at least one question with no errors and no failed test cases.
I was impressed with the idea of having all the interview rounds in just one day. We were informed about this earlier and were warned to stay alert and look forward to getting our meeting link for our interview.
Round 2: For my round 2, I was only asked theoretical questions on concepts of OOPS, DBMS, and DSA. The ones I remember are:-
- What do you understand by overloading?
- What is the difference between polymorphism and method overloading?
- What is different in object-oriented programming?
- What is the time complexity of BST?
Round 3(Coding): Round 3 was a coding round again. The only difference was that I had my interviewer on a call and I had to share my screen so he could judge me while I code. I remember the question really well because I had fun solving it to be honest.
- I was asked to implement a stack from scratch with all its functions like peek(), pop(), push(), etc. I was then asked to modify some functions. For instance, the peek() function which returns the top of the stack should now return the maximum value present in the stack. The interviewer was a big help. I was kinda confused at first about how to start, his hints helped me figure that out. We had an hour-long discussion over this one question, hunting for new ways to implement different ways. The constant exchange of ideas made it fun to code.
Round 4(HR): This was the final round. It was an HR round.
- The very first thing my interviewer told me was that he wants the interview to be a normal conversation between two people and nothing technical. Well, I did have some questions to ask but now I had to think of a few more. He started the conversation by asking me some questions about the projects I had mentioned in my resume. It was my turn now so I asked him about the projects that were presently going on at Microsoft R&D Center. This went on for an hour approximately, and we came to the end of the round and the process.
Things to take a note of:-
- Do not shy away from asking or speaking or explaining your ideas, be it the theoretical round or the coding round, or the HR round.
- You are planning to get an internship here, it’s pretty normal to have questions about the work, the projects, the company, etc. Make a list of all such questions if it helps. Never reply, “I am sorry, I have no questions”. All your time and practice goes in vain after this.
- Be confident. Ask doubts.
To wrap this up, keep practicing. Even if you are interested in areas other than software development, do not stop coding. Solving a minimum of 5 questions every day really helps, and you can then focus on the theory section when the interview day is close. Having a good hold over the concepts of DBMS, OOPS, COA and DSA are enough to prepare for theoretical questions. With that, good luck and stay safe.
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.