59

Software EngineerSDEMedium to Hard

This interview process is for a Software Engineer (SDE) role at Microsoft, specifically for the '59' internal designation. It is designed to assess a candidate's technical skills, problem-solving abilities, and cultural fit within Microsoft.

Rounds·4

Timeline·~14d

Experience·2 - 5 yrs

Comp band·US$110000 - US$150000

Interview time·195 min

Evaluation

What they measure.

  • Problem-solving approach
  • Algorithmic thinking
  • Data structure knowledge
  • Coding proficiency and clarity
  • System design capabilities
  • Communication skills
  • Behavioral fit and collaboration

Preparation

How to prepare.

Tips

  1. Master fundamental data structures (arrays, linked lists, trees, graphs, hash maps) and algorithms (sorting, searching, dynamic programming, graph traversal).
  2. Practice coding problems on platforms like LeetCode, HackerRank, and GeeksforGeeks, focusing on medium and hard difficulty.
  3. Study system design principles, including scalability, availability, reliability, and common design patterns (e.g., load balancing, caching, databases).
  4. Prepare for behavioral questions by reflecting on your past experiences using the STAR method (Situation, Task, Action, Result).
  5. Understand object-oriented programming concepts and design patterns.
  6. Review common interview questions for Microsoft, especially those related to the specific role and level.
  7. Practice explaining your thought process clearly and concisely, both verbally and through code.
  8. Research Microsoft's products, values, and recent news to demonstrate your interest and understanding.

Study plan

Fig · Study plan — 06 phases

01 / 06
01

Phase 01 of 06

Foundational Data Structures and Algorithms

Weeks 1-2: Data Structures (Arrays, Lists, Maps) & Basic Algorithms (Sorting, Searching). Complexity Analysis.

Weeks 1-2: Focus on core data structures like arrays, linked lists, stacks, queues, and hash maps. Practice basic algorithms such as sorting (quicksort, mergesort) and searching (binary search). Cover time and space complexity analysis.

Questions

Commonly asked.

  • Given a binary tree, find the lowest common ancestor of two given nodes in the tree.
  • Design a URL shortening service like bit.ly.
  • Implement a function to reverse a linked list in place.
  • Given an array of integers, find the contiguous subarray with the largest sum.
  • Explain the difference between a process and a thread.
  • What are the different types of SQL joins and when would you use them?
  • How would you design a system to handle real-time notifications for a social media platform?
  • How would you optimize a slow database query?
  • What are the principles of object-oriented programming?
  • Describe a challenging technical problem you faced and how you solved it.

Locations

Regional differences.

Fig · Regions — 03 locations

01 / 03

Location

Redmond, USA

Interview focus

Strong emphasis on data structures and algorithms, particularly tree and graph traversals.System design questions often focus on scalability and distributed systems.Behavioral questions may probe for experience with large-scale projects and collaboration.

Common questions

  • Given a binary tree, find the lowest common ancestor of two given nodes in the tree.
  • Design a URL shortening service like bit.ly.
  • Explain the difference between a process and a thread.
  • How would you design a system to handle real-time notifications for a social media platform?

Tips

  • Familiarize yourself with common algorithms and their time/space complexity.
  • Practice drawing system diagrams and explaining trade-offs.
  • Be prepared to discuss past projects in detail, highlighting your contributions and challenges.

Rounds

Round-by-round.

Expand a step for evaluation criteria, sample questions, and prep notes.

DSA

Coding questions at Microsoft.

Frequently reported on Microsoft loops

Other guides

More at Microsoft.