CDC — A step along the journey

Monal Prasad
5 min readNov 14, 2022

--

Hello there! I have been offered an internship at Microsoft for the summer of 2023 in the machine learning domain. This blog entails my preparation and interview experience via the on-campus internship drive at IIT Kharagpur. Hope it helps you!

TL;DR : Check out Josh Starmer’s StatQuest series for all things ML

Background

I am a fourth year undergraduate student (as of August 2022) from the Computer Science and Engineering department and I am interested in Machine Learning, specifically natural language programming. I had done two corporate internships and two research internships before the CDC internship drive. I was aiming for SDE and ML internships both in the CDC drive, with ML at a higher priority. Here’s a link to my CV at the time of CDC for your reference.

Preparation

I started competitive programming in my fifth semester. I had only tried a few contests on Codechef and codeforces here and there by then. I got the AlgoZenith course for internship preparation. However, with the ongoing semester and my general apathy towards CP, I didn’t do much of it (50 problems maybe). In the winter vacation, I revised the machine learning concepts by Andrew NG on Coursera.

Skipping to the summer vacation before CDC, I started doing topicwise problems from InterviewBit. Considering the infinite impending tests, I was relatively more serious with my preparation this time. I revised machine learning concepts (including the math behind them) from Josh Starmer’s StatQuest series which is honestly a gem of a resource.

CV and tests

The CV building portal on ERP is a pain to the say the least. As the CV deadline is infamous for getting extended, I started pretty late but got it reviewed by as many people as I could — batchmates, seniors. Some advice here :

  1. Start by updating the email address and photo and other personal information as your entire CV may disappear when updating a profile picture (:
  2. Finish atleast 2 days before the deadline
  3. Save the CV as a html file for backup
  4. Breathe. You’ll get through it.

Coming to the tests, I gave way too many to discuss all of them. I’ll just describe the test for Microsoft ML which had two questions. Both were to be done in python. First question required k means clustering with PCA using the standard libraries in python. The second question was a bit more elaborate — implementation of RidgeCV, LassoCV and ElasticNet CV using library functions on a given dataset

The last lap

Two days before Day1

I was shortlisted for Google SW. I talked to seniors who had got an internship at Google. I was advised to elucidate the time and space complexity for every code I would be writing. I revised top 10 interview questions of each topic from geeksforgeeks on that day.

One day before Day1

I found out I was shortlisted for Microsoft ML. I revised ML concepts, especially focusing on the models explicitly mentioned in my CV. Also thoroughly prepared all the projects on my CV keeping in mind all the potential questions I could be facing. You should be very thorough with every detail of each project on your CV. Try to give mock interviews or just talk out loud like you would while explaining your projects.

Interviews

I had an interview with Google at 9am. The interviewer gave me a question right after my introduction. It was a standard scheduling problem. I discussed the problem with her and what the input format would be etc. I then coded the brute force solution for it while explicitly stating the purpose of every line. I went on to state the time and space complexity and she seemed pleased too. And then she asked me to optimize the solution. This is where it went southwards. I started thinking along multiple directions and confused myself entirely. Eventually, after several awkward silences and a few hints I figured out the right way and my 45 minutes were already up. I figured I won’t be hearing back from them.

At 10 am, I was sent for my Microsoft ML interview. This was the first round and went on for around 40 minutes. Again, it started with my introduction and then he asked me to explain any two projects of mine while being cross questioned about them. It is important to talk about them in an engaging and story-like manner. The interviewer was an alumnus of IIT Kharagpur and we talked a little about that. In hindsight, I explained my projects very quickly and should’ve taken more time with them. Then I was asked to explain linear regression and logistic regression in detail and the differences between them. I even drew graphs for their loss functions and discussed how they are convex functions. I was asked what would happen if you used linear regression for classification. Then I was asked to explain bagging and boosting. The questions are open ended and you’re expected to go into as many details as you can. I was also asked to explain random forest, decision trees and k means clustering. The interviewer will gladly skip ahead if you say you aren’t comfortable with a topic/dont have much experience with it. Be honest instead of wasting their time. The interview came to end with me asking him about the projects he had then been working on.

Within 10 minutes, I was asked to go for Round 2 which was with a senior manager at Microsoft. He asked me about my Round 1 experience and asked to explain Linear regression. He realized that neither of us were enjoying it so he changed the question midway xD. He then asked me how I could predict the next tip I’d get at a restaurant as a waiter. I suggested a few ways and ML models that could be used and we discussed the potential features that I’d have as input. He then asked me a couple HR questions- why Microsoft? Why machine learning? I answered these honestly and excitedly. Then he said something about how machine learning isn’t learning and mere generalization and we got into an argument where I was defending machine learning for the sake of my two years of time and effort studying it. In the end he asked if I had any questions for him. I asked if he truly believed the machine isn’t learning anything. He laughed and gave me his opinion on it. All in all, this round was around 25 minutes. A very enjoyable and fun interview indeed.

That was the last round and I got a call from the placements committee soon afterwards. Now I’m really looking forward to more friendly banters and tons of learning next summer :D

PS. Remember to smile and be engaging while talking and don’t worry, life has amazing things in store for you ❤

Don’t hesitate to ping me on messenger/whatsapp about any other queries/advice!

--

--