I was interviewed for a position at the India location in Hyderabad. The panel traveled to my city, and all interviewers were very friendly and polite, which was a pleasant change from my usual interview experiences.
The interview process consisted of four rounds, all focused on technical skills. Each round lasted approximately an hour or more, and all interviews were conducted on the same day.
During the interviews, I was presented with technical problems. I needed to explain my solution and then write code using pen and paper. The interviewers were helpful, guiding my thought process. It's important to communicate clearly and avoid rushing to find an answer, as they provide ample time. Typically, one hour of an interview is dedicated to discussing a single problem, or a maximum of two.
They generally hire for Microsoft, rather than for a specific position. Therefore, there are no strict expectations regarding knowledge of particular technologies. However, a strong understanding of fundamental software concepts is essential, including:
Clarity of thought and your approach to problem-solving are paramount. Following that is the coding aspect: write clean code. You can use a separate page for scratch work, but ultimately, submit code that is bug-free and well-presented. It's acceptable if you don't solve all corner cases initially. The key is to think of as many cases as possible and communicate to the interviewer which ones you have addressed and which remain. Overall, clear communication is vital.
Standard questions are also asked, such as "Why Microsoft?" and "What challenging problems have you solved in the past?"
Upon selection, the recruitment team takes over. The onboarding process is smooth, with extensive upfront communication via emails and other channels. They assist with relocation and offer flexibility regarding your joining date. The compensation is also quite competitive.
You are given an n-ary tree. Each node of the tree has these pointers: parent, left sibling, right sibling, and an array of children.
Now, complete a function with this objective:
The function takes two arbitrary nodes: one is designated as a root node (say, A), and the second is a regular node (say, B). Now, in a depth-first traversal, find whether the next node after B belongs to the subtree of A and return the answer (yes/no).
You are given a bunch of mutexes (lock/unlock functions) and events (wait/signal functions). Design a semaphore (write code) using these as building blocks.
The following metrics were computed from 1 interview experience for the Microsoft SDE-II role in Pune, Maharashtra.
Microsoft's interview process for their SDE-II roles in Pune, Maharashtra is incredibly easy as the vast majority of engineers get an offer after going through it.
Candidates reported having very good feelings for Microsoft's SDE-II interview process in Pune, Maharashtra.