Data Structures Algorithms & System Design(HLD+LLD)
by Logicmojo

Top tech companies experts provide live online training

Learn Data Structures, Algorithms & System Design

Online live classes from 4 to 7 months programs

Get job assistance after course completion

Download Course Brochure


Microsoft Corporation is an American multinational technology corporation which produces computer software, consumer electronics, personal computers, and related services. Its best known software products are the Microsoft Windows line of operating systems, the Microsoft Office suite, and the Internet Explorer and Edge web browsers. Its flagship hardware products are the Xbox video game consoles and the Microsoft Surface lineup of touchscreen personal computers. Microsoft ranked No. 21 in the 2023 Fortune 500 rankings of the largest United States corporations by total revenue; it was the world's largest software maker by revenue as of 2016. It is considered one of the Big Five companies in the U.S. information technology industry, along with Amazon, Google (Alphabet), Apple, and Facebook (Meta).

Microsoft’s corporate vision is to help people and businesses throughout the world realize their full potential This vision statement shows that the company presents its business and computing products as tools that people and business organizations can use for their development.

what is going to drive the country forward is the ingenuity of the people of India and how technology can be an enabler. We are fully committed to bringing the best technology to help in that process.

Satya Nadella, CEO, Microsoft

Today, We'll go through everything you need to crack the Microsoft interview, including coding questions and a step-by-step preparation guide.

Depending on the team you are applying for, you’ll need to crack 4 to 5 rounds of interviews. These interviews are designed to assess your technical skills and problem-solving abilities. What sets Microsoft interviews apart from other tech companies is that the hiring managers compare your performance against other candidates to assess your performance. In contrast, other companies make the hiring decision based on your performance. Following are the typical tech interview rounds at Microsoft:

🚀 Recruiter Connect: Best way to get noticed by Microsoft recruiters is to maintain a good Linkedin profile and message recruiters. The candidate can also apply on the Microsoft job portal but it is suggested that they also get a referral from an Microsoft employee.

🚀 Online Round: The CoCube or the online coding round consists of 5 to six competitive coding questions with a time limit running between 1 hour to 1 hour 30 minutes. The questions level varies consisting of questions from domains of Arrays, String, Single Linked List, Double Linked List etc.

🚀 Onsite Round: The group fly round or the onsite round consists of a written coding contest. Questions are provided and time span of 10 to 15 minutes are given to solve it and another 20 minutes are provided to explain the approach to the mentor, under whose supervision one is assigned to do the task. One should be well versed with the domains of competitive coding, data structure and algorithms to clear the round.

🚀 Techinal Round: These consist of face to face rounds with the interviewer and to pass through these round one should have good knowledge regarding the facts mentioned in the CV. The questions are generally asked from the projects, internships or training mentioned in the CV. Following this one should be well known with the course related subjects like Data Structure, Algorithms, Operating System, Networking, Database Management etc. So, basically, the interview tests whether everything mentioned in the CV is full proof and the interviewee is having in-depth knowledge regarding the subjects dealt during the course of engineering. Students can also be expected to write codes in the interview. The final technical round consists of System Designing where questions from various domains can be asked like Cloud COmputing, Microsoft Azure, Dropbox and various Microsoft technology driven engines.

🚀 Technical-cum HR Round: This round deals less with the technical questions but more with the HR questions like:

         1.Where do you see yourself in next 5 years, Microsoft Interview Questions 2023 ?

         2.Questions on family background.

         3.Strengths and Weaknesses.

         4.Questions on the facts mentioned in the CV.

How to Answer Microsoft Interview Questions

While you could just jump into the fray, memorize a few Microsoft interview questions and be done with it (Another hint: That's as far as most people get) that's not the best way to go about things.

Now, it's important to understand that talking about your skills is only one part of the equation. You also need to be ready for Microsoft behavioral interview questions. Some of these can be a little tricky, but, when handled properly, behavioral interview questions are also chances to shine.

What to do when stuck

Getting stuck during coding interviews is extremely common. But do not worry, that is part of the process and is a test of your problem solving abilities. Here are some tips to try out when you are stuck:

  • 🚀 Talk through what you initially thought might work and explain why it doesn't

  • 🚀 Come up with more test cases and write them down

  • 🚀 Think about how you would solve it without a program

  • 🚀 Recall past questions related to the topic, what similar questions in the past have you encountered and what techniques did you use to solve them?

  • 🚀 Enumerate through the common data structures and whether they can be applied to the question. There really aren't that many - stack, queue, dictionary, heap, graph, etc.

  • 🚀 Look out for repeated work and determine if you can cache those computations.

While coding

Write your code with a neat coding style (consistent indentation, spacing around your operators). Reading code written by others is usually not an enjoyable task. Use clear variable names, avoid single letter names unless they are for iteration.

Always be explaining what you are currently writing/typing to the interviewer. This is not about literally reading out what you are typing to the interviewer. Talk about the section of the code you are currently implementing at a higher level, explain why it is written as such and what it is trying to achieve.

Most Common Microsoft Interview Questions

Majority Element

Given an array of size n, find the majority element. The majority element is the element that appears more than floor(n/2) times.


Longest Palindromic Substring

Find the longest palindromic substring in a string str of length N


Make Columns And Rows Zero

Given a two-dimensional array, if any element within is zero, make its whole row and column zero.


Add Two Numbers

Find the sum of two numbers expressed as LinkedList, where each digit is represented by a node of a LinkedList.


Level Order Traversal of Binary Tree

Given the root of a binary tree, return the level order traversal of its nodes' values. (i.e., from left to right, level by level).


Missing Number

You are given a list of n-1 integers, your task is to find the missing number in the list.


Distribute Candy

Find the minimum number of candies requuired to distribute to N children.


Largest Alphabetic Character

Given a string S, find the largest alphabetic character, whose both uppercase and lowercase character appear in string str.



Given an array of n integers, are there elements a, b, c in nums such that a + b + c = 0? Find all unique triplets in the array which gives the sum of zero.


Minimum Swaps To Make Palindrome

Let's say we have a string s and we need to
find the minimum number of adjacent swaps
to convert it to a palindrome.


Longest Mountain Subarray

You are provided an array of 'N' numbers that represent the mountain heights. You must determine the length of the longest subarray with a mountain shape.


Reorder List

Given a single linked list L0 -> L1 ->... -> Ln-1 -> Ln.Rearrange the nodes in the list to generate the following new list: L0 -> Ln -> L1 -> Ln-1 -> L2 -> Ln-2...


Best Time To Buy And Sell Stock

You want to maximize your profit by choosing
a single day to buy one stock and choosing a different day in the future to sell that stock.


Remove Loop in Linked List

Given a Linked list, find out whether it contains a loop or not. If it does, then remove the loop and make the last node point to NULL.


Nth Fibonacci Number

Write a program to calculate the nth Fibonacci number where n is a given positive number.


Dijikstra Algorithm

Dijkstra's algorithm is an algorithm for finding the shortest paths between nodes in a graph, which may represent, for example, road networks.

Read More

Prim's Algorithm

Prim's Algorithm is a greedy algorithm that is used to find the minimum spanning tree from
a graph.

Read More

Krushkal Algorithm

Kruskal's Algorithm is used to find the minimum spanning tree for a connected weighted graph. The main target of the algorithm is to find the subset of edges by

Read More

BFS Algorithm

It is a recursive algorithm to search all the vertices of a tree or graph data structure.
BFS puts every vertex of the graph into two categories

Read More

Minimum Spanning Tree(MST)

A minimum spanning tree (MST) or minimum weight spanning tree is a subset of the edges of a connected, edge-weighted undirected graph that connects all the

Read More

Hashing & Hash Table

Hashing is a technique or process of
mapping keys, values into the hash table by using a hash function. In hashing, large keys
are converted into small keys by using hash functions.

Read More

Binary Search Tree

A binary search tree follows some order to arrange the elements. In a Binary search tree, the value of left node must be smaller than
the parent node

Read More

Stack Data Structure

Stack is a linear data structure which follows
a particular order in which the operations are performed. The order may be LIFO(Last In
First Out).

Read More

Queue Data Structure

A Queue is a linear structure which follows a particular order in which the operations are performed. The order is First In
First Out (FIFO).

Read More

Circular Linked List

Circular Linked List is a variation of Linked list
in which the first element points to the last element and the last element points to the
first element.

Read More

Doubly Linked List

Doubly linked list is a complex type of linked list in which a node contains a pointer to the previous as well as the next node in the sequence.

Read More

Linked List in Java

A linked list is a sequence of data structures, which are connected together via links.
Linked List is a sequence of links which contains items

Read More

Reverse a Linked List

Initialize three pointers prev as NULL, curr as head and next as NULL. Iterate through the linked list. In loop, do following. Here's how recursive reversal works: If you have a
reversed linked list of all the nodes to the left of the current node, and you know the last node of the

Read More

Linked Lists In C

A linked list is a sequence of data structures, which are connected together via links.
Linked List is a sequence of links which contains items

Read More

Topological Sort

Topological sorting for Directed Acyclic
Graph (DAG) is a linear ordering of vertices
such that for every directed edge u v, vertex u. It forms the basis of linear-time algorithms for finding the critical path of the project, a sequence of milestones

Read More

Counting Sort

Counting sort is a sorting technique based on keys between a specific range. It works by counting the number of objects having
distinct key

Read More

Heap Sort

Heap sort is a comparison-based sorting technique based on Binary Heap data structure. It is similar to selection sort

Read More

Quick Sort

Quicksort is an in-place sorting algorithm. Developed by British computer scientist Tony Hoare in 1959 and published in 1961,

Read More

Merge Sort

Like QuickSort, Merge Sort is a Divide and Conquer algorithm. It divides the input array into two halves, calls itself for the two halves

Read More

Insertion Sort

Insertion sort works similar to the sorting of playing cards in hands. It is assumed that the first card is already sorted in the card game

Read More

Bubble Sort

Bubble sort is a sorting algorithm that compares two adjacent elements and swaps them until they are not in the intended order.

Read More

Binary Search

Binary Search: Search a sorted array by repeatedly dividing the search interval in half. Begin with an interval covering the whole

Read More

Arrays In Python

Python has a set of built-in methods that you can use on lists/arrays. Python does not have built-in support for Arrays

Read More

Arrays In Java

An array in Java is a group of like-typed variables referred to by a common name. Arrays in Java work differently than they do in C/C++

Read More



PHONE: +91 80889-75867

WhatsApp : Click Here...