Microsoft IDC Bangalore Interview | Set 153 (O365 Team)

For experienced profile

Round 1:

General discussion on career so far.

  1. Difference between process and thread
  2. Given a long string and a small pattern, find whether any permutation of the pattern in present in the string (Working Code  and a dry run expected, not pseudocode). Find the space and time complexity.
  3. Toughest technical challenge faced in career so far

Round 2:

  1. Given an array of integers, write pseudocode to find the smallest non-negative integer not present in the array (can use additional space)
  2. Consider a n*n grid. Suppose each cell in the grid has a value assigned.  We can go from each cell in row i to a diagonally higher cell in row i+1 only [i.e from cell(i,j) to cell(i+1, j-1) and cell(i+1, j+1) only] . Write a pseudocode to find a path from bottom row to top row such that the maximum value is obtained.
    Similar Question : GeeksforGeeks Link

Round 3:

  1. Suppose you have a binary tree. What is the best way to serialize and send this information such that the receiver can construct the tree correctly. Code not asked.
    Solution : GeeksforGeeks Link
  2. Given a n*n grid where most cells are cubicles and m cells (m << n^2) are pantries. There can be walls between two cubicles through which we cannot have a path. Given the locations of walls and pantries, for a given cubicle find the nearest pantry. Working code expected.
  3. Interviewer interrupted purposefully while coding Q2 and asked 2 rapid questions
    1. time complexity to find 10th largest number in a heap
    2. time complexity to find 10th largest number in an array

Round 4:

Open ended questions:

  1. Consider twitter. The requirement is to show the top 10 trending hashtags at a given time. How will you analyze/store the twitter feed to show this data.
  2. Design an elevator system for a building where number of elevators can be increased later.

Round 5:

Hiring manager round:

  1. Write a C function that takes a string and delimiter as input, splits the string based on the delimiter and returns a list of resulting sub strings.
  2. OS question – Suppose the current program running has an infinite loop, can you run another program.

Overall experience : Very quick process. The interview took place in their office and was finished in around 5 hours.


Write your Interview Experience or mail it to

My Personal Notes arrow_drop_up

If you like GeeksforGeeks and would like to contribute, you can also write an article using or mail your article to See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.

Article Tags :
Practice Tags :

Be the First to upvote.

Please write to us at to report any issue with the above content.