Microsoft Azure | Sr. Software Engineer | Hyderabad | Dec-2020 | Accepted
Anonymous User
5835

Current Experience
Years : 11
Organisation : FAANG
College : Tier-1

Interview Experience
Overall interview was hard in terms of design and OS fundamentals details. Didnt expect Java threading in detail being discussed at Microsoft.

Round 1 (Coding)[1 hour]
Q.1 Maximum Path Sum in a binary tree.
Followup : Negative numbers in the nodes.

Q.2. Find cycle in a graph.

Round 2 (Coding + Mult-threading)[1 hour]

Q.1. Dont remember the exact question but it was a medium LC on heap. Gave the answer quickly, was asked to write the code for heapify as well.

Q.2. Extensive discussion on multi threading in java :

  • What are the ways in which two processes can talk to each other ?
  • What if multiple threads access a critical section.
  • Internal working of volatile in Java.
  • Use of volatile under following scenarios :
    * Single cpu, single core machine
    * Multiple cpu, with a single core in each cpu
    * Multiple cpu with multiple cores in each cpu.
  • Internal working of synchronize block in Java.

Very detailed discussion in multi threading. Interviewer wanted to see knowledge upto registers, cpu cache.

Round 3 (Coding + Design)[1.5 hours]
Q.1. There are lots of tcp packets coming in. Each packet has an offset, and the length of the content and a flag : isEnd. Last packet will have isEnd = true. Packets are coming in random order in a stream. Packets can have overlapping data Find out if its possible to contruct entire data with the packets.

  • Solved it using interval union approach.
  • Approach was right and interviwer wanted to know the DS to be used. I used LinkedList.
  • Interviewer went to bit level optimisations (Dont remember the exact question) to optimise insertion of the incoming packet data.

Q.2 Design a memory manager in an OS.

  • Gave him concepts similar to page table for managing virtual and real memory
  • Used concepts from Java heap organisation to organise memory.
  • Lots of discussion happened around memory fragementation.

Interviewer was a principal engineer at Azure and this was a very tough and lengthy round.

Round 4 (Coding + Project + design) [Bar raiser round with a director][1.5 hours]

  • Generally AA rounds at MS are supposed to be an easy walk but this one was hard for me. Previous design round must have some concerns so I was grilled a lot in this round.

Q.1 Detailed dicussion around current project. Lots of questions were asked around the design.
Q.2. Discussion around micro-services design, stateless vs stateful services, domain driven design.
Q.3. Design a service in cloud which schedules jobs. For example, user should be able to schedule a job at any point in future which can be recurring or one time job.

Q.4. Implement metrics and alarming in the job schedular service.

  • Thankfully FAANG experience came to my rescue here. I could use the concepts I had been using in day to day stuff at my current organisation.
  • Questions were asked around computation of p99, sum etc.

A day later i was informed that I had made it and was asked to share documents for further processing. Accepted the offer as profile being offered was good.

Comments (17)