The Microsoft Interview !

It started one fine evening in November 2009, I got a mail from Microsoft Research, stating that they wanted to interview me for the position of Research Intern in the Text Mining, Search and Navigation research group (TMSN) now known as Machine Learning and Intelligence (MLI) (This was in response to an application that was made a few months back). An interview was scheduled for the following evening and was based on my current work, basic knowledge of clustering-dimensionality reduction algorithms, system design and stuff. And, couple of days later I got the intern position ! Later, I was told that the internship was sponsored through the India-internship program.

During the internship, we developed Error-Explorer, a visualization and analysis tool for prediction accuracy optimization to support production deployments of machine learning algorithms. The tool is designed to be predictor and domain-independent and can be used with a wide variety of prediction tasks and arbitrary learning algorithms. This was followed by a redesign of a generic machine learning experimentation framework that involves addition of an adaptively extendible (reflection-based) GUI and support for distributed execution on HPC clusters. The internship was a great learning experience most of all because it involved interaction with really smart people and secondly because of the guidance of my mentor and manager.

And that brings us to the topic. After the internship, sometime during late November, 2010 my mentor/manager forwarded my resume and I was contacted by the recruiters a few weeks later. The hiring team sent me some questionnaires regarding my interest in technologies and stuff and then set up a phone interview. The phone interview was pre-dominantly non-technical asking me about technical things that interest me, products groups I am interesting in Microsoft, what I liked and disliked about my internship and some others. There was one technical questions as follows:

We have an application which given 3 sides of a triangle tells us if the triangle is equilateral, isosceles or scalene. I had to test the application. Three weeks later I was contacted by their interview scheduler who would set up the face to face interview. The interview was in Dubai and I was asked to choose 3 days from 28th February-3rd March based on my order of preference.

The interviews were then scheduled on 1st March in the evening slot. Microsoft made arrangements for visa, travel, accommodation and food and the only thing I had to pay for was the taxi (which would be reimbursed later on). A couple of days before the actual interview, there was an interview preparation call in which the recruiter talked about the procedure to be followed during the interview. We were told that about 40 people would be interviewed on 4 days from 28th Feb-3rd Mar., 2011 in two sessions, a morning one and an afternoon one. Thus about 5 people would be interviewed in each session. The groups that were hiring were the Microsoft Business Solutions, Windows Azure, Microsoft Dynamics and Visual studio. There were 2 interviewers from the Microsoft Business division and 1 from each of the other divisions, thus making it a total of 5 interviewers and all of them were at very senior positions in their respective groups.

I was to be interviewed in the afternoon session and reached the Microsoft Dubai office about an hour in advance. As I sat there waiting for the interviews to start I noticed that the office wore a more formal look as compared to Building 99 at Microsoft, where I interned. I was told later that, this was because the Dubai office was a sales office. While we were waiting for interviews to begin, the recruiter again briefed us on the interview procedure. We were told that, each interviewee would have 4 one-to-one interviews of about 45 minutes each and between the interviews there would be a short break when the interviewers discussed about the performance of the people they interviewed.

Interview #1:

1) Tell me about yourself. What do you consider your biggest achievement ?

2) What’s a Heap ? What’s a binary heap ? When do we use one or the other ?

3) What’s a Queue ? Why is it used ? Code an enqueue and a dequeue ?

4) Test a marker

All the interviews required some sort of coding on the white-board.

Interview #2:

1) Given a sequence, draw a BST

2) Find the mth largest member in a BST O(m), O(log n) solutions.

3) Given a number 233->BED, BDD and other words can be formed. How do you convert a number to all possible words (Valid/Invalid). Propose satisfactory Data Structures and and helper functions. Recursive and Non-recursive solutions

Interview #3:

Write a code which given a 3×3 Tic-Tac-Toe board outputs the move to be made. Losing is not an option ! I talked about a reinforcement learning, snapshot approach, minmax approaches. Finally, gave a solution which involved some kind of tree-pruning. Had to code it then.

Interview #4:

1) Given a scenario where you are to build an undo-redo operation for an application that draws shapes how would you implement it. You can resize shapes, change colours and stuff. Talk about Data Structures, OOPS concepts (Abstract Classes, Interfaces)

2) What I did in my internship at MSR.

3) Areas of computer science I like and stuff. Talked about his experience over the years.

They contacted me a couple of days later and informed me that, they would be making an offer for the SDET position in the Microsoft Dynamics Team.

Advertisement
Post a comment or leave a trackback: Trackback URL.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.