Microsoft|Software Engineer/ SEII - M365 IDEAs, Suzhou, China - Failed

I received invitation from hr of microsoft on linkedin in May, after passing online test through codility, they scheduled full-loop vitrual on-site interviews for me.

1st interview:

Interviewer was a Senior Engineer.
The interviewer asked me about the projectes I participated in my past careers, and asked me to solve to problems:

  1. given an int array without duplicate elments, and delete elements until the max and min element are deleted. Operations can only be performed on both ends of the array.
    eg: [6,-1,1,7,2,0,5,4] should return 4, and [6,-1,1,3,2,7,6,4] should return 5
    This problem is simple, the interviewer gave me some suggestions about my coding styles.

  2. Given two integers a and b, and we can multiply a by 2 or substract a by 1, return least steps to turn a into b.
    e.g: a = 2, b = 3, return 2, a = 2, b = 14 return 4, a = 10 b = 2 return 8.
    A recursion problem, while I failed to find the true solution at first, the interviewer gave me the hint.

result: hire.

2nd interview:

Interviewer was a Senior Engineer.
He also asked about me about the projects in my resume, and gave me a simple coding problem about coping a double-ended linkedlist. The problem was solved within 10 mins.
result: hire.

3rd interview:

Interview was a Principal Software Engineer from HQ of MS in Seattle.
After her asking me about things I did in past career, a system design was given to me:
How will you design a ticketing system that connects hundreds of cinemas throughout entire US? There can be tens of thousands of people using your service.
Here's my reply:
When a customer decided to order a ticket, he/she must login first, we need an application to manage the creation of user profiles, which can be used by many other systems. He/she my want to see if the film present in any cinema and if there's seats available, so there my be two more tables representing films and correspond cinemas, and avaliablity of seats. She asked me about the relation of these systems and tables.
Then she asked me one more question:
How to make these applications available under heavy loads?
The problems can be solved by using Master-Slave architect of mysql, and use slave base for reading to reduce the pressure. Sharding can also be used to horizontally expand the database.

result: unknown, but absolutely not no-hire.

4th interview

https://leetcode.com/problems/binary-tree-cameras/
https://leetcode.com/submissions/detail/703395834/
After 25 minutes of discussion I got my solution but only beated 7% of submissions :(.
When interview ends there was a bug but interview told me that I can debug it and send it to him later.
result: hire

5th interview

Interviewer was a Partner Group Engineering Manager
Given a set of numbers as 'lucky numbers', and a number of limit, give the largest number fromed by lucky numbers not larger than that limit. Lucky numbers can be used more than once.
eg:
{3,6,9}, 367 return 363
{3,6,8}, 311 return 288
{1,0,9}, 10 return 9
Unfortunately, though I solved the problem at last but the interviewer is not satisfied. He said my solution was not clear enough and showed a not-clear enough mind to him in the interview, so he decided not to hire me.

result: no hire

After that, HR was continuing to ask me about if I was still interested in other positions in MS, and I'm now waiting for another interview invitation.

Comments (3)