Microsoft Placement Papers 2026
Microsoft Placement Papers 2026 - Complete Preparation Guide
Last Updated: March 2026
🏢 Company Overview
Microsoft Corporation is an American multinational technology corporation headquartered in Redmond, Washington. Founded by Bill Gates and Paul Allen on April 4, 1975, Microsoft is one of the world's largest technology companies. It develops, manufactures, licenses, supports, and sells computer software, consumer electronics, personal computers, and related services.
Key Highlights:
- Founded: April 4, 1975
- Headquarters: Redmond, Washington, USA
- Employees: 220,000+ globally
- Revenue: $245+ billion (2025)
- India Presence: Major centers in Hyderabad, Bangalore, Noida, Mumbai, Pune
- Key Products: Windows, Office 365, Azure, Xbox, Surface, LinkedIn
🎯 Eligibility Criteria (2026 Batch)
| Criteria | Requirements |
|---|---|
| Degree | B.E/B.Tech, M.E/M.Tech, MCA, M.Sc (CS) |
| Batch | 2025, 2026 |
| Academic Criteria | 70% or 7.0 CGPA throughout (10th, 12th, Graduation) |
| Backlogs | No active backlogs at time of assessment |
| Gap Allowed | Maximum 1 year with valid justification |
| Branch | CSE, IT, ECE, EEE (core CS strongly preferred) |
💰 CTC Breakdown for Freshers 2026
| Component | Software Engineer |
|---|---|
| Base Salary | ₹12,00,000 - ₹15,00,000 |
| Joining Bonus | ₹2,00,000 - ₹3,00,000 |
| Relocation | ₹1,00,000 - ₹1,50,000 |
| Stock (RSUs) | $30,000 - $50,000 (vested over 4 years) |
| Benefits | Health insurance, wellness, education |
| Total First Year | ₹35 - ₹50 LPA |
Designation: Software Engineer / Software Development Engineer (SDE)
Note: Higher packages for exceptional candidates and tier-1 colleges (IITs, NITs, BITS)
📋 Exam Pattern 2026
Microsoft has a comprehensive multi-stage recruitment process with strong emphasis on coding and problem-solving abilities.
Online Assessment Structure:
| Round | No. of Questions | Time (Minutes) | Details |
|---|---|---|---|
| Online Coding Test | 3-4 coding problems | 90 | Data Structures & Algorithms |
| Written Aptitude | 20-25 questions | 30 | Quant, Logical, Verbal |
| Technical Phone Screen | 1-2 coding | 45-60 | Problem-solving |
| Virtual Onsite Round 1 | 2 coding problems | 60 | Data Structures |
| Virtual Onsite Round 2 | 1-2 coding + Design | 60 | Algorithms + LLD |
| Virtual Onsite Round 3 | 1 coding + Projects | 60 | Problem-solving + Culture Fit |
| AA (As Appropriate) Round | Behavioral + System | 60 | Hiring Manager |
Total Duration: 5-7 rounds
Selection Process:
- Resume Shortlisting
- Online Assessment (Coding + Aptitude)
- Technical Phone Screen (for some candidates)
- Virtual Onsite (4-5 rounds)
- Coding (DSA focus)
- Low-Level Design (LLD)
- Behavioral/Culture Fit
- Hiring Committee Review
- Offer
🧮 Aptitude Questions with Solutions (15 Questions)
Question 1: Number Series
Find the missing number: 2, 5, 10, 17, 26, ?
Solution: Pattern: n² + 1 where n starts from 1
- 1² + 1 = 2
- 2² + 1 = 5
- 3² + 1 = 10
- 4² + 1 = 17
- 5² + 1 = 26
- 6² + 1 = 37
Question 2: Work & Time
10 men can complete a work in 12 days working 6 hours/day. How many men are needed to complete the same work in 8 days working 8 hours/day?
Solution: M₁ × D₁ × H₁ = M₂ × D₂ × H₂ 10 × 12 × 6 = M₂ × 8 × 8 720 = 64 × M₂ M₂ = 11.25 ≈ 12 men
Question 3: Profit & Loss
A shopkeeper sells an article at 25% profit. If he had bought it at 10% less and sold it for ₹7 less, he would have gained 30%. Find the cost price.
Solution: Let CP = x Original SP = 1.25x
New CP = 0.90x New SP = 1.25x - 7
Given: New SP = 1.30 × 0.90x = 1.17x
1.25x - 7 = 1.17x 0.08x = 7 x = ₹87.50
Question 4: Speed & Distance
A train traveling at 72 km/hr crosses a pole in 15 seconds. Find the length of the train.
Solution: Speed = 72 × (5/18) = 20 m/s Length = Speed × Time = 20 × 15 = 300 meters
Question 5: Mixtures
A vessel contains 60L of milk. 6L is drawn and replaced with water. This process is repeated twice. Find remaining milk.
Solution: Using formula: Final = Initial × (1 - x/n)^times = 60 × (1 - 6/60)³ = 60 × (9/10)³ = 60 × 0.729 = 43.74 liters
Question 6: Simple Interest vs Compound Interest
The difference between CI and SI on a sum for 2 years at 4% per annum is ₹1. Find the sum.
Solution: Difference = P(r/100)² 1 = P × (4/100)² 1 = P × 0.0016 P = ₹625
Question 7: Partnership
A starts a business with ₹7000. After 4 months, B joins with ₹8000. After 6 more months, C joins with ₹9000. Annual profit is ₹20700. Find C's share.
Solution: Investment periods: A: 7000 × 12 = 84000 B: 8000 × 8 = 64000 C: 9000 × 2 = 18000
Ratio = 84000 : 64000 : 18000 = 84 : 64 : 18 = 42 : 32 : 9
Total parts = 83 C's share = (9/83) × 20700 = ₹2244.58
Question 8: Probability
Three coins are tossed. Find probability of getting at least 2 heads.
Solution: Possible outcomes: 2³ = 8 Favorable (at least 2 heads): HHT, HTH, THH, HHH = 4
Probability = 4/8 = 1/2
Question 9: Permutations
In how many ways can the letters of 'MICROSOFT' be arranged so that vowels always come together?
Solution: Letters: M, I, C, R, O, S, O, F, T Vowels: I, O, O
Treat vowels as one unit: (IOO) + M, C, R, S, F, T = 7 units But O repeats twice in vowels and also check consonants.
Consonants: M, C, R, S, F, T (no repeats) Units: (IOO), M, C, R, S, F, T = 7 units
Ways to arrange 7 units = 7! = 5040 Ways to arrange vowels within: 3!/2! = 3 (IOO, OIO, OOI)
Total = 5040 × 3 = 15120
Question 10: Averages
The average weight of 8 persons increases by 2.5 kg when a new person replaces one weighing 65 kg. Find the new person's weight.
Solution: Total increase = 8 × 2.5 = 20 kg New person's weight = 65 + 20 = 85 kg
Question 11: Calendar
January 1, 2024 was Monday. What day is January 1, 2025?
Solution: 2024 is a leap year (366 days) 366 mod 7 = 2 odd days
Monday + 2 days = Wednesday
Question 12: Ratio & Proportion
If A:B = 3:4 and B:C = 5:6, find A:C.
Solution: A:B = 3:4 = 15:20 B:C = 5:6 = 20:24
A:C = 15:24 = 5:8
Question 13: Percentage
If 20% of A = 30% of B = 40% of C, then A:B:C = ?
Solution: 0.20A = 0.30B = 0.40C = k (let) A = 5k, B = 10k/3, C = 5k/2
Ratio = 5 : 10/3 : 5/2 Multiply by 6: 30 : 20 : 15 = 6:4:3
Question 14: Boats & Streams
A boat's speed in still water is 10 km/hr. It travels 24 km upstream and returns in 5 hours. Find the speed of the stream.
Solution: Let stream speed = x km/hr Upstream = 10 - x Downstream = 10 + x
Time equation: 24/(10-x) + 24/(10+x) = 5
24(10+x) + 24(10-x) = 5(100-x²) 480 = 500 - 5x² 5x² = 20 x² = 4 x = 2 km/hr
Question 15: Data Interpretation
In a class of 50 students, 35 passed Math, 40 passed Science, and 30 passed both. How many failed both subjects?
Solution: Using inclusion-exclusion: Passed at least one = 35 + 40 - 30 = 45
Failed both = 50 - 45 = 5 students
💻 Technical/CS Questions with Solutions (10 Questions)
Question 1: Explain Trie Data Structure.
Properties:
- Each node represents a character
- Root is empty
- Path from root to node represents a string prefix
- Nodes marked as end-of-word
Operations:
- Insert: O(m) where m = word length
- Search: O(m)
- Delete: O(m)
Applications:
- Autocomplete
- Spell checking
- IP routing
- Word games
Question 2: What is the difference between Recursion and Iteration?
| Recursion | Iteration |
|---|---|
| Function calls itself | Uses loops |
| Uses stack space | Uses constant space |
| Can cause stack overflow | No stack overflow risk |
| Elegant for tree/graph problems | Better for simple loops |
| Overhead of function calls | Faster due to no call overhead |
Tail Recursion: Special case where recursive call is the last operation. Can be optimized by compilers.
Question 3: Explain Segment Trees.
Properties:
- Height: O(log n)
- Space: O(4n)
- Build time: O(n)
Operations:
- Query: O(log n)
- Update: O(log n)
Applications:
- Range sum/min/max queries
- Range updates (lazy propagation)
Question 4: What is Garbage Collection?
Algorithms:
- Mark and Sweep: Mark reachable objects, sweep unmarked
- Reference Counting: Count references, free when zero
- Generational GC: Divide heap by object age
- Stop-and-Copy: Copy live objects to new space
.NET Garbage Collector:
- Generational (0, 1, 2)
- Large Object Heap (LOH)
- Finalization queue
Question 5: Explain Dependency Injection.
Types:
- Constructor Injection: Dependencies via constructor
- Setter Injection: Dependencies via setters
- Interface Injection: Dependencies via interface
Benefits:
- Loose coupling
- Easier testing (mocking)
- Better code reusability
Microsoft DI: Built into .NET Core/5+
Question 6: What is Azure Cloud?
Key Services:
- Compute: VMs, App Service, Functions, AKS
- Storage: Blob, File, Queue, Table
- Database: SQL Database, Cosmos DB
- AI/ML: Cognitive Services, Machine Learning
- DevOps: Azure DevOps, GitHub Actions
Deployment Models:
- IaaS, PaaS, SaaS
Question 7: Explain .NET Architecture.
- Cross-platform runtime
- Unified platform for web, desktop, mobile, cloud
Components:
- CLR (Common Language Runtime): Execution engine
- BCL (Base Class Library): Core libraries
- JIT Compiler: Converts IL to machine code
- Garbage Collector: Automatic memory management
Languages: C#, F#, VB.NET
Question 8: What is SOLID Principles?
- S - Single Responsibility: One class, one responsibility
- O - Open/Closed: Open for extension, closed for modification
- L - Liskov Substitution: Derived classes must be substitutable
- I - Interface Segregation: Many specific interfaces better than one general
- D - Dependency Inversion: Depend on abstractions, not concretions
Question 9: Explain OAuth 2.0 and OpenID Connect.
- Access tokens for API access
- Flows: Authorization Code, Implicit, Client Credentials, Device Code
OpenID Connect (OIDC): Authentication layer on top of OAuth 2.0
- ID tokens for user identity
- Standard claims (name, email, etc.)
Microsoft Identity Platform: Implements both for Azure AD
Question 10: What is Design Patterns? Explain commonly used ones.
Creational:
- Singleton: One instance only
- Factory: Create objects without specifying exact class
- Builder: Construct complex objects step by step
Structural:
- Adapter: Interface compatibility
- Decorator: Add behavior dynamically
- Facade: Simplified interface to complex subsystem
Behavioral:
- Observer: Subscribe/notify pattern
- Strategy: Family of interchangeable algorithms
- Command: Encapsulate request as object
📖 Verbal/English Questions with Solutions (10 Questions)
Question 1: Synonyms
Choose the word closest to "UBIQUITOUS": a) Rare b) Omnipresent c) Unique d) Scarce
Question 2: Antonyms
Choose the opposite of "VENERABLE": a) Respected b) Disreputable c) Honorable d) Esteemed
Question 3: Error Detection
"Neither the manager nor the employees was informed about the changes."
Question 4: Fill in the Blanks
The software update will be _______ to all users next week. a) rolled out b) rolled in c) rolled over d) rolled under
Question 5: Sentence Improvement
"She is one of the best employees who has worked here."
Question 6: Para Jumble
Arrange: A) Empowers every person B) Microsoft's mission is to C) And every organization D) On the planet to achieve more
Question 7: Reading Comprehension
Passage about cloud computing adoption in enterprises...
Question: What is the main barrier to cloud adoption mentioned? Answer: Security concerns and compliance requirements for regulated industries.
Question 8: One Word Substitution
A person who is skilled in many areas: a) Specialist b) Generalist c) Polymath d) Amateur
Question 9: Idioms
"To think outside the box" means: a) To be confused b) To think creatively and unconventionally c) To work in an office d) To be organized
Question 10: Voice Change
Convert to active: "The bug was fixed by the development team."
💡 Coding Questions with Python Solutions (5 Questions)
Question 1: Serialize and Deserialize Binary Tree
Design an algorithm to serialize and deserialize a binary tree.
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
class Codec:
def serialize(self, root):
"""Encodes a tree to a single string."""
def helper(node):
if not node:
result.append('null')
return
result.append(str(node.val))
helper(node.left)
helper(node.right)
result = []
helper(root)
return ','.join(result)
def deserialize(self, data):
"""Decodes your encoded data to tree."""
def helper():
val = next(values)
if val == 'null':
return None
node = TreeNode(int(val))
node.left = helper()
node.right = helper()
return node
values = iter(data.split(','))
return helper()
# Test
codec = Codec()
root = TreeNode(1, TreeNode(2), TreeNode(3, TreeNode(4), TreeNode(5)))
serialized = codec.serialize(root)
print(f"Serialized: {serialized}")
deserialized = codec.deserialize(serialized)
Time Complexity: O(n) for both | Space Complexity: O(n)
Question 2: Word Break
Given a string and a dictionary, determine if the string can be segmented into space-separated dictionary words.
def word_break(s, word_dict):
word_set = set(word_dict)
n = len(s)
dp = [False] * (n + 1)
dp[0] = True
for i in range(1, n + 1):
for j in range(i):
if dp[j] and s[j:i] in word_set:
dp[i] = True
break
return dp[n]
# Alternative: Backtracking with memoization
def word_break_memo(s, word_dict):
memo = {}
word_set = set(word_dict)
def can_break(start):
if start == len(s):
return True
if start in memo:
return memo[start]
for end in range(start + 1, len(s) + 1):
if s[start:end] in word_set and can_break(end):
memo[start] = True
return True
memo[start] = False
return False
return can_break(0)
# Test
s = "leetcode"
word_dict = ["leet", "code"]
print(f"Can break: {word_break(s, word_dict)}") # Output: True
Time Complexity: O(n³) | Space Complexity: O(n)
Question 3: Find Median from Data Stream
Design a data structure that supports adding integers and finding the median.
import heapq
class MedianFinder:
def __init__(self):
# Max heap for lower half (use negative for max heap)
self.low = []
# Min heap for upper half
self.high = []
def addNum(self, num: int) -> None:
# Add to max heap (low)
heapq.heappush(self.low, -num)
# Balance: max of low should be <= min of high
if self.low and self.high and (-self.low[0]) > self.high[0]:
val = -heapq.heappop(self.low)
heapq.heappush(self.high, val)
# Size balance
if len(self.low) > len(self.high) + 1:
val = -heapq.heappop(self.low)
heapq.heappush(self.high, val)
elif len(self.high) > len(self.low):
val = heapq.heappop(self.high)
heapq.heappush(self.low, -val)
def findMedian(self) -> float:
if len(self.low) > len(self.high):
return float(-self.low[0])
return (-self.low[0] + self.high[0]) / 2.0
# Test
mf = MedianFinder()
mf.addNum(1)
mf.addNum(2)
print(f"Median: {mf.findMedian()}") # Output: 1.5
mf.addNum(3)
print(f"Median: {mf.findMedian()}") # Output: 2
Time Complexity: O(log n) for addNum, O(1) for findMedian | Space Complexity: O(n)
Question 4: Meeting Rooms II
Given intervals of meeting times, find minimum number of conference rooms required.
import heapq
def min_meeting_rooms(intervals):
if not intervals:
return 0
# Sort by start time
intervals.sort(key=lambda x: x[0])
# Min heap to track end times
rooms = []
heapq.heappush(rooms, intervals[0][1])
for i in range(1, len(intervals)):
# If current meeting starts after earliest ending meeting
if intervals[i][0] >= rooms[0]:
heapq.heappop(rooms)
# Add current meeting's end time
heapq.heappush(rooms, intervals[i][1])
return len(rooms)
# Alternative: Chronological Ordering
def min_meeting_rooms_chrono(intervals):
if not intervals:
return 0
starts = sorted([i[0] for i in intervals])
ends = sorted([i[1] for i in intervals])
rooms = 0
end_ptr = 0
for start in starts:
if start >= ends[end_ptr]:
end_ptr += 1
else:
rooms += 1
return rooms
# Test
intervals = [[0, 30], [5, 10], [15, 20]]
print(f"Min rooms needed: {min_meeting_rooms(intervals)}") # Output: 2
Time Complexity: O(n log n) | Space Complexity: O(n)
Question 5: Design HashMap
Design a HashMap without using built-in hash table libraries.
class ListNode:
def __init__(self, key=-1, val=-1, next=None):
self.key = key
self.val = val
self.next = next
class MyHashMap:
def __init__(self):
self.size = 1000
self.map = [None] * self.size
def _hash(self, key):
return key % self.size
def put(self, key: int, value: int) -> None:
index = self._hash(key)
if not self.map[index]:
self.map[index] = ListNode()
curr = self.map[index]
while curr.next:
if curr.next.key == key:
curr.next.val = value
return
curr = curr.next
curr.next = ListNode(key, value)
def get(self, key: int) -> int:
index = self._hash(key)
curr = self.map[index]
while curr and curr.next:
if curr.next.key == key:
return curr.next.val
curr = curr.next
return -1
def remove(self, key: int) -> None:
index = self._hash(key)
curr = self.map[index]
while curr and curr.next:
if curr.next.key == key:
curr.next = curr.next.next
return
curr = curr.next
# Test
hash_map = MyHashMap()
hash_map.put(1, 1)
hash_map.put(2, 2)
print(hash_map.get(1)) # Output: 1
print(hash_map.get(3)) # Output: -1
hash_map.put(2, 1)
print(hash_map.get(2)) # Output: 1
hash_map.remove(2)
print(hash_map.get(2)) # Output: -1
Time Complexity: O(1) average, O(n) worst | Space Complexity: O(n)
🎤 Interview Tips for Microsoft
1. Deep DSA Knowledge
Microsoft interviews heavily focus on data structures and algorithms. Master trees, graphs, dynamic programming, and advanced data structures like tries and segment trees. Practice 250+ LeetCode problems with focus on medium-hard difficulty.
2. Know C# / .NET
While you can use any language, knowing C# and understanding .NET ecosystem gives you an edge. Understand CLR, garbage collection, async/await, and LINQ.
3. System Design (LLD Focus)
Freshers should be comfortable with Low-Level Design (LLD). Practice designing classes for problems like Chess Game, Parking Lot, Elevator System, and Library Management. Know SOLID principles.
4. Behavioral Preparation
Microsoft values collaboration and growth mindset. Prepare examples showing how you've learned from failures, collaborated across teams, and adapted to change. Research Microsoft's mission and values.
5. Understand Azure Basics
Even for SDE roles, basic knowledge of cloud computing and Azure services shows interest in the company's products. Know IaaS, PaaS, SaaS differences and basic Azure services.
6. Code Quality Matters
Write clean, readable code with proper variable names and comments. Microsoft engineers value code maintainability. Use meaningful function names and follow consistent style.
7. Test Your Code
Always discuss and write test cases. Consider edge cases: empty input, single element, duplicates, large inputs, negative numbers. This demonstrates thoroughness.
❓ Frequently Asked Questions (FAQs)
Q1: How difficult is the Microsoft interview compared to other FAANG companies?
A: Microsoft interviews are comparable in difficulty to other top tech companies. They focus heavily on problem-solving, code quality, and collaboration. The interview process is known to be thorough but fair, with interviewers genuinely trying to assess your potential rather than tricking you.
Q2: What programming language should I use for Microsoft interviews?
A: While you can use any language (C++, Java, Python), C# is naturally preferred. The key is to use a language you're most comfortable with. Focus on writing clean, efficient code regardless of the language.
Q3: What should freshers know about System Design at Microsoft?
A: Freshers are typically evaluated on Low-Level Design (LLD) - designing classes, interfaces, and relationships. You should understand OOP principles, design patterns, and be able to design modular, extensible systems. Distributed system design is usually for experienced candidates.
Q4: How important is knowledge of Microsoft technologies?
A: While not mandatory, familiarity with Microsoft stack (Azure, .NET, TypeScript) is viewed favorably. It shows genuine interest in the company. However, strong fundamentals in CS are more important than specific technology knowledge.
Q5: What is the re-interview policy at Microsoft?
A: Microsoft typically allows reapplication after 6-12 months, depending on feedback from your previous interview. If you were close to getting an offer, you might be fast-tracked in subsequent attempts. Use the gap to strengthen weak areas identified in feedback.
📚 Additional Resources
- Official Careers: https://careers.microsoft.com
- Microsoft Learn: https://docs.microsoft.com/learn
- Recommended Practice:
- LeetCode (250+ problems, focus on Microsoft tagged)
- "Cracking the Coding Interview" by Gayle Laakmann McDowell
- "Programming Pearls" by Jon Bentley
- System Design Primer (GitHub)
- Design Patterns by Gang of Four
Best of luck with your Microsoft placement! 🚀
This guide is prepared based on recent placement experiences and official Microsoft recruitment patterns. Always verify with the latest official notifications.