Microsoft IDC Interview Process | OA | Aug 2020

Applied for the role of Software Engineer Level 61 by referral . 3 yrs experienced.
Virtual Rounds

Round 1)
Brief introduction ( 5-10 mins )

  • Find the longest substring in a string with unique characters..
    "abccbd"
    Ans: abc or cbd (any 1 )
  • Find the next larger number from the same set of digits
    "237562"
    Ans: 237625

Both the solutions had to run successfully against a set of custom inputs given by the interviewer on codility . I had a couple syntax errors so the interviewer was good enough to give me 10 extra minutes but it passed finally.

Round 2)
This round was taken by a manager (principal software engineer) .
Brief Introduction (10-12 mins about each other )

  • A worlwide sprint event has happened in the last hour and you are given a scoreboard with millions of records in the form of a list of tuple. For example :
    [
    (R1, R2),

    (R2, R3)
    ]
    The first element of each tuple beats the second element of each tuple.
    Here, R1 is the winner and R3 is the loser
    He gave more examples like this :

    1. (R1, R2) ; (R2, R3); (R3, R1)

    2. (R1, R2) (R2, R3) (R3, R4) (R4, R2)

    3. (R1, R2) (R3, R4)
      and the questions he asked was to find out if :
      Q1) Data is valid or not?

    Q2) Data is complete or not?

    Q3) Who was 1st/last?

I like the question and I approached this question with creating a directed graph . I discussed with him that I will create a graph using adjacency list and then I will traverse DFS to detect if cycle is present or not? If cycle is present then data is inconsistent. For the the third part , I told that I will toplogically sort and the first node will be the winner and the last one will be the loser. So after discussions, I started coding.But due to extensive discussion and corner cases , I ran out of time. He wanted a synactically correct and running code with the above tets case examples. I could not complete coding for the third part as I had run out of the given 1 hour time slot.

Verdict : Rejected.

Virtual Interviews are a bit harder than pen and paper/whiteboard rounds. This is because they need more practice to write clean code in a stipulated amount of time and you cannot miss any corner cases.
Will work hard even more.

Comments (2)