# Microsoft IDC Bangalore Interview | Set 153 (O365 Team)

For experienced profile

**Round 1:**

General discussion on career so far.

- Difference between process and thread
- 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.
- Toughest technical challenge faced in career so far

**Round 2:**

- Given an array of integers, write pseudocode to find the smallest non-negative integer not present in the array (can use additional space)
- 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:**

- 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 - 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.
- Interviewer interrupted purposefully while coding Q2 and asked 2 rapid questions
- time complexity to find 10th largest number in a heap
- time complexity to find 10th largest number in an array

**Round 4:**

Open ended questions:

- 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.
- Design an elevator system for a building where number of elevators can be increased later.

**Round 5:**

Hiring manager round:

- 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.
- 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.