Microsoft | SDE 1 | EMEA | April 2021 | Reject

I applied Software Engineer role with 2+ experience and got and interview email about 2 weeks later. The interview process is;

  1. Online Test of 3 tasks given to solve it in 120 minutes.
  2. 30 minute short call with one of the Senior Engineer as Technical interview
  3. Onsite Virtual Interview (4 interview Over Teams ideally in 1 day)

For the online assesment(OS) questions are:

  1. Write a solution that, given an integer N return maximum possible value obtained by adding one '5' additionally and input in range [-8000, 8000].
  2. Bulb switcher question very similar to https://leetcode.com/problems/bulb-switcher/
  3. Max chunk problem similar to https://leetcode.com/problems/max-chunks-to-make-sorted-ii/

I solved these questions about in 1 hour and afterwards I got an email about second interview in a week.

Tecnical Interview:

  • It started with conversation about my projects and my background. Then from this point, some questions about Threads, SOLID, OOP principles etc. and they were mostly resume related questions. Then we talked about trees, Binary Tree, BST and balanced tree. Height and depth of a tree and complexity of an algorithm to find it. I implemented getWidth of a TreeNode function. After a week I got an email to schedule 3 round interview process in 2 days!

Online interview - 3 rounds:

  1. PRINCIPAL SOFTWARE ENGINEER: Some questions about my current position and my projects. These questions include challenges, communication with other team members and the team lead, taking responsibility etc. Afterwards, he asked me a question about given a huge list find 3 biggest numbers. I created size 3 priority queue and every time I found a number bigger than smallest number in pq I updated. He added more scenarios like not distinct numbers, top K elements etc. Explain my approaches for each scenario.
  2. SENIOR SOFTWARE ENG MANAGER: In this round some questions about my projects also. Then a different question to design: Thinking about a platform like facebook which has more than 1 billion users and some groups. We are looking for potential users that might involve criminal activities. These users are inside one group not more than 1000 and they don't have any friends apart from this group. They might be many groups like that. We only know list of users and list of friends of a user. I didn't find a way to approach this problem generally. Maybe one approach would b determine some people with huge friend list to mark non-criminal users.
  3. PRINCIPAL SOFTWARE ENGINEER: In this round again my projects related questions like creating a module of framework that can be used later with your team members. How you help them to use it? Then a design question for a platform like leetcode but specifically for the competition part. How do you assses different programming languages and assign a point for each, designing servers and how to increase user experience etc.

After a week, a phone call for the 4th round with PRINCIPAL GROUP SWE ENG MGR.

  • He asked me my greatest project that I am proud of. What are the challenges, what did you learn etc. Afterwards some concurrency questions again. Expain semaphore to somebody that has no idea about threads at all. I couldn't answer it because I forgot this term. So he asked about how you handle when multiple threads try to access common resource and some thread questions. Afterwards one programming question from codility: Given a singly linked list like a-b-c-d-e-f-g , connect one from head and from tail and your final list will be like this: a-g-b-f-c-e-d .How you handle if list is even length? I solved it using stack but maybe it can be solved with 2 pointers and rotating the list.

So far it was very quick, normally other big5 companies like Amazon schedule an interview one month ahead and it takes about 2.5 months to complete but it was not the case for Microsoft in this process. Meeting with all these experienced people from Microsoft was just amazing. Questions mostly consists of multiple parts like adding multiple scenarios but in Amazon it was mostly like one tap question. Interviewers were very kind, explain every case and what they expect etc. but in Amazon I didn't feel well especially in last round, my interviewer from Spain and he is talking English like Spanish and it was toooo hard to catch up in a video interview. I think questions are very explicit but I didn't have time to work on system design so my next plan is taking a course about it.

Comments (4)