Microsoft logo

Microsoft Frontend Engineer Interview Questions

45 practice questions for Microsoft Frontend Engineer interviews

Microsoft frontend engineer interviews emphasise JavaScript, DOM manipulation, CSS, accessibility, browser APIs, and UI component architecture.

All Roles Software Engineer Backend Engineer Frontend Engineer Full Stack Engineer Mobile Engineer Data Engineer Data Scientist ML Engineer DevOps Engineer DevOps Engineer Product Manager SRE Security Engineer Engineering Manager Data Analyst UX/UI Designer QA Engineer
12
Coding
1
System Design
coding Medium Verified Question #1

1. Design Rate Limiter


Category: Sliding window coding problem
# Design Rate Limiter Design a rate limiter system that controls the number of requests allowed within a specified time window. The rate limiter is...
Input: String
Output: Computed result
coding Medium Verified Question #2

2. Object Oriented Design - Idempotent Receipt Sending


Category: Trie-based coding problem
Input: String
Output: Computed result
coding Medium Verified Question #3

3. Object Oriented Design - Notification Service


Category: Trie-based coding problem
# Problem Statement Design a notification service that supports sending notifications through multiple channels (SMS, Email) and is architected to...
Input: Number(s)
Output: Computed result
coding Medium Verified Question #4

4. Shortest Substring with N Unique Characters


Category: String coding problem
# Shortest Substring with N Unique Characters *This is a variation of the leetcode problem* Given a string s and an integer n, find the length of...
Input: String
Output: Computed result
coding Hard Verified Question #5

5. Rate Limiter


Category: Sliding window coding problem
Design a rate limiter that tracks API requests per client and enforces limits using a sliding time window. Your system must support: - hit(key,...
Input: Given input
Output:** Computed result
coding Hard Verified Question #6

6. Non-Adjacent Team Selection


Category: Tree coding problem
# Question You are given n people labeled from 0 to n - 1. Some pairs of people know each other directly. These relationships are given as a...
Input: List
Output: Computed result
coding Medium Verified Question #7

7. Bounded Repeat Substring


Category: String coding problem
A sensor data stream is represented as a string of characters. A contiguous segment of the stream is considered valid if it contains no three...
Input: String
Output: Computed result
coding Medium Verified Question #8

8. OA [CodeSignal] Prime Jumps


Category: Algorithm coding problem
# OA [CodeSignal] Prime Jumps A game is played with the following rules: - A player starts at cell 0 with a score of 0. - There is a row of n cells...
Input: Number(s)
Output: Computed result
coding Hard Verified Question #9

9. Combine N-ary Trees


Category: Tree coding problem
You are given the roots of two N-ary organization charts, each representing a hierarchical department structure. Every node has an integer...
Input: List
Output: Computed result
coding Medium Verified Question #10

10. Digit Replacement Maximizer


Category: String coding problem
A numeric optimization system performs exactly k substitution operations on a number string s. In each operation, choose any digit in s that is...
Input: String
Output: Computed result
coding Medium Verified Question #11

11. Best Window For Target Count


Category: Trie-based coding problem
A log analysis tool searches for the most frequent occurrence of a specific error code within a fixed-size window of log entries. Given an integer...
Input: Array
Output: Integer
coding Medium Verified Question #12

12. Evens Before Odds


Category: Array coding problem
You are given an integer array nums. Rearrange nums so that all even numbers appear before all odd numbers. The relative order of even or odd...
Input: Array
Output: Integer
system design Hard Verified Question #13

13. Top 5 System Design Questions Jan 2026


Category: Interval-based system design problem
# Top 5 Recently Asked System Design Questions - Microsoft These are the commonly asked system design questions from Microsoft interviews and some...
Input: List
Output: Computed result
coding Hard debouncing #1

1. [OA] Debouncing — Implement a debounce function for user input in Office 365

Users in Microsoft Office 365 often face lag in interface responsiveness due to multiple rapid inputs. Implement a debounce function to enhance user experience by limiting the rate of function executions.
Define a method debounce(func, wait) that returns a debounced version of the given function which ensures the function is invoked after a delay only if it hasn't been called within the wait period.
Example 1:
Input: const debouncedFunc = debounce(() => console.log('Action'), 1000); debouncedFunc(); (followed by another call within 1 sec)
Output: No output, because the function has not fired due to debouncing
Constraints:
- wait is a non-negative integer.
- The debounced function can be called at most 10^6 times.
coding Medium closure #2

2. [OA] Closure — Implement a counter that tracks user actions in Edge

Microsoft Edge needs to track user actions such as clicks to improve user experience through analytics. Using closures, implement a simple action counter.
The Counter class should support the following methods:
- increment() -> void: Increases the count by 1.
- getCount() -> number: Returns the current count.
Example 1:
Input: const counter = new Counter(); counter.increment(); counter.increment(); counter.getCount();
Output: 2
Explanation: The counter was incremented twice, so it returns 2.
Constraints:
- The count will never be negative.
- There will be at most 10^6 calls to the methods.
system design Medium api design #3

3. [OA] Client-Side Router — Design an SPA Router for Azure DevOps Dashboard

For Azure DevOps, implement a lightweight client-side router that allows navigation between different dashboard components without a full page reload. The Router class should support the following methods:
- addRoute(path: string, handler: Function): void: Adds a new route with its corresponding handler function.
- navigate(path: string): void: Navigates to the specified path and invokes the associated handler.
Example 1:
Input: const router = new Router(); router.addRoute('/home', () => console.log('Welcome to Home')); router.navigate('/home');
Output: Welcome to Home
Explanation: Adding a route for /home and then navigating to it triggers the corresponding handler.
Constraints:
- At most 100 routes can be added.
- Route paths will always be unique and valid.
system design Senior caching #4

4. [OA] LRU Cache — Design a caching mechanism for OneDrive file access

To enhance the performance of OneDrive, implement an LRU (Least Recently Used) Cache that stores recently accessed files. The cache should have a maximum size and remove the least recently used file whenever a new file is added beyond that limit.
Define the LRUCache class with the following methods:
- get(fileID: int) -> str: Retrieves the file content for the given file ID and updates its usage.
- put(fileID: int, content: str) -> None: Stores the file content in the cache. If the cache exceeds the size, remove the least recently used file.
Example 1:
Input: const lruCache = new LRUCache(2); lruCache.put(1, 'File1'); lruCache.put(2, 'File2'); lruCache.get(1);
Output: 'File1'
Explanation: Accessing file 1 keeps it in the cache while file 2 is also stored.
Constraints:
- Cache size will be at most 3000 files.
- Each fileID will be unique.

Related Microsoft Frontend Engineer interview prep

Start practicing Microsoft questions

Sign up for free to access walkthroughs, AI-generated questions, and more.

Get Started Free