Open In App

Microsoft Interview experience | Set 125 (On-Campus for IDC)

Last Updated : 20 Dec, 2018
Like Article

Microsoft IDC Interview experience

Online Round

Platform: CoCubes
Format: 3 coding questions
Time: 75 minutes

They had a pool of questions and three questions(2 + 3 + 5 marks) were given to each student randomly.

  1. Given an integer N and an integer M, output a number closest to N which is divisible by M.
    Input: N = 15, M = 7
    Output: 14
    Input : N = 17, M = 3 
    Output : 18

    Expected Solution in O(1)

  2. Given a string of O’s and 1’s, output the maximum length of a sub-string of all 1’s.
    Input: 1011010111101
    Output: 4
    Input : 0110111110111101
    Output : 5

    GeeksforGeeks Link
    Expected Solution in O(n).

  3. Length of Longest Arithmetic Progression

    Expected Solution in O(n^3)


    40 candidates were shortlisted for the group fly round.
    No. of Questions: 2
    Time: 75 min.

  1. Question 1:

    Find a word in a grid of characters
    The problem was a modification of the above problem. We could move in all the 8 directions and zig-zag traversal was also possible. We had to return a list of coordinates(i,j) of the found the traversal. If more than one traversal possible, return any one.

    Grid:  a b c d 
           b d e e
           f g r k
           s g s s
    String: geeks
    Output: (2,1), (1,2), (1,3), (2,3), (3,2)

    I solved using DFS.

  2. Question 2:

    Imagine a Euclidean plane and N points(x,y) on that plane. You are given a list of such points. You will then receive queries if a particular point is present in the plane or not. Output TRUE or FALSE accordingly.

    0 < N < 10^6
    -10^6 <= x,y <= 10^6

    Points: (2,1), (1,2), (1,3), (2,3), (3,3)
    Query1: (2,3)
    Output1: TRUE
    Query2: (2,2)
    Output2: FALSE
  3. They expected us to optimize the queries. I used unordered_map to store points and output queries in O(1).

50% candidates were selected after the group fly round i.e 20 students.


    The interviewer took my CV and looked at it for at most 2 sec and kept it away. He then gave a puzzle question

  1. You have the following operators available with you: + – * / ( )
    Insert few of these operators to make the given line as a valid mathematical expression
    1 2 3 4 5 6 7 8 9 = 100.

    Note: If we don’t insert anything between 1 and 2, it becomes 12. Order of 1 to 9 must remain as it is.

    Solution: (1 + 2 + 3 + 4) * (-5 + 6) * (-7 + 8 + 9) = 100
    I gave the above solution within 2-3 min. He immediately told me to give one more solution.
    I again took 2-3 mins to come up with one more solution.
    Alternate Solution: 123 - (4 + 5 + 6 + 7) - (-8 + 9) = 100
    • Design an Elevator System. We discussed this question for about 45 min.

      I asked him few clarification questions which he replied nicely. The interviewer was professional and helpful.

    • How many elevators?
      Ans: N elevators. N is more than one.
    • How many floors?
      Ans: M floors.
    • Do we have one button for each lift or only one button for all the lifts on each floor?
      Ans: Only one button controls all the lifts.
    • Do we need to consider things like max number allowed in the lift, etc?
      Ans: No
    • .

      I asked few other questions in the process of designing the system.

      Things he wanted me to answer:

    • What kind of algorithm should we use to control the movement of lifts?
    • Data Structures to be used
    • .

    • Optimization of the algorithm. A workable algorithm is not enough. It had to be optimised for efficient usage, time and power saving.
    • Follow up questions:

    • How will I handle concurrent requests?
    • When not in use, on which floor will the elevators rest? Why?
    • Will it be same during all hours of the day? Why?
    • Will I use the same algorithm during the day and the night?
    • How am I planning to save lift operating power?
    • Will my algorithm work if one of the lifts becomes faulty?
    • If a button is pressed twice on any floor, is my data structure handling that?
    • I have been given one-year data on elevator usage. How would I use this data to optimize my algorithm to increase efficiency?

      Would you use any ML/AI stuff to optimize this problem? How?

      There were many more questions which I don’t remember exactly. I had to give a reason for every design decision. He then asked me to write the object-oriented code for it.

      Solution: I had a Central-Manager class to manage all elevators, each elevator was working as a Thread. All data was stored with the Central-Manager. I stored incoming requests in Balanced Binary Search Tree. I had a priority assigned to each request if it comes from inside the elevator or outside the elevator, etc.

  2. He was very professional and experienced. He was very impressed with my answers. He filled my feedback on his laptop while I was writing code. Before I finished writing the code, he said I am done. Not required to write the code.

I was sent directly to the Hiring Manager after this round. One or two more technical interviews were done for few.

ROUND 2(Hiring Manager):

    He was a senior guy who worked 13+ years in Microsoft. He was very cool and friendly.
    He started by asking me if I have any questions for him regarding Microsoft, etc. I told I don’t have any specific questions but I am curious about what kind of work is done in Microsoft IDC, what is the most interesting project being done, etc. He told me that everything is interesting right now. He told me about the various divisions in IDC and what kind of projects they are doing. He then asked me about my dream company. I told Google. 😛 We then had a discussion about the pros and cons of Google and Microsoft. He asked few other questions like which is my favourite subject, etc. Few follow up questions on them. He said fine now solve a technical question.

    Question: It was a long problem statement and the solution boiled down to Toposort. I gave him the solution and he told me to write the code.

    He was convinced with the code. However, he told me one very small thing about my code which could have been written more elegantly. I agreed with him.

    We then discussed my projects. He told me to tell him about the project I did during my internship in Samsung Research Institute Bangalore. He also asked about my personal projects and follow up questions on them. He then asked if I have any questions for him. I said No.

    I was surprised that I had to give only 2 rounds so I asked him if there will be any more round after this. He said I am doing great. Relax.

No. of personal interviews varied from 2-4 for the candidates.

Result: Selected.
GeeksForGeeks was a great help during my preparation. Thanks to other students for sharing their interview experience. 🙂

Related Practice Problems

Previous Article
Next Article

Similar Reads

Microsoft Interview Experience | Set 148 (Internship IDC Pool Campus)
Round 1: (Online Coding) Online coding round on co-cubes platform. 3 Questions 75 mins. Questions are very easy. Given two arrays find the min in first array and max in the second array and return the product of the two elements(2 marks) Given a 2d matrix and a column we have to sort the rows of the matrix based on element present at that column in
4 min read
Microsoft IDC Interview Experience | Set 150 (Off-Campus for Full Time)
I applied Off campus through Microsoft referral program. Initially the shortlisting was done on the basis of CV. Round 1: First round was Online coding round on co-cubes platform. There were 3 Questions to be done in 75 minutes. The questions were: Given an array of integers of size n. Assume zero as invalid number and all other as valid number. Co
4 min read
Microsoft IDC Interview Experience | Set 156 (Off-Campus for Full Time)
I applied to Microsoft through referral program for full - time position of software development engineer. All of the candidates who applied through referral were invited for an online coding test on co-cubes platform after 2-3 weeks. Online Coding Round (On Co-Cubes) :- Three questions were given in 75 minutes of time to solve. Solving on co - cub
7 min read
Microsoft IDC Interview Experience | Set 177 (On-Campus)
Round 1: It was a coding test which was held on CoCubes platform. 3 problems were given of varying marks: 2 marks: Given a string, find the first non-repeating character in it. For example, if the input string is “GeeksforGeeks”, then output should be ‘f’ and if input string is “GeeksQuiz”, then output should be ‘G’.
4 min read
Microsoft IDC Interview Experience | Set 168 (Off-Campus for Internship)
I applied to Microsoft through referral program for Internship as software development engineer. All of the candidates who applied through referral were invited for an online coding test on co-cubes platform after 2-3 weeks. Online Coding Round (On Co-Cubes) :- Three questions were given in 75 minutes of time to solve. Solving on co – cubes platfor
5 min read
Microsoft Interview experience | Set 178 (On-Campus Internship for IDC)
There were a total of 3 rounds. 1st was online coding, 2nd was written coding and last round was divided in three parts, basically 3 Technical Interviews. Round 1: Online test on CoCubes contains 3 Coding Questions (Only Function to complete). Total time given was 75 minutes. Find the average of sum of ASCII values of all the characters in a string
5 min read
Microsoft Interview Experience | Set 61 (On-Campus for IDC)
Microsoft visited our campus recently. Round 1: (MCQ) 30min. It was an online round with 15 MCQ and time given was 30 min. The round was hosted on Questions were mainly from C,C++,Java,OS. Around 60 people were shortlisted in this round. Round 2 : (Coding) 60 min This round was also hosted on and had two programming question
3 min read
Microsoft Interview Experience | Set 62 (On-Campus for IDC)
Microsoft visited our Campus recently for IDC as well as IT Profiles. Round 1 (MCQ): It was an Online MCQ Round. There were 15 Questions in all. Time Duration was 30 Minutes. The Questions were mainly focused on C, C++ and JAVA. Only 1 Aptitude Question was there. There were different sets for different students. Around 60-65 students were shortlis
4 min read
Microsoft Interview Experience | Set 65 (On-Campus for Internship IT and IDC)
Microsoft visited our campus for hiring FTE’s and Interns. I had opted for both Microsoft IT and IDC. The first couple of rounds were online rounds and were hosted on Round 1 It comprised of 15 MCQ Questions and time allotted was 30 mins. Every student had a unique set of questions which comprised of C,C++ (I/O), Data Structures, Java,
4 min read
Microsoft IDC Interview Experience | Set 66 (On-Campus for Internship)
There were 4 rounds in all First Round There were total 15 MCQ questions based on c, c++ pointers java output and one was on resource allocation graph. This round was on cocubes Second Round Around 60 people were selected and there were two coding questions 1. In a given array find i & j such that arr[j] > arr[i] and j-i is maximum 2. In a binary t
2 min read