How to Prepare for Microsoft Software Development Engineering Interview?

Bill Gates… It doesn’t matter if you are 8 years old or 80 years old, people know this name very well and his contribution to this world. A person who is well known for his extreme kind behavior and for introducing Microsoft. When Bill Gates created Microsoft he had a vision that every home should have a computer (preferably with Windows) and he achieved it. Today Microsoft is a well-known tech company in the world. If you are a person who is preparing yourself to get into this company, you might be definitely aware of the importance of Data Structures and Algorithms for interview preparation.

How-to-Prepare-for-Microsoft-Software-Development-Engineering-Interview

There is no doubt that this one is a must-have skill to apply for the job of SDE or software engineer role in Microsoft or any other big tech company. Hiring procedures in these companies are kind of similar but we are going to share some specific detail, tips, preparation strategy and evaluation process of Microsoft to crack the interview. Keep in mind that the difficulty level of these rounds depends on the level of SDE position you are applying and you can prefer any programming language you are comfortable with.

Important Points to Keep in Mind

  • In Microsoft, there is no fixed interview process or format. It changes with product groups or teams. The most commonly followed interview process consists of four to five rounds, each focusing on analytical, problem-solving, designing, coding and testing the skills of the candidate.
  • When you are just out of college (Undergrad), at that time it’s very rare that you are selected for any particular team. Sometimes even the role is not specified while you are being interviewed. When you have some year work or you are passing out of masters then you are generally recruited for a particular team/role in the organization. In these interviews, there is a mix of algorithmic and your expertise specific questions. when you have worked in the industry for the last 8-9 years. There your experience and your resume speak more than any technical interview that you give.
  • Do some background research on the company. What’s the company doing right now or what’s the market scenario or technology they are working on currently. That shows your interest in the company and this is a good way to judge a person how much a candidate is interested in the company.
  • Interviewers are trained to not react to your answers so don’t expect yes or no answer from them that if you are heading in the right direction or not. This sucks but is a very effective way of assessing a candidate so prepare yourself to see stone-cold faces.
  • Microsoft interview questions/difficulty levels are little bit less consistent vs. Google or Facebook.

Now it’s time to discuss the strategy and rounds that Microsoft conducts for the hiring procedure before that keep in mind a quick tip that works in every company… Your goal is to write just the right amount of good code and communicate well. You’re not paid to code, you’re paid to think, figure out problems and give the solution. To crack any technical interview all you just need is a laptop, a working internet connection, will solve problems regularly and within a few months, you can learn the essentials. The interview procedure in Microsoft kind of similar to other big tech companies so let’s discuss that…

Sending Application

You can apply for the SDE role visiting at Microsoft Career page but thousands of candidates apply for this role so it’s not easy to get noticed by recruiters for interview calls. Your chances to get the interview call is more if you have any referral or a connection with an employee in Microsoft. If you don’t have we highly recommend making a connection with hiring managers or recruiters via LinkedIn. Also, focus on your CV when you are applying for the job. Below are some points that will help you in getting the call for interviews…



  • Try to make a single-page resume and include only relevant things. Make it short, precise because none of the recruiters has more than 15 seconds to scan a CV. Write down only those things you are comfortable with, do not fake anything because the interviewer can spot that easily during the interview. If you are mentioning your project then mention the complexity of your project as well. Check the link Resume Building – Resources and Tips to prepare your CV.
  • Microsoft has a specific website dedicated to student recruitment if you will be graduating from a university.
  • Microsoft sometimes recruits at job fairs, hackathons, etc., although waiting for any of those opportunities to arise organically may be a long waiting game, especially depending on where you are located around the globe. You can visit the link hackathon.com to see if there are any hackathons in your area.
  • Keep your Linkedin, Github and other profiles updated, hiring managers uses these tools like LinkedIn, alumni databases, and professional associations to find out suitable candidate.

Once you are in touch with a recruiter, they will want to coordinate your first phone interview.

Screening Interview

Shall we invite this candidate for the full loop? To filter out a lot of candidates Microsoft conduct this round and this round saves a lot of time and resources of the company. The screening round could be telephonic or you will be asked to complete a coding challenge where you need to write clean, good and bug-free code and that should be also optimized. This round consists of basic to medium level data structures and algorithms questions, you will have some online document to write down your code and that will be visible to your interviewer. It will be for around 30-45 minutes and it can have a 2-3 coding question. Below is the point to keep in mind for an online coding challenge or telephonic interview.

  • Telephonic round is not designed to be very difficult, the meet of the challenge is to be delivered at the on-site interview.
  • You need to write the code for the coding question which interviewer will ask, throw out a brute force solution in the beginning, but you should try to improve your solution as well. Think about the time and space complexity and see if you can improve those.
  • Think out loud and speak clearly (people face trouble here) in phone interviews and tell your strategy to the interviewer to solve the problem.
  • Practice writing code on some online document. It will help you to handle the telephonic round very well in interviews.
  • Solve the problems on GeeksforGeeks, CareerCup and, HackerRank.

Onsite Interview

Once you get selected in the previous round, you will be invited for a loop that will take one full day, consisting of about four to five separate interviews. Each of these interviews takes roughly an hour and this will be a whiteboard round. The exact number of rounds depends upon how you perform in each round and the role you are applying for. Now here comes the major role of DSA and Core CS subjects to check your coding, problem-solving skill and command over computer science fundamentals. You need to prepare yourself with all your projects, internship, previous experiences and definitely your coding and problem-solving skill. The difficulty level of the question is based on the role (SDE1, SDE2 and so on…) you are applying for in Microsoft.

1. Technical Face to Face Round

  • The candidate is tested on whether he/she can solve real-world problems using the knowledge of data structures and algorithms. The expectation is to be able to arrive at the most optimized solution to the given problem. Your ability to convey your algorithmic knowledge along with code is must.
  • Below is the distribution of the types of problems that were generally encountered in Microsoft interview. This data is based on the interview experiences from Glassdoor for Microsoft.

    Technical-Face-to-Face-Round-Questions-Microsoft-Interview-Preparation

  • Check the link How to Get a Job in Product Based Companies? to deal with in-depth technical coding question, what approach and tips you should follow during the interview.
  • Check the interview tips given by recruiters working at Microsoft.
  • Ask all the clarifying questions, think about the Brute Force approach, optimize the solution and then write down the code. This is the simple step we recommend you to follow to solve the coding question.
  • You need to be comfortable with projects you have done in your past experience or during your internship. The interviewer will throw questions from there so make sure you have complete knowledge and detail about your project to explain it to the interviewer.
  • We highly recommend you to go through CTCI (Cracking the Coding Interview) book, practice questions especially on GeeksforGeeks, HackerRank and CareerCup for interview.
  • The majority of problems you will encounter in a Microsoft interview will involve some understanding of arrays and strings. Apart from that practice the questions of Linked List and Graph/Tree data structure.
  • Do not forget to test your code with all the cases. After writing the solution you have to test your code, even if minimally because if you don’t do that, points will be deducted.

2. System Design Round

  • System design questions are an open-ended conversation and this round is mostly conducted with an experienced candidate where they test your overall ability to design and scale technically based systems like design Gmail, youtube, uber, etc.
  • Check the link System Design Interview Questions, System Design Interview Preparation and also check GeeksforGeeks
  • The interviewer usually is interested in the choice of resources like Databases, Storage, Logging; efficient algorithms of the functionalities; identifying all the data and classes that would be important to store if anything goes wrong in the system; what functionalities are exposed to the end-user and what not so that they might not screw up the whole system?; Scaling of Systems and servers involved; Use of Multithreading, messaging queues, Cache, etc.
  • Have a solid grasp on various database technologies, how they scale, and how they compare, knowledge of frameworks and different technologies helps a lot in system design round.

Interview Evaluation Criteria

After the interview, a meeting is held between all the interviewers to discuss, debate, and justify their individual ratings with the Hiring Manager and HR Representative. After giving the interview you will be compared with the other candidates and interviewers will find the best one considering some factors which are given below…

  • Interviewer have generally a mindset while taking the interview that if he/she can work along with the candidate in his/her daily to a job or not so do not show signs of arrogance or ego while giving the interviews.
  • Interviewers will check whether you’ve used the suitable data structures and algorithms while implementing the code or not.
  • Interviewers will notice the approach that how you optimized the solution, your knowledge about the choice of programming language, your coding speed, any corner cases that you missed and how you analyzed time and space complexity.
  • They will check how you communicated your thought process to solve a specific problem in a logical way. They will also check if you were able to catch the hint and was able to proceed with the solution or not.

Tips

  • Learn to “think out loud” during your whole interview otherwise interviewer will have no clue what you are thinking. Show your interviewer your thought process about the problem and what approach you are going to follow to solve the problem.
  • Never say that you cannot do it. Even if there is a problem that you have not solved before or seemed that you can’t solve it, keep attacking the problem from different angles, the interviewer will give you hints. It is important to catch the hint as fast as possible and proceed with the solution. If you are not able to catch the hint it is a big red flag.
  • Always ask relevant questions before jumping to the solution to make it more clear. Always check your assumption with the interviewer and clear all your doubts before heading to the solution.
  • Your interviewer wants to see 3 key things in your code. It should run fast, not take up more memory than it needs to and is stable and easy to maintain. Accomplish that and you’re already ahead of most people.

Important Links:




My Personal Notes arrow_drop_up

Recommended Posts:

    Article Tags :
    Practice Tags :


    5


    Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.