Experience : 3.5+
Position: L61/62 (Software Engineer II)
Location: Bangalore/Hyderbad, India
Offer Date: May, 2022
I would like to give huge thanks to Leetcode and the community. Without Leetcode and the community's help, this offer simply would have been less likely. So its time for me to give back something to the community.
I got a call from the Recruiter in the 1st week of April, as they took my profile into consideration for the Azure Atorage org.
After 2 weeks got an update that my profile got shortlisted and they are directly moving to the Technical Rounds. 1st technical round was scheduled on 22 April 2022.
Techincal Round 1: (DS/ALGO ROUND)
Durantion: 1 hr 20 mins
One medium level question on string. Need to come up with the working code and run all the provided test cases on codility paltform.
Design an malloc function that will allocated only if the requested size of the memory is within a certain limit. Design the function in such a way that custom function will return only boolean value. Follow up: Need to handle the case where memory is full and malloc cannot allocate any further request.
Follow up: What could be the possible reason for memory full. I told him memory leak could one such case. How to track memory leak in a system. What measures to prevent memory leaks. This leads to the shared pointer discussion as I mentioned it handles auto destruction. What are zombie process, orphan process and how they can be cleared from the memory.
(Self Verdict: Hire)
Within 15 mins got the call that my next round got scheduled in 1 hour.
Techincal Round 2: (DESIGN ROUND)
Duration: 1 hr
We had a breif introduction on my current projects and was asked about the internal desgin for that.
It was supposed to be the desgin round but the interviewer asked me a coding question instead. Validate a BST
Next the interviewer asked to design a distributed cache. Mostly had discussion on the LLD on the cache design. We had discussions on the cache eviction policy design. Follow up: Design the LRU cache eviction. Discussed in detail about the different api's and data structure to be used. The interviewer seems satisfied and moved to the next question.
She started on the discussion on IPC (Inter process communication ) and shared memory. She asked difference between mutex and semaphore which i couldnt answer. I told her I havent worked on locking mechanism since long. She moved to next question
Reverse a linked list in O(1) space which i answered.
(Self Verdict: Not so good)
Techincal Round 3: (DESIGN ROUND)
Duration: 1 hr
This was supposed to be desgin round but the interview asked two LC medium questions which was asked to run on codility platform passing all the test cases.
Number of islands
Follow up: Calculate the perimeter of all the islands.
Interviewer seems satisfied with the aproach.
(Slef Verdict: Strong hire)
After 2 days got a confirmation that I have cleared all the rounds and they are setting up the final Hiring Manager round
Techincal Round 4: (AA ROUND)
Duration: 2hr 20 mins
This round was taken by the Hiring Manager and was the most lengthy round among all of them. We had a lot of discussions on the existing work in my current organization. The interviewer deep dived into the internal design and architecure of my current project. Next I was asked for high level design Social Media newsfeed.
Next I was asked to desgin self implementing alloc and dealloc where the user can request any size of memory but our self implementing alloc can only request 1024KB size from the memory. Need to desgin a data structure on how to reuse the unused memory blocks for future requests from the user. Similarly for dealloc, actual dealloc will happen for the entire requested 1024kB block. Even if the client calls dealloc for a small chunk of memory block, atual dealloc will happen when the client requested deallocs for all the internal chunks of a particular 1024KB memory block. Interviewer was satisfied with the design and was asked to code both the functions.
Interview ended on a positive note where the manager asked for the expected compensation and whether I am holding any other offer or not. This gave me a slight hint on my selection.
3 days later got a call from the retcruiter that I have been seleted for the L61 role, and that was the dream come true moment.
Will post the compensation detail in a separate thread.
Update:
Compensation post: https://leetcode.com/discuss/compensation/2034299/microsoft-l61-se-2-hyderabad/1389050