Microsoft SDE Interview | Hyderabad | Offer Accepted

microsoft logo
microsoft
SDE IhyderabadOffer
May 27, 202218 reads

Summary

I recently interviewed for an SDE role at Microsoft in Hyderabad and successfully received an offer. The process spanned an online test and four interview rounds, covering coding, OOPS, system design, and managerial discussions.

Full Experience

I recently had my interview experience for the Software Development Engineer role at Microsoft in Hyderabad. The process began with an online test, followed by four intensive technical and managerial rounds, all scheduled on a single day.

Online Assessment

The online test was 70 minutes long and consisted of two coding questions:

  • One question involved finding the longest distinct path in a Tree starting from the root node.
  • The second question required returning a string that did not contain three identical consecutive letters.

Round 1 (1 hour)

This round started with a detailed introduction and a 'tell me about yourself' discussion based on my resume. We then delved into OOPS concepts, covering data hiding, abstraction, inheritance, and polymorphism, with a detailed discussion on access specifiers and their various combinations using objects and inheritance. Following this, I was asked three specific questions:

  • Given a string, find the frequency of every character.
  • A conceptual problem involving the angle between the hour and minute hands of a clock was discussed (though the exact question wasn't fully detailed in the post, it was about clock angles).
  • I had to explain where and why we use Binary Search, and derive its time complexity.

Round 2 (1 hour 10 minutes)

Similar to the first round, this one also began with an introduction and resume-based discussion. The primary coding question asked was to count subarrays whose sum equals a given value 'k'. Beyond coding, we had extensive discussions on various topics:

  • Different types of Design Patterns, including Factory, Bridge, and Producer-Consumer Patterns.
  • MVC Architecture.
  • Usage of Threads, Semaphores, and the Lock-Key mechanism.
  • Microservice architecture.
  • Asynchronous function usages.
  • The differences between abstract classes and interfaces.

Round 3 (1 hour 40 minutes)

This round focused heavily on system design, specifically a Low-Level and High-Level Design of a Shopping Cart system. The requirements discussed were comprehensive:

  • Designing the Basket (cart) APIs.
  • Implementing notifications.
  • Security aspects, including an Authentication Service, and preventive measures against DDOS attacks, MIM attacks, and SQL Injection.
  • Scalability considerations, particularly for events like End of Season Sales.
  • Ensuring reliability with low downtime.
  • Designing the Database linkage using a UML Diagram.
  • Implementing a Rate Limiter API and Throttling mechanisms.

Round 4 (1 hour 50 minutes)

The final round was a managerial one. I was asked to explain every new thing I learned before merging a Pull Request (PR) and what all considerations should be taken to make it fail-safe. The major technical discussion point was the High-Level Design of a UPI (Unified Payments Interface) System, where I had to explain the root-level implementation and working of every feature added.

Overall, it was a challenging yet rewarding experience, culminating in an offer from Microsoft.

Interview Questions (8)

Q1
Longest Distinct Path from Root in Tree
Data Structures & Algorithms

Find the longest distinct path in a Tree from the root node.

Q2
String without 3 Identical Consecutive Letters
Data Structures & Algorithms

Return a string not having 3 identical consecutive letters.

Q3
Character Frequency in String
Data Structures & AlgorithmsEasy

Given a string, find the frequency of every character.

Q4
Binary Search Usage and Time Complexity
Data Structures & Algorithms

Discuss where and why Binary Search is used, and derive its time complexity.

Q5
Count Subarrays with Sum K
Data Structures & AlgorithmsMedium

Count the number of subarrays in a given array whose sum equals k.

Q6
Shopping Cart System Design (LLD + HLD)
System DesignHard

Design a Shopping Cart system, covering both Low-Level Design (LLD) and High-Level Design (HLD). Requirements included Basket (cart) APIs, notifications, security (Authentication Service, DDOS, MIM, SQL Injection preventive measures), scalability (End of Season Sale), reliability (Low Down Time), Database linkage (UML Diagram), Rate Limiter API, and Throttling.

Q7
PR Review Best Practices and Fail-Safe Development
Behavioral

Explain every new thing you learned before merging a Pull Request (PR) and what all considerations should be taken to make it fail-safe.

Q8
UPI System High-Level Design
System DesignHard

Design the High-Level Architecture of a UPI (Unified Payments Interface) system. This involved explaining the root-level implementation and working of every feature added.

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!