Status: New BS&MS Grad
Position: Software Engineer at Micrisoft
Location: Redmond WA
Date: March 2021
Interview Process
1 microsoft teams screen. No coding just chatting about my experience.
Emailed a few days later to sign up another round of interviews 1 month later. I block off that whole day as asked.
4 interviews.
Interview 1
Immediately starts describing techincal problem
Find K cloest points to 0,0 in a list of x,y coordsinates.
Turns out heaps in c++ are incredibly ugly.
Question 2
Given a dictionary of alternatives
{a: ['a1', 'a2'], b: ['b2', 'bbb']}
take a string and print all possible versions eg.
ab ->
a1b2,
a1bbb
a2b2
a2bbbInterview 2
Longest substring match. I had no idea how to do this in better than N^3 time.
I wrote the N^3 and then did a good job testing it (remember there are character sets other than ASCII). Didn't feel great about this.
Then behavioral questions.
Interview 3
Went down my resume and asked me about every single bullet point.
Threw in a few questions based on my experience. Eg: "you've used java, if a java program were slow what's the first thing you'd check"
At the end one simple question. Filter a list of words from a string.
Eg.
filter : ['a', 'the', 'and', 'at']
from
'the interview is at microsoft'
to 'interview is microsoft'
I did this in ruby in about 10 seconds which he liked.
def filterMe(filter, sentence)
to_filter = filter.to_set
sentence.split(" ").filter {|w| !to_filter.include?(w)}
endInterview 4
I have no memory of this interview, it was a long day.