Microsoft | L61 | Bangalore | Feb 2022
Anonymous User
2507

YOE: 3 .6 years
Current Org: Fintech

Online Assessment:
Codility Test with 2 questions to be done in 1 and a half hour time.

Don't remember the exact descriptions but they were slightly as follows:
  1. Find out all elements in array which are strictly greater or slightly lesser than their adjacent elements
  2. Given a graph of courses with prerequisites, find all the courses that are required for completing a particular course

After a week time, the HR contacted me and they invited me for their hiring drive over the weekend.

Round 1 (DSA):

  1. Given a list of positive and negative numbers, rearrange all the negative numbers ahead of positive numbers while maintaining the relative order.
  2. Since, we had time the interviewer asked me another question, Given a number n, find out all the number between 1 to n having 2 set bits. He wanted me to come up with a better approach rather than traversing all the numbers from 1 to n and count the set bits.

Round 2(LLD):
I was given an interface for a Sliding Counter and I had to implement it in the most optimized way.

interface SlidingCounter{
	
		void increment(Long timeStamp); // Increments the count for a particular timestamp
		void getCountForTimeSpan(Long Timespan) // Fetches the number of counts for a given timespan
	
}

The interviewer wasn't familiar with Java, so I had to put in more effort to explain him the libraries I was using, like TreeMap.
He was satisfied with the approach but pointed out on using TreeMap for doing most of the operations.
Not sure why was he expecting me to implement a Self Balancing BST on my own:p
But Later in the afternoon I received the call from HR informing me that they are ready to schedule my next round.

Round 3(HLD/General Discussion):
The interviwer asked me some basic concepts and we had a discussion over them. I wasn't required to make any diagrams. Few of the questions that we discussed were:
-> SQL vs NOSQL
-> ACID Properties
-> Why use Messaging queues like Kafka ?
-> What factors are monitored while using Message brokers ?
The later he asked me to Design Whatsapp, specially the part where we can sync a message for a user in multiple devices.

I was called again for final round later in the day.

Round 4(HLD/ API Design):
The interviewer started with some behavioral questions like Why I was looking for a switch etc.
Design an Online Auction where the bidder will bid a price for some specific type of VM machine based on hardware requirements, and the maximum bidder will be assigned the VM machine.
Also, if later on some other user bids higher for the same machine, then the existing user will be replaced and notified.
We can also have multiple VMs so they can be assigned to maximum bidders in the order of their bids.

The recruiter contacted me after few days and mentioned that overall things look positive and asked me to share my documents over mail. I am awaiting the final offer discussion since.

Comments (4)