Microsoft interview
From Wikipedia, the free encyclopedia
The Microsoft interview is the job interview used by Microsoft to assess possible future Microsoft employees. It is significant because Microsoft's model was pioneering, and later picked up and developed by other companies including Google.
Contents |
[edit] Innovation
The Microsoft Interview was a pioneer in that it was about technical knowledge, problem solving and creativity as opposed to the goal and weaknesses interviews most companies used at the time. The innovation is shown in the type of questions.
This model is now used widely in the IT Industry.
[edit] The positions
Microsoft generally seeks undergraduate college students with degrees in computer science, computer engineering, or systems engineering for the three main technical positions of Program Manager (PM), Software Design Engineer (SDE), and Software Design Engineer in Test (SDET).
Microsoft also hires for non-technical positions and those who have an MBA. The interview would not be a technical one.
[edit] Phases
Microsoft College Recruitment practices can be divided into phases.
[edit] Resumé/College Fair
Microsoft recruits heavily from college campuses in the United States.
The interviewing process typically begins with college students attending a career fair on campus and submitting a résumé to recruiters. The campus fair and accompanying on-campus information session about the company gives students the opportunity to find out more about what Microsoft does and ask questions to current employees.
[edit] Interview
After the résumés have been collected, a select number of students are contacted for a first-round interview usually held on the candidate's college campus or over the telephone with a single recruiter. The first-round interview can last for about thirty to forty five minutes.
The candidate is initially asked to fill out an application form prior to the interview detailing work-location (Redmond, Silicon Valley, North Carolina, Nebraska) and work-type preferences (Business initiatives, media center/gaming, operating system, etc.).
During this interview the recruiter attempts to determine if the candidate will be able to flourish at Microsoft. After the interview, the recruiter will consider Microsoft's current business needs and the candidate's qualifications and interests are compatible.
Questions
Some examples of questions that the recruiter will keep in mind or ask a candidate include[1]:
- What types of projects (academic or otherwise) have inspired you in the past?
- What are some self-directed missions that may have influenced your career direction?
- Did you have a moment of epiphany when you KNEW what you wanted to be when you grew up?
- How does Microsoft fit into your vision?
- What are some things that excite and motivate you?
- What are some examples of poorly/well-designed software? What makes the software this way and how would you change it?
Microsoft expects that the candidate know its various businesses and product groups, and come prepared to speak in-depth about their résumé in addition to asking thoughtful questions.
[edit] Post Interview
The candidate can generally expect to receive the results of the first-round interview from the recruiter within about two weeks of the interview date. If it went well the candidate is contacted by a Microsoft recruiting coordinator and a mutually agreed upon date is determined for the second-round interview.
Travel and lodging arrangements are then processed and finalized.
[edit] Second Interview
If candidates successfully complete the first-round interview, the third phase is the second-round interview, which is held in Microsoft's headquarters located in Redmond, Washington.
The maximum length of the candidate's interview trip can be up to three days and two nights, which includes one day to interview and one day to sightsee[2].
Candidates interviewing for the program manager position can be expected to answer detailed design questions that test the candidate's creative ability and focus on customers. The candidate is expected to provide reasons for features added to products designed and include explanations as to why a customer might want or need a particular feature.
Candidates interviewing for the SDE and SDET positions can be expected to answer detailed coding and algorithm questions.
Many questions asked are purposely ambiguous and/or abstract. It is expected that the candidate ask thought-provoking questions of the interviewer in order to better answer the question. The candidate is normally given a marker, eraser, and a whiteboard to record his/her solutions and ideas to questions. The interviewer observes how the candidate attempts to solve a problem and follows the candidate's thought processes.
The interview day usually comprises meeting with about three to five different employees within Microsoft. A typical schedule might include two interviews in the morning, one lunch interview, and two interviews in the afternoon. The lunch interview can take place in one of Microsoft's various in-house cafeterias or in a restaurant off-campus. In most cases the candidate will interview with two different product teams within a single product group or two entirely different product groups (Microsoft site FAQ 2006). It depends on the current business needs of Microsoft at the time of the interview and which needs best fit the candidate's skill set and interests. The candidate is generally notified on the day of the interview as to which position he/she will be interviewing for if the candidate is interviewing for Software Design Engineer, Software Design Engineer in Test, or Program Manager Positions.
[edit] The post-interview
After the second-round interview the candidate is asked to submit a reimbursement form for any expenses incurred during the trip to Redmond (i.e. taxi travel and meals). The candidate then generally receives an e-mail or phone call detailing the outcome of the second-round interview. If selected, an offer is made and the candidate is given a list of starting dates to decide on whether to accept based on any other pending offers.
[edit] Further information
[edit] Interview questions
The questions asked during the Microsoft Interview are crafted to determine a candidate's problem solving, coding and design abilities. Candidates answering questions should consider the use of technology in the present and future, and User scenarios. Some questions involve projects that the candidate has worked on in the past.
The Microsoft Interview is intended to seek out creative thinkers and those who can adapt their solutions to rapidly changing and dynamic scenarios.
Below is a small sample of questions that a candidate might be asked to answer during the second-round interview:
- Design a music system for a car. What are the features? Draw a picture.
- Design a GPS navigation unit for a hiker
- Design a communication device for Canadian park rangers.
- Design a remote control for an automatic window-blind system.
- Design a coffee maker that will be used by astronauts.
- Design an alarm clock.
- Design an alarm clock for a blind person.
- What are examples of poorly designed software?
- Design an instant messaging system.
- I am your grandmother. Describe what MATLAB is to me.
- Write code for an electronic messaging board. What happens when a user logs on?
- Develop an algorithm for selecting objects in Visio.
- Tell me about a time when you made a decision and later found out that it was incorrect. What did you do to resolve the issue?
- Suppose you are one week away from the product shipping date and discover a bug in your software. What do you do?
- You have a linked list and don't know how long it is; how do you find the middle of it?
- How would you test a keyboard?
- Write code for finding a duplicate in an array.
- Write code that returns the length of a string without using any built-in functions.
- Reverse a Singly Linked List with and without using Recursion.
- Find if a BST is well formed.
- Reverse every word in a String (abc def becomes cba fed).
- What method would you use to look up a word in a dictionary?
- Write a function that returns the angle between the hour and the minute hands of a clock, given input of the time.
- Write a function that takes a string consisting of numeral characters and returns all possible alpha character strings of same length as input that correspond to the keypad of a typical telephone.
- Imagine you have a closet full of shirts. It’s very hard to find a shirt. So what can you do to organize your shirts for easy retrieval?
[edit] Interview resources
Microsoft provides a list of suggested reading to prepare for the interview. A sampling is given below:
- Writing Solid Code, Steve Maguire
- Code Complete, Steve McConnell
- Testing Computer Software, Cem Kaner
- All I Ever Needed to Know in Business I Learned at Microsoft, Julie Bick
- Business at the Speed of Thought, Bill Gates
- The Road Ahead, Bill Gates
- Algorithms in C, Robert Sedgewick, eds. . Addison-Wesley, 1990.
- Essential .NET Vol 1 The Common Language Runtime, Don Box Addison-Wesley, 2003.
- Lessons Learned in Software Testing, Cem Kaner, James Bach, Bret Pettichord Wiley Computer Publishing 2002
- Mythical Man-Month Anniversary Edition, Frederick P. Brooks, Jr. Addison-Wesley, 1995
- Introduction to Algorithms Second Edition, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Cliff Stein MIT Press, 2001
[edit] References
- ^ Microsoft Students China: The Interview – Overview. Retrieved on 2007-11-21.
- ^ Microsoft MBA – Interview FAQ. Retrieved on 2007-11-21.
- Microsoft College Careers. The Interview - First Round. Retrieved from the World Wide Web on January 16, 2006. http://www.microsoft.com/college/int_first.mspx
- (NPR 2003) NPR: Job Interviews Get Creative. Retrieved from the World Wide Web on January 16, 2006. http://www.npr.org/templates/story/story.php?storyId=1405340