/microsoft-internships

Advice on how to get hired for the 2 most popular SWE-oriented Microsoft internships

microsoft-internships

Note: (1) Mei'lani Eyre also wrote a helpful commentary with advice on interviewing, which can be found here: https://github.com/MeyAyre/tech-through-student-eyes/blob/master/Internships/preparing-for-microsoft-internship-interviews.md (2) and Charlotte McGinn wrote a helpful Medium article on interiewing specifically for the Explore role: https://medium.com/@charlottemcginn/everything-you-need-to-know-about-interviewing-for-microsoft-explorer-3bf9ff6dc2e?fbclid=IwAR3ruKrC2F0igYAdTtNBv6vRyocW0HaiERHSo2YRH-Ig2uSqF_OCaytbigM

This is unofficial, largely anecdote-based advice on getting hired for Explore/Software Engineering/PM roles at Microsoft. This doc mostly covers internship information, but some content (contacting recruiters, interview questions, timeline) may also apply to new grads looking to go FTE.

I was an explorer intern in the summer of 2016, a SWE intern in the summers of 2017 and 2018, and will be starting full-time as a software engineer sometime in the fall of 2019.

Disclaimer

Again: I'm not a Microsoft recruiter, I can't get you hired here, and none of this advice is official. These are my own reflections based on personal experience. I'm putting this right at the top and reiterating it so I don't have to say "my personal opinion is..." in every sentence.

Getting Noticed/Contact Information

  • Find your recruiter here: https://careers.microsoft.com/recruiters
  • General recruiting email/contact email for schools without dedicated recruiters: URCenter@microsoft.com
  • If you have a Microsoft-employee-friend willing to give you a referral, have them send your resume, your top accomplishments, and desired role(s) at Microsoft to collref@microsoft.com (only for college internships and new grads within +/-1 year of graduation)

If you were referred, make sure you apply online also. The application is basically only a resume upload--it takes literally about 5-10 minutes. There's no reason not to fill it out when it could massively expedite your interview and hiring process (potentially gets you noticed faster).

Statistics

From online application through to hire stage, the acceptance rate for Internship and New Grad roles is approximately 1-2%. The probability of cold applying online to getting a phone screen is about 10%. The probability of making it past the phone screen to final loop interviews is about 40%. The probability of receiving an offer from the final loop stage is a few points less than 50%.

Interview Process

So you've been contacted for an interview. Congrats! This process begins in one of two ways: first with either a phone screen or a campus interview. Phone screens are typically non-technical or close-to-non-technical 30 minute conversations with a recruiter. See the section below for a sampling of questions. Campus interviews can be more technical despite being about the same amount of time; candidates are typically given an easy/moderate (Leetcode equivalent) technical question by an engineer to solve in real time or to code and hand-in for future evaluation. It appears as though this is done mostly at target schools and/or where there are large volumes of qualified candidates to sort through in short amounts of time (big state schools, etc).

Scheduling

I recommend you schedule your phone screen no later than the third week of October, and fly-out final rounds to be completed no later than the first week of November. This advice is especially emphasized for candidates interviewing for the Explore program; there are only ~300 Explorer spots, while there are nearly 1.7-2k SWE Intern spots. Explorer spots go very quickly; I've seen PLENTY of top students at top schools do exceptionally well in interviews only to be turned away because they waited until December to complete the rounds and all the spots got taken out from under them in the meantime. (Likewise, don't do this if you're seeking a PM role, either. Those figures are similar and as the PM program is extraordinarily competitive, I recommend not waiting.)

Recruiters

Recruiters are your biggest ally in the hiring process. They're also exceptionally busy people. When emailing, put the point of your email in the first sentence -- then go into background detail if needed, just don't hide the punchline in the fifth paragraph of your email. It is acceptable to email your recruiter once a week; don't bug them excessively. If you're having trouble hearing back either way, email urcenter@microsoft.com and/or ask your friends for their recruiters' emails.

Not getting a response from your recruiter despite repeated emails? Contact URCenter@microsoft.com, mark your email hi-pri, and ask someone to confirm that the recruiter you've been contacting is still assigned to your school; sometimes they are moved around and the website is not updated immediately.

More than anything, be gracious through this process and respect all recruiters' time.

Interview Question Examples

Assume any questions asked for Explore are also fair game for SWE/etc, since they are in theory "easier".

Phone Screen round

  1. What is your favorite technology and why?
  2. What teams at Microsoft are you interested in and why?
  3. How did you become interested in computer science?
  4. What is a linked list?
  5. What is your favorite language and why?
  6. (Explore) You work in an ice cream shop and step into the back for a few minutes. You return and see a large group of people waiting. How do you serve them?
  7. (Explore) How would you make a multimedia cookbook for a family of varying cooking skills and abilities?

Explore - PM-y questions (final rounds) Cracking the PM Interview is overdoing it, but good prep for future PM candidates (you will need to re-interview from Explore to be considered for a return offer in a PM role).

  1. If you were given a keyboard, how would you test the keys?
  2. How would you test a pen?
  3. How would you design a calculator for a visually impaired student?
  4. How would you design a vending machine or a toaster?
  5. You have a series of numbers from one to one million and there is a missing number; how would you find the missing number? (Solution can also be coded as part of the tech interviews)
  6. In 2 to 3 minutes, explain a computer to a 5 year old who has seen a computer, but doesn’t really understand what it is or does.
  7. What is the difference between C and Java/between C and C# and how might this impact design decisions?

Explore - Dev questions (final rounds) Cracking the Coding Interview is likely overdoing it, but good prep for future interviews elsewhere (note that Explorers interested in returning as a SWE Intern within the same team do not need to re-interview).

  1. What is the best data structure for a phone book with names and phone numbers? Code an example solution and explain.
  2. Print values in a doubly linked list in descending order.
  3. Invert a binary search tree.
  4. Sort an array, stack, and queue in arrays and linked lists.
  5. Write a program that returns the acute angle between two hands on a clock.
  6. Keep track of the positions of people in a line. (Note that some questions asked are intentionally vague; ask clarifying questions. Can we consider this a sorted list? I.e. are they allowed to move around or not? What does that movement look like? That detail matters.)
  7. Remove duplicates in this list.
  8. Reverse a string.

SWE Intern questions (final rounds) Cracking the Coding Interview is good prep. Leetcode Hard is over-doing it.

  1. Given two integers m and n, loop repeatedly through an array of m and remove each nth element. Return the last element left. (If m = 7 and n = 4, then begin with the array 1 2 3 4 5 6 7 and remove, in order, 4 1 6 5 2 7 and return 3.)
  2. Given an array of 0's and 1's, move all of the 0's to the beginning of the array and all of the 1's to the end of the array.
  3. Write a function that accepts an m x n matrix (array) of random numbers, and use the functions row (times) 2 and column-1 to set the entire array to 0.
  4. Solve a maze recursively.
  5. Solve the N Queens problem.
  6. Keep track of the X most recent entries to a list without duplicates (sometimes framed as a line problem).
  7. Find the longest palindrome in a string.

Team Placement (Internships)

Team placement works similarly to Google and Facebook in that you do not (typically-- maybe 99% of the time) have the option of interviewing for a specific team; you interview at the company, for a role. You can indicate your choices to your recruiter should you receive an offer (whether or not those choices will make any impact is another story. The tl;dr is that it probably will not). In my experience, most of the people I've known who accepted their offers ended up on teams related to the teams their interviewers are on (same "group" within Microsoft--for instance, SQL Server and COSMOS DB are within the same group but are not the same exact team). This has not held true in all cases, however.

When you list team preferences, you should list realistic choices for your best chance at being happy with your placement (and keep in mind that stating preferences may make no impact at all. You may be a front-end engineer and get placed on SQL Server; you may be heavy back-end and get placed on PowerPoint UI. It's happened, and with relative frequency). Recruiters will likely reference your list for placement if they can, but again, you may or may not get your exact choices: and the more unrealistic you are, the higher the likelihood you get put somewhere unrelated. This means you should not list XBox, HoloLens, or Microsoft Research teams (unless you are a Research Intern--which is the PhD internship--for the latter). Everyone wants those teams, so basically no one gets put on them. It's a better strategy to list 5-10 realistic teams for your best shot.

Compensation

You can find all of this on Glassdoor, but for the sake of shoving all relevant information into one page -- current going offers for summer 2019 are:

  1. Explorer Intern - Redmond
    • $31/hr (was accurate as of summer 2018)
    • 40 hrs/week
  2. Software Engineering Intern - First time @ Microsoft - Redmond
    • $7300/mo
  3. Software Engineering Intern - Explore to SWE Intern conversion - Redmond
    • $7300/mo
    • $5000 gross starting bonus
  4. Software Engineering Intern - Returning Microsoft SWE Intern (SWE Intern <--> SWE Intern) - Redmond
    • $7700/mo
    • $5000 gross starting bonus

Additionally, all Redmond interns receive free corporate housing OR a $7000 net housing stipend, a subsidized car rental OR a $1200 net transportation stipend, a $300 net misc expenses stipend (read: pays for checked bags and shipping), a bus pass for the Seattle metro area, reimbursed gym membership, free healthcare (no dental for interns), access to the Connector shuttles to and from work, the Signature Event gift, and more.

After accounting for California taxes and cost of living differences, my personal opinions is that for internships, Microsoft HQ offers are marginally more competitive than Google HQ offers and on par with Facebook HQ offers.

Housing

You could end up in a Hilton with breakfast every morning, or you could end up in an Issaquah (read: far af) motel with 1.5 stars on Yelp. These things have both happened to lots of people who took corporate housing. Are you cool making this gamble? If so, cool, take corporate housing. If not, the housing stipend is 200% the way to go; the stipend amount went up to $7,000 as of 12/1/2017, which is enough to pocket money regardless of where you choose to live as long as you don't choose a ridiculous Airbnb/sublet/etc.

Car Rentals

Are you gonna travel to music festivals or go hiking every weekend? If so, you should take the car option. If not, Puget Sound public transit + the Connector is more than enough.

Signature Event

The sig event is a festival of activities and a concert every year held at a landmark venue in the Seattle metro area, and also the night the "intern gift" is given; it's a major distinguishing factor between competitors' internships and Microsoft internships.

Some examples; in 2016, the sig event was Ellie Goulding at Seattle Center (Space Needle and the Chihuly Museum were shut down for us) and the gift was a maxxed out Surface Book (retail ~$1900/person). In 2017, it was Daya and The Chainsmokers at the Boeing Factory/Museum/Runway in Mukilteo (the concert was on an active runway) and the gift was an Xbox (retail $250/person).