MICROSOFT | NEW GRAD | REDMOND | DEC 2020 [OFFER]

Hello, I am Chirag. Recently, I was lucky enough to receive a job offer from Microsoft. I will share some information regarding interview, preparation, and resources for the benefit of others - just as I have profited from those who contributed before. Hope this helps someone.

  1. Application : I applied twice; once directly on the portal, and later through referral. The latter received a positive response after two weeks, and a phone interview was scheduled with a senior(15+ years exp) engineer.
  2. Phone Interview : It was video interview of 1-hour. First 20 minutes were devoted to CV + Behavioral questions. Last 5 minutes on one question I asked. Rest 35 minutes, we discussed and solved a leetcode question & a follow-up : Find Median in Data Stream.
  3. Final Interview : There were 4 rounds of 1 hour video-interviews, interspaced with 30 minutes break.
    1st Round : The interviewer was senior(15+ year) manager. The interview went on for one hour and 15 minutes. It was primarily a interactive behavioral interview, and also involved two simple coding problems :
    1a. Reverse Integer
    1b. Number that equals itself after 180 degree shift of each digit.(True/False)
    2nd Round : The interviewer was an engineer. It was 100% coding interview of 1 hour.
    2a. Find only non-duplicate item in unsorted array -> Gave three ways.
    2b. Find only non-duplicate item in sorted array -> Coded binary search.
    2c. Find Kth Largest element in the array -> Coded Priorty Queue and Quick Select solution.
    3rd Round : The interviewer was an engineer. It was 80% coding interview and 20% behavioral.
    3a. Given coins of 1s, 2s, 5s, and 10s. Find all combinations that add to given amount -> Coded and then recoded to remove duplicacy from final answer.
    4th Round : The interviewer was a senior(22+ years) manager. It was primarily a behavioral + CV interview, and also involved one easy and one tricky coding problem :
    4a. With 0s acting as separators between subarrays of a given array, reverse all subarrays in-place.
    4b. Design a custom separator that performs the function of 0.
  4. Preparation : There are three dimensions to prepare for interview, with one additional dimension if system design is also asked.
    #1 Coding : General leetcode problem solving + Company-specific problem solving. Personally, I have read/mentally-solved 70% questions and coded 30% questions. Reason : I was not good with langauge syntax, and only partially better at problem solving. 70-30 ratio works for me because I capture things at higher level(in blocks of code), than in details. Ideal ratio should be 40-60.
    #2 Behavioral : As I am a novice at coding, I specifically prepared well for this for any added advantage I can get. My own understanding is that behavioral constitutes 40% of your interview process. It includes : communication, and answering generic behavioral questions. I prepared answers for all questions on Glassdoor, and prepared for my own peculiar background.
    #3 CV : This deals with your projects, internships, and any general technical questions. As I am beginner at computer science & engineering, I was a little handicapped on this front. I prepared with the help of friends.
    #4 System Design : It was not asked in Microsoft. But I read for a day or two to get general idea.
  5. Resources : I prefer less resources for focused and coherent studies, and also because I study for less time but with high-intensity work. I used only these resources.
    a) Coding : Leetcode
    b) Theory : Read topic-wise for data structures and algorithms to lay foundations.
    c) Behavioral/Tech : https://docs.google.com/document/d/11lLvIXcJw4Oi4mkqhWNO6uQe0Xwm-_Ej-OO73Qv_tWM/edit?usp=sharing (GlassDoor Questions)
    d) System Design : https://github.com/donnemartin/system-design-primer + https://engineering.videoblocks.com/web-architecture-101-a3224e126947
  6. Organization : Our knowledge is worth only when it is applied. For application, it has to be organized. I value note-making for ease of revision and readiness. I made notes for all dimensions - coding, behavioral, CV, and system design. Here is a sample of a page : each row with 5 coding questions.
    image
    Organization can be anything that suits you; point is to have ready-to-revise notes with you.

Finally, none of the above will help if we don't have a strong sense of self-belief, positive attitude, supportive friendships, resilient character, and balanced life-style.

All these are in our hands, so is our future.

PS : If you are an aspiring MS student & interested about background before I came to US, here is a link to an article I wrote on the day my F1 visa approved in 2019. It may help someone. https://marokechirag.wixsite.com/website-2/post/a-beautiful-end-to-a-beginning

Comments (51)