Microsoft SDE interview | 2 years experience

microsoft logo
microsoft
sde 1hyderabad2 years
March 16, 20190 reads

Summary

I interviewed for an SDE 1 role at Microsoft's Hyderabad office, a process that spanned three rigorous rounds including techno-behavioral and core technical evaluations, covering data structures, algorithms, and system design concepts.

Full Experience

I am currently working as a Senior Software Engineer with Samsung RnD, Bangalore, having completed my Bachelor's in Computer Science. I applied for an SDE 1 position at Microsoft's Hyderabad office.

The interview process involved three distinct rounds:

Round 1: Techno-Behavioral

This round began with standard behavioral questions. The interviewer asked me to introduce myself and discuss the projects I've been involved with, expecting detailed explanations from my resume. They also inquired about my team size and the number of people on my project. A key behavioral question involved describing a technically challenging situation I faced, how I overcame it, and a follow-up on how the solution was accepted, particularly focusing on developing a cleaner solution after the initial deadline.

For the technical part, the interviewer explicitly stated they valued the thought process over just the solution and that the problem would be ambiguous, requiring me to ask clarifying questions. The problem given was: Given a list of integers represented as strings, remove every Kth element and every element that is equal to K. I was expected to write test cases covering all corner cases, explain my expected output, and write modular, industry-standard code.

The round concluded with an opportunity for me to ask questions and highlight any significant achievements.

Round 2: Technical

This round started briefly with 'tell me about yourself' and a question about my alma mater. The main focus was on a data structures and algorithms problem: Given employee in and out times, determine the maximum number of employees present in the building at any given time. I was challenged to optimize the solution, and I proposed and coded an O(1) space and O(nlogn) time complexity approach.

I was again given a chance to ask questions at the end.

Round 3: Techno-Behavioral

The final round also began with 'tell me about yourself' and a question about my graduation. The interviewer then asked about my motivations for seeking a switch.

The core technical question in this round was more conceptual and leaned towards system design principles: Imagine a 'chunker' over a network that can split a given string into any order of chunks (e.g., 'This is a test string' could become 'This is', 'string', 'test string', etc.). I needed to determine what extra information each packet (or chunk) would require to reconstruct the original string accurately on the receiving end. My proposed solution involved sending the original string's total length and the chunk's starting index within the original string with every packet (e.g., '20|15|string'). On the reconstruction side, I described how I would initialize a string of the full length and use a list of yetToBeFilledIndexes to track and fill parts of the string as chunks arrived.

Interview Questions (7)

Q1
Tell me about yourself and your projects
Behavioral

The interviewer asked me to introduce myself and elaborate on the projects mentioned in my resume, expecting detailed explanations.

Q2
Team and Project Size
Behavioral

I was asked about the current size of my team and the number of people involved in my specific project.

Q3
Technically Challenging Situation
Behavioral

I was asked to describe a technically challenging situation I encountered, how I overcame it, and a follow-up on how the solution was accepted, specifically focusing on how a cleaner solution was developed after meeting the initial deadline.

Q4
Remove Kth Element and Elements Equal to K
Data Structures & Algorithms

Given a list of integers represented as strings, remove every Kth element (1-indexed) and every element that is equal to the integer K. The interviewer expected me to clarify ambiguities, provide test cases, cover corner cases, and write modular, industry-standard code.

Q5
Maximum Employees in Building
Data Structures & AlgorithmsMedium

Given a list of employee entry and exit times, determine the maximum number of employees present in the building at any single moment. I was asked to optimize the solution and provided an O(1) space and O(nlogn) time complexity solution, then coded it.

Q6
Why are you looking for a switch?
Behavioral

The interviewer inquired about my motivations for seeking a career change.

Q7
String Reconstruction from Network Chunks
System Design

A network 'chunker' divides a given string into multiple chunks, which can arrive in any order (e.g., 'This is a test string' could become 'This is', 'string', 'test string', etc.). The task is to determine what extra information is needed with each packet (or chunk) to successfully reconstruct the original string on the receiving end. I needed to specify the necessary metadata and outline the reconstruction process.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!