I applied online. The process took 3 months. I interviewed at Microsoft (Cambridge, MA) in Feb 2024
Interview
TLDR - One phone interview then went to final round featuring 1 behavioral interview and 2 behavioral/technical interviews.
I interviewed in February 2023 for the Applied Science position for MAIDAP at Microsoft.
I was first contacted for a phone screen about a month after applying online. The phone screen was 30 minutes and I was asked to solve a coding problem involving computing terms inside a matrix using numpy (knowledge of Linear Algebra e.g. L2-norms, vectors, matrices, was needed).
After passing the phone interview I was scheduled for 3 interviews with folks at MAIDAP about 3 weeks after the phone screen.
One interview was completely behavioral where I was asked questions about solving conflicts with coworkers, how I get acclimated to working with a new team etc.
The other two interviews were a mix of technical and behavioral. I was asked to go into depth on past machine learning projects and discuss things like the exact architecture used, why I chose that architecture, pros and cons of my decisions, improvements to be made etc. (make sure to know your projects inside and out because some questions can be very theoretical and require deep knowledge of current ML techniques). After the technical portion there were a few standard behavioral questions e.g. solving conflicts with coworkers.
The overall interview process was quick, relatively pain-free, and very satisfying. The interviewers were very friendly and it felt more like a conversation than a stressful interview.
Best of luck to you!
Interview questions [1]
Question 1
Name a time where you disagreed with a coworker and how did you solve the issue?
I applied online. The process took 2 months. I interviewed at Microsoft (Cambridge, MA) in Oct 2018
Interview
I had an in-person 30-minute screen first, then was invited to the onsite interviews in Cambridge. The onsite rotated each of us through 4 different 1-on-1 interviews over the course of half a day. Each interview was with either a software engineer from various teams within Microsoft or the director of the program itself. They were not allowed to tell us what we were interviewing for until the day of (which I found frustrating, as I had applied for a couple of different positions within Microsoft and didn't know which one to prepare for), but when we showed up we were told it was for a Software Engineer position in the AI Rotational Program.
Each of the 45-minute interviews for me was a mix of technical and behavioral questions, but I heard from others there at the same time that some of them had 3 technical and 1 behavioral interview, with little cross-over. Either way, be prepared for both!
I heard back with results less than two weeks later, and then had about a week (pre-extension, two weeks when I asked for more time) to decide whether I was going to take the offer or not.
Interview questions [5]
Question 1
[Behavioral] What was some critical feedback you got from a teammate? How did you respond to it?
[Technical] 1. What is a binary tree? 2. What is a binary search tree? 3. Write an algorithm to find and return the node in a binary search tree with the nearest value larger than the input value. (So if the tree had nodes with values 1, 2, 4, 5, and 7 and the input value were 4, return the node with the value of 5.)
[Technical] Given a sequence of integers as inputs -- say, someone's weight that they measured over time -- determine the largest weight loss this person had experienced. (E.g. [135, 150, 170, 165, 140, 145, 160, 175] --> 170-140 --> 30. )
[Technical] Given 3 (x,y) points forming a triangle, how would you determine (mathematically) if a 4th (x,y) point was within the triangle or not? (Note: this question was specifically geared to judge problem solving with a difficult problem, not knowledge of geometry, and the interviewer was working with me a lot because of that.)