Microsoft | SDE2 | Offer
I applied on their career site and after a few weeks an interviewer contacted me.
There were two phases, online assessment using codility and a virtual round with 3 interviews.
Online Assessment I don't remember exactly but I think it was 3 medium questions.
Virtual Round There were three interviews, 2 code interviews and 1 System Design.
Given a binary tree and a leaf node from this tree, it is known that in 1s all nodes connected to a given node (left child, right child, and parent) get burned 1 second. Then all the nodes which are connected through one intermediate get burned in 2 seconds, and so on. The task is to find the minimum time required to burn the complete binary tree.
The problem was similar to a question I've done before (I don't remember which one), so I could write the optimal solution.
Question: Write a method to find the longest substring in a given string which has the following properties: a) length even, b) sum of first half = sum of second half
I was able to do the a brute force solution but not the optimal one. I started the optimal solution using queue, but couldn't finish on time.
Design an online checker to a messaging app. The goal is to design a system to check if your friends are online or not, the status of a person in a chat messaging.
My system design question was very similar as one question described here. I tried to find this but I couldn't find anymore. If you know link please comment here, I'd like to thank both the author and the person who posted a solution implemented by LinkedIn. I read the article posted by LinkedIn, understood the idea and when the interviewer asked me this question, I was able to propose an optimal (or close to optimal) solution for this question.
That being said, I want to encourage you to post your interview experience here. Things that did or did not work out for you may help others pass in a dream job.
My Interview Preparation
I've been studying for FAANGs interviews since beginning of a few months a years, sometimes 1h-2h during week and 4h during weekends. The questions I solved, I tried to deeply understand the idea of the solution and also tried to find alternatives solutions that could also solved the question. I have solved ~300 questions in total (121 easy, 159 medium and 16 hard)