Microsoft Interview Questions

Excerpts from Interview #1:
(An engg student having 10th grade- 92.1% 12th grade-89.6% and graduation score-84.6%)
Technical Interview:
  • What is the basic difference between 32-bit and 64-bit operating system?
  • What is deadlock? What are the conditions of deadlock? Can you write a code to show deadlock. What is the Bankers Algorithm?
  • What exactly do you mean by UDP?
  • State three differences between HTML and XML.
  • Explain polymorphism.
  • Given a pile of 9 objects. 2 players take turns to pick 1, 2 or 3 objects. The last one to pick is the looser. What is the winning strategy? What is the winning strategy for 9 coins?
HR Interview:
  • Introduce Yourself.
  • What was your job in your final year project?
  • What do you think is your biggest achievement? Why?
  • Whom do you idolize in the business industry?
  • What do you think makes you different to work in Microsoft?
  • Tell any 4 of your favourite products from Microsoft.
Excerpts from Interview #2:
(B. Tech background, with academic profile as 8.96 CGPA, 94.6% in 12th and 92% in 10th.)
Technical interview:
  • Define stored procedure. What are its advantages and disadvantages?
  • What are the differences between interfaces and abstract classes?
  • How do you sort a linked list using the most efficient algorithm?
  • Design a Memory Management System.
  • Differentiate between data set and data reader.
  • Problems to find median of two shorted arrays.
  • Different types of system calls.
  • What are different types of Interrupts? What happens when an interrupt is called?
  • Find if there is a loop in a linked list.
  • Write an algorithm to find the depth of a binary tree.
  • Write an algorithm to separate all ones & zeroes in an array.
  • How to detect the starting point of loop in a linked list which has a loop?
HR Interview:
  • Introduce yourself and tell us something apart from the Resume.
  • Why do you want to join Microsoft?
  • What are your favourite subjects in your graduation and why?
  • What do you want to be in the future?
  • Tell any 1 social problem that bothers you the most. Can you suggest any solution to this problem as a technical guy?
  • Some questions based on your resume.
  • What is important to you: the money or the work?
Excerpts from Interview #3:
(B. Tech background, with academic profile as 9.02 CGPA, 89% in 12th and 93.7% in 10th.)
Technical interview:
  • Given a singly linked list, in which the last node points to the middle node, delete the middle node and remove the loop.
  • Write a recursive function to form a list containing intersection of two given linked list without creating new nodes.
  • Given an array of size n, find the majority element. Majority element is one which gets repeated for more than n/2 times.
  • What are the features of a good code?
  • Find syntactical and logical errors in a C-program (printed on a paper).
  • Design a poke feature in Facebook.
HR Interview:
  • Tell us about your project.
  • What are the disadvantages that Gmail has? Can you suggest some means to overcome it?
  • How would you rate your academic performance in your graduation? Justify?
  • Why do you want to work and not pursue a higher education?
Excerpts from Interview #4:
(B. Tech background, with academic profile as 8.02 CGPA, 86% in 12th and 89.5% in 10th.)
Technical interview:
  • Given two lists sorted in increasing order, create and return a new list representing the intersection of the two lists. The new list should be made with its own memory — the original lists should not be changed.
  • Given an expression string exp, write a program to examine whether the pairs and the orders of “{“,”}”,”(“,”)”,”[“,”]” are correct in exp. For example, the program should print true for exp = “[()]{}{[()()]()}” and false for exp = “[(])”
  • Declare a character stack S.
    Now traverse the expression string expression:

    If the current character is a starting bracket (‘(‘ or ‘{‘ or ‘[‘) then push it to stack.
    If the current character is a closing bracket (‘)’ or ‘}’ or ‘]’) then pop from stack and if the popped character is the matching starting bracket then fine else parenthesis are not balanced.

  • Tell the pseudo code to reverse a linked list.
  • You have a matrix a[m] [n]. Transpose it into a matrix b[n] [m] in minimum iterations. I could think of m*n/4 at most.
HR Interview:
  • What would you like to improve in yourself 3 years from now (other than knowledge)?
  • What are your strengths and weaknesses?
  • Why Microsoft? What competitor of the company would you like to work for? Would you prefer Microsoft?
  • How can you assure that you will join by that time?
Excerpts from Interview #5:
(B. Tech background, with academic profile as 8.74 CGPA, 87% in 12th and 91.2% in 10th.)
Technical interview:
  • Difference between OOPS and C.
  • Write a function to check whether the string is valid or not.
  • Given a string and two positions in that string, shuffle the string, that is, move the given substring to the front.
    Input: abcdefgh, 4,6
    Output: defabcgh
    This has to be done in place with O(n) time complexity.
  • How to implement dictionary data structure in C++? What kind of hash functions shall we use? How to manage collisions?
  • How would you implement vector data structure in C++ on your own? What would be the accessing time complexity? How can you make it O(1)? How to resize the structure?
  • How would I decide which feature should be implemented next in an operating system?
HR Interview:
  • What are your strengths and weaknesses?
  • Why did you chose a career in Computer Science Engineering? Was it your own decision or parent's choice?
  • Describe any innovative aspects of your final year project.
  • Who is the CEO of Microsoft?
  • Do you have any questions for us?
Excerpts from Interview #6:
(Engineering student having 10th score 81.3%, 12th score 86.8% and graduation score 89.1%)
Technical interview:
  • Given the head of two linked lists, find the merging point of both the linked lists. In case the linked lists do not merge then return NULL.
  • Given a 2d array of 0s and 1s where 0s represent water and 1s represent land. A connected patch of 0s count as one single water body and if a water body is covered by 1s all around it then it forms one pool. Write a function to return the total number of pools in the 2D matrix. In case a water body is present on the boundary of the array immediately return -1.
  • Given an address of a node in a singly linked list, delete that node.
  • Find the nth node from the end of a singly linked list.
  • Check whether a binary tree is a BST.
HR Interview:
  • Tell us about your strengths. Why should we prefer you to other candidates?
  • What have you done to improve your academic position in the last 2 years?
  • Tell us about any challenging tasks that you faced in your life.
Test Site