My Microsoft Interview Experience
Online Assessment (OA) The online assessment was challenging and tested problem-solving skills. It consisted of the following questions:
Nested List Weight Sum: This problem involved calculating the weighted sum of a nested list of integers, where the weight is determined by the depth of the integers in the list. Create Maximum Number: The objective was to create the maximum number from two given arrays while maintaining the relative order of the numbers.
Round 1: Coding Interview Problems:
Best Time to Buy and Sell Stock Number of Islands
Round 2: Low-Level Design (LLD) Problem:
Task Scheduler: I was asked to design a task scheduler that can handle various tasks with dependencies, priorities, and the ability to delay or expedite tasks.
Round 3: System Design Problems:
DDOS Detection and Prevention: I had to design a system that can detect and mitigate Distributed Denial of Service (DDOS) attacks. This involved discussing the architecture, data flow, and various algorithms used for detection and prevention. Google Docs HLD: This involved designing a high-level architecture for a document collaboration tool similar to Google Docs. Key points discussed included real-time collaboration, conflict resolution, data storage, and scalability.
Round 4: Combined HLD and LLD Problem:
Task Reminder Feature: I was asked to design a feature for scheduling daily meetings. The system should support various functionalities like scheduling meetings for today, tomorrow, and special holidays. Experience: This round combined both high-level and low-level design. I started with the high-level architecture, explaining how different components would interact. Then, I drilled down into the low-level design, detailing how the feature would be implemented. This included database schema, API design, and handling edge cases.
The interviewer was interested in how I would ensure the feature’s flexibility and robustness. I explained how I would handle different types of meetings (e.g., recurring, one-time) and ensure that the system could accommodate special cases like holidays.