Hello guys, I’m currently a final year undergrad from Tier 2 engineering college and this is my internship interview experience with Microsoft. Firstly, there was an online coding round on Mettl platform . It had 3 problems.
Problem 1: Array related.(Too easy)
Problem 2:Tree based question.(Easy-Medium)
Problem 3:DP (Medium).
I had to solve all the 3 problems to qualify(but one of my friends got selected by solving 2 problems only) for the group-fly and interview round.
Round 1:Group-Fly round
This round was a pen and paper coding round where all of us were given 2 problems and we had to write the code in our preferred language. We had to write the full working code(including i/o), we had to derive space and time complexity of our code and also state any different approaches we could have taken for the problem. The time allotted was 30 min only.
Problem 1: Bit-Manipulation problem(Medium)
Problem 2: Given a list of words find whether a given word is a combination of 1 or more words in the list. (PS DP problem. Difficulty-Medium-Hard)
Around 60 students took the group-fly onsite coding and only 16-20 students moved to the next round.
Of course, I was one of those 20 students else I wouldn’t be writing this article. 😀
Round 2:Technical Interview
This was a face-to-face interview. The interviewer asked some basic questions related to my college and educational background. This was just the ice-breaking part. Then he looked at my Resume and gave me class design problem of a telephone billing company. It was an interactive problem, which means I had to design a class given the constraints laid out by him. As the interview went on, he would modify or change the constraints or ask me to add a new functionality. After this he asked me some basic questions related to Java. I was able to answer most of it except a few. After this we started discussing my interest in the field of Machine learning. Again he asked me questions related to ML, like given a dataset with such features, which algorithm would scale well for classification problem. After that he gave me a standard ML based problem and I had to give him a walkthrough of my approach.Then, he gave me simple Ad-hoc problem and asked to write the working code for it, which I was able to solve in 5 min. Finally, he asked me some behavioural questions, like what would you do if you cannot meet the expectations of your manager, etc. This lasted for around 1 hr. After my interview was over, I asked few candidates there about their experience. Some of them got direct System Design questions while some of them got algorithmic questions. After Round 2, the results were announced and around 8 candidates were selected for Round 3, and I was one of those 8.
Round 3: Technical-cum-Project Related Interview
This was particularly straightforward interview . The interviewer asked me some questions related to my non-technical interests which was solving Rubik’s cube. Later on I had done a couple of projects, one was a web-dev project and another one was an ML Project. I had maintained all source code on my Github Repo and given a link to it in my Resume. The interviewer was eager and asked my permission to see my Github repo to which I agreed. He was particularly interested in my ML project and asked me to explain the whole code. While I was explaining, he kept on asking me questions related to ML and the approach I had taken for solving it. Eg. What is feature scaling, label encoding, curse of dimensionality, clustering techniques, and few questions on bayesian classifier. I was comfortable enough to answer all the questions and midway he stopped me and asked few questions related to my ambitions and what do I aspire to become in future. This lasted for about 40 min after which they said that the final results would be mailed to us later. After around 1 month, I received a mail that I had been selected for Internship with Microsoft. 🙂
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.