Microsoft Interview Questions | Glassdoor

# Companies matching "Microsoft"

Microsoft Interviews

www.microsoft.com /  HQ: Redmond, WA

4,044 Interviews

3.2 Average

Microsoft Theater Interviews

www.microsofttheater.com /  HQ: Los Angeles

1 Interviews / Part of AEG

1.0 Very Easy

MIC Brussels Interviews

www.mic-brussels.be /  HQ: Bruxelles

0 Interviews

Not Yet Rated

## Microsoft Interview Questions

Sort: RelevancePopular Date

### Software Development Engineer In Test (SDET) at Microsoft was asked...

Apr 9, 2012
 how can a particular application be tested apart from testing its functionality3 AnswersReliability Test, Stability Test, UI Test, Platform Test,Also include, performance, stress & load testingAccessibility, user experience, globalization, localization, integration, compatibility

### Software Development Engineer In Test (SDET) at Microsoft was asked...

Mar 6, 2012
 In a given sorted array of integers remove all the duplicates.6 AnswersIterate the array and add each number to a set, if number is already there, it won't be added again, thus removing any duplicates. Complexity is Big-O of NThe array is already sorted, no need for a set. example: 2,2,5,7,7,8,9 Just keep tracking the current and previous and the index of the last none repeated element when found a difference copy the element to the last none repeated index + one and update current and previous, no extra space and it will run in O(n)public RemoveDuplicates() { int[] ip = { 1, 2, 2, 4, 5, 5, 8, 9, 10, 11, 11, 12 }; int[] op = new int[ip.Length - 1]; int j = 0, i = 0; ; for (i = 1; i <= ip.Length - 1; i++) { if (ip[i - 1] != ip[i]) { op[j] = ip[i - 1]; j++; } } if (ip[ip.Length - 1] != ip[ip.Length - 2]) op[j] = ip[ip.Length - 1]; int xxx = 0; }Show More Responsesdef removeDuplicatesSecondApproach(inputArray): prev = 0 noRepeatIndex = 0 counter = 0 for curr in range(1,len(inputArray)): if (inputArray[curr] == inputArray[prev]): counter = counter + 1 prev = curr else: inputArray[noRepeatIndex+1] = inputArray[curr] noRepeatIndex = noRepeatIndex + 1 prev = curr inputArray = inputArray[:-counter] return inputArrayif(inpArr[i] == inpArr[i+1]) { int repeats = 1; opArr[opPos] = inpArr[i]; int j = i + 1; while(j+1 <= inpArr.length - 1 && inpArr[i] == inpArr[j+1]) { j++; repeats++; } opArr = Arrays.copyOf(opArr, opArr.length - repeats); i = i + repeats; } else { opArr[opPos] = inpArr[i]; } opPos++; } for(int i =0; i<=opArr.length-1;i++) { System.out.println(opArr[i] + ","); }Apologies for the previous incomplete answer int[] inpArr = {1,2,2,3,4,5,5,5,8,8,8,9,13,14,15,18,20,20}; int[] opArr = new int[inpArr.length]; int opPos = 0; for(int i= 0; i<=inpArr.length - 1; i++) { if(inpArr[i] == inpArr[i+1]) { int repeats = 1; opArr[opPos] = inpArr[i]; int j = i + 1; while(j+1 <= inpArr.length - 1 && inpArr[i] == inpArr[j+1]) { j++; repeats++; } opArr = Arrays.copyOf(opArr, opArr.length - repeats); i = i + repeats; } else { opArr[opPos] = inpArr[i]; } opPos++; } for(int i =0; i<=opArr.length-1;i++) { System.out.println(opArr[i] + ","); }

### Network Engineer at Microsoft was asked...

Mar 17, 2012
 Given a very large existing network with thousands of external connections, how would you add an additional few hundred connections?3 AnswersThink it through, out loud. Walk through your options- don't just pick one. DS3, metro-E, SONET, etc.someone building networks with thousands of external connections considering anything but 10G, 1G at minimum... doesn't understand COGS.... the name of the game is \$0.000xxx/Mbps.. which you are not going to get with anything but ethernet.SNMP/NetFlow to monitor the WAN Bandwidth Utilization + Characterize the Traffic (what type of traffic is using the network, QoS parameters for applications, CoS) a. Characterizing the traffic: 1. identify major traffic sources and stores and documented traffic flow between them. (Voice, Video) 2. categorize the traffic flow for each application as being terminal/host, client/server, peer-to-peer, server/server, or distributed computing. 3. estimate the bandwidth requirements for each application. 4. estimate the bandwidth requirements for routing protocols. 5. characterize network traffic in terms of broadcast/multicast rates, efficiency, frame sizes, windowing and flow control, and error-recovery mechanisms. 6. categorize the QoS requirements of each application and what are the current trends 7. discuss the challenges associated with implementing end-to-end QoS and the need for devices across the network to do their part in implementing QoS strategies. When the team determines that bandwidth augmentation is necessary based on the utilization reports of NetFlow and comparing it with the companies’ policies that the traffic is going over the threshold during the business hours, provides a recommendation to network engineers and managers. Once it is determined that an upgrade is necessary, proceeding with the upgrade becomes a business decision.

### Senior Market Research Manager at Microsoft was asked...

Jul 20, 2012
 How do you influence people who do not report to you? How do you get them to do things even though they don't have to or want to?2 Answersa) I've never actually had someone refuse to help me when asked, but b) I would try ahead of time to get to know them so that when I need to influence them or need to request assistance, they already have a basic level of comfort with me.I would answer this question by first stating that it is important to get to know how people are motivated on a personal level first. If they do not report to you then you might not have positional authority to ask them for a deliverable. At a company like Microsoft, I'm sure that there are jobs/roles that require people to get help/collaboration from people outside of their positional authority. To do this, you must first know what motivates a person and proactively make personal "deposits" to build some solid connections so that when you need to make a "withdraw" you have invested enough. Deposits can be made by taking an interest in someone, providing them with help when they need it, or maybe buying them lunch/drinks.

### Software Development Engineer In Test (SDET) at Microsoft was asked...

Oct 21, 2010
 Write code in your favorite programming language that will accept two strings and return true if they are anagrams.2 AnswersThis was not really that hard to write it, however the interviewer asked me to reduce the complexity. My initial version had n*log(n) complexity and he asked me to reduce it to no more than n complexity. If you have had some upper level Computer Science classes this is not too difficult, however what they are looking for is a way to stump you. If you adjust your code or thinking rapidly to their request they will change it again until they find something that you have trouble with. Do not be discouraged by this, it is the interviewers job to determine how much you know!Found this good link. Time complexity is O(n). http://www.dreamincode.net/code/snippet1481.htm The algorithm can still be improved but gives some basic idea on how to implement.

### Software Development Engineer In Test (SDET) at Microsoft was asked...

Mar 8, 2011
 Given a string (understood to be a sentence), reverse the order of the words. "Hello world" becomes "world Hello"1 Answer2 ways. At the low level: reverse the entire string. 'Hello World' becomes "dlroW olleH". Then reverse each word, becomes "World Hello". At a higher level: Tokenize the words and push them onto a stack, then pop them out.

### Senior Communications Manager at Microsoft was asked...

Aug 8, 2015
 How do you manage project expectations when multiple stakeholders are involved?1 AnswerI made the point that there are several ingredients to proper stakeholder management -- especially when there are many (with often disparate goals and needs) involved in a single project. I stressed the importance of excellent communication, strong interpersonal skills, sharp organizational skills and the ability to inspire confidence and maintain authority as the PM.

Aug 13, 2009