More servicesWindows Live
HomeHotmailSpacesOneCare
 
MSN
Sign in
 
 
Spaces home  Work @ MicrosoftPhotosProfileFriendsMore Tools Explore the Spaces community

Work @ Microsoft

Updated 2/5/2008
July 30

What Makes Search Such a Great Place to Work?

                                                                                                                                                                                                      The opportunities to make a huge difference here are endless!  This is definitely the place to be for a developer who is extremely talented, highly motivated and wants to be at the forefront of advancing technology.

Here is a top 10 list of reasons to join - in no particular order: Smile

·         Be part of a “startup” within Microsoft doing something very cool, very new that everyone’s  

        talking about

·         Build the BEST search engine delivering the most relevant results to our customers

·         Innovation is always encouraged  

·         Supportive leadership where your contributions are highly valued

·         Own and creatively solve very tough, deeply technical problems

·         Challenging projects and features that can influence millions of end users

·         Work with super smart, highly engaging people crossing all sorts of disciplines and teams

·         Grow query volume and market share with many exciting projects in the pipeline    

·         Expect a stimulating, fast-paced, focused environment where projects move very quickly  

·         Plain and simple - we have fun and love what we do!

I encourage you to check out “Meet the Live Search Team” at the top of my page and the blogs to the side to learn more about the roles we’re looking to hire!  

 

July 29

Microsoft Interview Process

                                                                                                                                                                                                      The goals of the Microsoft interview process are for us to get to know you and for you to get to know us. We pride ourselves on an in-depth experience that allows that to happen.

To prepare for the interviews, you’ll want to brush up on your programming skills, including algorithms and data structures. You can expect that you’ll be asked to write code on a white board during your interview.  Be sure to test it before you say you’re done!  Beyond practical questions, we want to learn more about how you think. When questions are ambiguous, you should ask for clarification. And for any situation, you should be able to put yourself in the position of the customer—how would you expect this product to work?  The best advice anyone can give you is to answer a question or solve a problem as you would at work; Make sure you understand it, ponder possible solutions, select a course and see it through to conclusion.

During your interview day, you can expect to meet with three-six people for one hour apiece, so be sure to get a good night’s sleep—it’s an exhausting day!  Bring your questions as well—what do you want to learn about the position, development at Microsoft and the company in general.  Your interviews will be with other SDEs and Managers, so you’ll have the chance to have those issues addressed by the people doing the job. By the end of the day, we want to make sure that you’ve had a chance to learn what you need to know.

Our utmost hope is to see your best possible interview day and the following sheet will attempt to put some context around the way Microsoft interviews and what factors are most important to our decision.

Interview will usually be divided into three parts;

  1. 1)      An exploration of your past experience
  2. 2)      Problem solving exercises
  3. 3)      Your chance to ask questions

The single most critical thing to remember is that Microsoft prides itself on its ability to ‘behaviorally interview’ as opposed to ‘functionally interview’. Questions will seem arbitrary or unclear and the expectation for you is not to recall the answer from memory, but rather to clarify it, discuss various ways to solve it, select a solution and then implement it with an eye for quality.  We believe strongly that the behaviors you display while attempting to work your way through a problem in an interview is the truest indicator of how you handle problem solving on the job.

Tips for success

  1. 1)      Do not make assumptions about constraints of a problem.  The interviewer nearly always has additional information for a candidate but the candidate needs to ask for it.  Which clarifying questions a candidate chooses to ask can be very enlightening to their level of expertise in a given are
  2. 2)      Be sure to discuss the design phase.  Candidates are encouraged to “think out loud” when contemplating design choices. Even if you think you are 100% on what is the best route to solve a problem it is very enlightening for an interviewer to see that a candidate knows a number of ways to solve a problem and can hold a discussion about the pros and cons of each.  Often time a candidate internalizes their design thoughts and then settles on one they share with the interviewer… in this case the interviewer can be left thinking this is the only way a candidate knows how to do something.  Design discussions should be open and fairly far reaching and utilize the information gained from clarifying the problem.
  3. 3)      Avoid overly complex solutions. Simplest working solution and then test for edge cases should be your guiding principle. Candidates tend to want to ‘show what they can do’ on a fairly straightforward problem and end up building in unnecessary complexity.  The ideal first pass gets 90% of the problem and then the last 10% is found in testing/feedback and appropriate changes are made in a componentized manner.
  4. 4)      Demonstrate your passion for quality. This counts for both coding and operational problems.  Some candidates choose the right design and then do a bare bones implementation with minimal testing/feedback.  We acknowledge that choosing a design and solving the big problem is difficult and testing can be monotonous; but we feel strongly people who are passionate about the quality of their work will demonstrate that passion in an interview setting.   Being creative about test cases and truly caring if your solution will work are extremely important.