I recent completed SDE2 loop and wanted to share my experience.
Current Experience - 4.7 year
Three rounds happened on Friday as part of the hiring event drive, and the AA happened the following week after I received positive feedback from all three rounds.
(DSA + LLD) with Principle Engineer -
Verdict: Passed. The round lasted 1 hour.
DSA + LLD with Principle Engineer -
DSA Question -
Problem Statement
There are employee_nodes employees in a company. Among them, k special employees have a data network and can share their mobile hotspots with other employees.There are already employee_edges connections between employees. Each connection links two employees: employee_from[i] and employee_to[i], meaning either of these employees can share a mobile hotspot.Two employees x and y are considered connected if there exists a path between them.
All employees connected to a special employee x will use the mobile hotspot of that special employee.Previously, to restrict data usage, any employee could be connected to at most one special employee. However, due to increased data consumption, any employee can now be connected to at most max_connections special employees. Your task is to determine the maximum number of edges that can be added to the graph such that no employee is connected to more than max_connections special employees.
Note: The given graph does not contain self-loops or multiple edges between nodes. The graph formed after adding edges should not contain self-loops or multiple edges. It is guaranteed that in the given graph, no two special employees are connected to each other.
Example
employee_nodes = 4
employee_edges = 1
k = 2
max_connections = 1
special_employees = [1, 3]
employee_from = [1]
employee_to = [2]
Employees 1 and 3 are special employees. Since max_connections = 1, they cannot be connected to each other. Employee 4 can be connected to employees 1 and 2, resulting in two additional edges. Answer = 2
Function Description
Complete the function getMaximumEdges with the following parameters:
getMaximumEdges(
int employee_nodes,
int employee_from[employee_edges],
int employee_to[employee_edges],
int special_employees[k],
int max_connections
)
Parameters
employee_nodes: Total number of employees (nodes)
employee_from[employee_edges]: One endpoint of each connection
employee_to[employee_edges]: The other endpoint of each connection
special_employees[k]: List of special employees
max_connections: Maximum number of special employees any employee can be connected to
Return the maximum number of edges that can be added to the graph such that any employee is connected to at most max_connections special employees.
LLD Question asked in this round
Design Multi-Module Logging Framework There are controllers which has module 1, module2, module 3, need to design logging capability framework for the complete system. When module1/2/3 has done some activity it will send log data to your framework. and framework should log to a file/any tool as a stream. Three threads one writing to the buffer,your framework thread is reading it. and ack when it is written to the file/tool.
Need to write a code write a three-thread and data should be exchanged b/w all these 3 threads and basically a R/W operation, how i can approach it
Verdict: Passed. The round lasted 1.5 hour.
DSA + CS Fundamentals with Principle Engineer
Coding Question
First question - https://leetcode.com/problems/reverse-nodes-in-k-group/description/
Second Question – Longest Substring Without Duplicates. I explained the approach and wrote the code using the sliding window technique.
They expect the code to be running and optimized.
Verdict: Passed. The round lasted 1 hour.
AA round with Microsoft Leader
Behavioral Question
HLD - Design a notification System - HLD + LLD Both
Verdict: Passed. The round lasted 1 hour 20 minutes.
Currently, the recruiter has asked me to submit documents related to my current salary slip and has verbally informed me about my selection. They also mentioned that the offer will be rolled out by the end of next week. I’m hoping there won’t be any hurdles in between.
Team – WSD Team. Let me know if anyone knows how this team is in terms of growth, opportunities, and culture. So far, I have heard that the culture in this team is good and the opportunities are immense.
Let me know if you have any questions. I’d love to answer them and help you guys.
Compensation Details - https://leetcode.com/discuss/post/7644316/selected-for-l-61-at-microsoft-hyderabad-c92f/