Microsoft is a global technology leader in software, cloud computing through Azure, productivity tools, and devices. Founded in 1975, it builds products like Windows, Office, and Xbox used worldwide. Microsoft India is a major campus recruiter for software engineering and cloud roles.
Microsoft’s SDE loop runs an Online Assessment, 2-3 technical rounds, and often the As Appropriate (AA) round - a senior leader with real veto power over the offer.
CS fundamentals, LLD/OOD, light system design for senior roles
As Appropriate (AA) round
45-60 min
Culture fit, growth mindset, leadership signal - senior leader, veto power
HR / offer discussion
20-30 min
Logistics, compensation, closing questions
Microsoft online assessment: quick answers
These answers are compiled from public candidate reports for Microsoft India campus, intern and off-campus drives, not from an official Microsoft notice, and drives differ. The instruction screen of your own test is the final word.
Question
Answer
How many questions and how long?
Usually 2 coding problems, sometimes 3. Reports range from 2 problems in 80 minutes (2024 SDE-2, Bangalore) and 2 in 110 minutes (2023 campus intern drive) to 3 in 75 minutes (2018 campus). 2024-2025 intern reports describe 2 medium or medium-hard DSA problems.
Which platform is it on?
Codility is the platform named most in recent India reports (2024 Bengaluru intern, 2024 Bangalore SDE-2); some drives use HackerRank. Codility does not show how many hidden test cases you passed, so test edge cases and complexity before you submit.
Does it have negative marking?
No candidate report describes any. Recent India OAs are coding-only and scored on test cases, including hidden performance tests.
Is there a sectional cutoff?
Not for coding-only OAs, which have no sections. An older 2020 Associate Consultant test (aptitude, technical MCQs, coding and an essay) told candidates each section had its own cutoff.
How much is the cutoff?
Not published; shortlists are relative to the batch. Eligibility is set per drive: one 2023 campus intern drive asked for CGPA above 7.0 with no backlogs from CSE, ECE and EEE, while a 2020 drive asked for 7.5 CGPA and 80% in Class X and XII. Check your placement notice.
What do the problems cover?
Arrays, strings, trees, graphs, DP and recursion at LeetCode medium level. Reported examples: a grid DP for collecting coins (2024 intern), a grid shortest-path problem solved with Dijkstra and a backtracking problem (2023 campus).
Is it on-campus or off-campus?
Both. Microsoft hires through campus drives, the careers site, referrals and internship conversion (including Microsoft Engage), and each route has its own OA invite.
Microsoft interview questions by role
These themes come from India candidate reports on GeeksforGeeks, LeetCode Discuss, Glassdoor and Jointaro. They show the level and style, not a fixed list.
Role
Reported questions and topics
SWE intern (campus)
Implement a queue (array vs linked list, front and rear pointers) and explain how you would compute a square root with binary search; Reverse Nodes in k-Group with a follow-up where the length is not a multiple of k; OOP theory (2023 campus). An anagram problem plus OS and networking questions (2025 Hyderabad). Graphs, trees and greedy in two DSA rounds, then an HR round on projects (2025 Bengaluru).
SDE-1 (new grad)
Two Sum and Partition Equal Subset Sum after a project and behavioural opener; a money-exchange scenario that reduces to finding lower and upper bounds in a sorted array (2022 Bangalore). Two DSA rounds and one behavioural round with some OS, CN and DBMS questions (2023 Hyderabad).
SDE-2 (experienced)
A Codility OA with 2 problems in 80 minutes, then DSA plus low-level design such as a parking lot, a notification module or meeting-room scheduling.
Associate Consultant
Older reports describe a broader test: aptitude, technical MCQs, coding and an English essay, each section with its own cutoff (2020 Hyderabad).
Asked across every role: brute force first, then the optimised version with time and space trade-offs; a walk-through of one project; OS, DBMS and networking basics; and at least one growth-mindset story about failure or feedback.
Online Assessment
The first filter for most SDE applicants: 2-4 DSA problems, usually medium difficulty, on HackerRank or Codility, done under a strict timer. Some drives also add a handful of CS-fundamentals MCQs alongside the coding problems.
On Codility, many India campus and off-campus OAs include hidden performance tests after the visible cases - a solution that passes examples but runs in O(n²) when O(n log n) is expected often scores partial credit or zero. Candidates report losing offers at this stage despite “green” sample tests, so always state complexity aloud and optimize before submit.
Common questions
Array/string manipulation and two-pointer problems
Binary tree and graph traversal (BFS/DFS)
A harder problem involving dynamic programming or a design-a-data-structure task
2-3 back-to-back rounds, each 45-60 minutes, typically live-coded on Microsoft Teams with a shared editor. Interviewers push for an optimal solution and clean code, not just a working brute force, and expect you to reason about complexity out loud.
Many SDE II and some fresher loops swap one pure DSA round for low-level design (LLD/OOD) - design a multi-floor parking lot, a notification module other services can call, meeting-room scheduling (minimum rooms), or undo/redo for an editor. Interviewers want class diagrams and working structure; jumping to a pattern name without clarifying requirements is a common rejection reason in public L60 reports.
Common questions
Design an LRU cache with O(1) operations
Number of islands / connected components in a grid
Word ladder or shortest-transformation-sequence style graph problems
Merge k sorted lists
CS fundamentals: paging and virtual memory, database normalization and transactions, TCP handshake basics
The As Appropriate (AA) round
This is Microsoft’s most distinctive step, and it’s worth understanding on its own terms. Unlike a standard technical round, the AA interviewer is deliberately pulled from outside your target team - often a senior individual contributor or manager - specifically to give an independent read on whether you clear Microsoft’s bar for culture and judgment, not just skill. It typically only gets scheduled once the earlier rounds already look positive, which is why candidates often treat an AA invite itself as an encouraging sign - though it is still a real evaluation, not a formality.
Common questions
Tell me about a project you’re most proud of, and what you’d do differently
Describe a time you disagreed with your team’s technical direction
Tell me about a time you failed at something and what you changed afterward
How do you approach learning a new technology or domain under time pressure
HR / behavioral round
A shorter closing conversation covering motivation, logistics, and a couple of behavioural questions - often folded into or run right after the AA round rather than as a fully separate step.
Common questions
Why Microsoft?
Tell me about a time you struggled with something and how you grew from it
Tell me about a time you had to learn a new skill quickly
Growth mindset: what Microsoft is actually testing for
Since Satya Nadella became CEO, Microsoft has explicitly built its culture around a growth mindset - the idea that ability is developed through effort rather than fixed at birth - alongside customer obsession, diversity and inclusion, and cross-team “One Microsoft” collaboration. In an interview, this rarely shows up as a question that names the phrase directly. Instead it shows up as follow-up pressure on failure and feedback questions: interviewers are listening for a concrete change you made afterward, not just an honest description of what went wrong. A story that ends at “and I learned to be more careful” reads as weaker here than one that ends with a specific new habit or check you added to your process.
Customer obsession often appears as “tell me about a time you changed a plan because of user feedback” or “how did you measure impact for real users?” - tie metrics to someone outside your team (latency, crash rate, support tickets), not internal milestones alone.
Diversity and inclusion shows up as working across time zones, languages, or disagreeing respectfully with a senior engineer - prepare one story where you adapted communication or shared credit across teams (“One Microsoft”), not a generic diversity statement.
Hiring tracks (India, candidate-reported):Microsoft Engage and summer internships frequently feed FTE SDE-1 (often L59–L60) offers after a separate loop; campus placement and careers.microsoft.com off-campus drives run parallel paths. Level naming (L60 IC2, etc.) varies by requisition - match your invite letter, not forum shorthand.
Recent AA and hiring-manager reports also ask how AI-assisted coding tools (Copilot, ChatGPT, etc.) fit your workflow - answer with guardrails: you use them for boilerplate and tests but still own design, review, and security.
Microsoft SDE vs Associate Consultant
Both roles show up in Microsoft India campus drives, but they are different jobs with different tests. SDE (software engineer) roles sit in Microsoft’s India development centres in Hyderabad, Bengaluru and Noida and are hired through a coding-only OA followed by DSA, CS-fundamentals and design rounds. Associate Consultant is a client-facing consulting role; older reports describe a broader test with aptitude, technical MCQs, coding and an essay before the interviews.
This page covers the SDE route. If your invite says Associate Consultant, expect more aptitude and communication weight and less hard DSA.
Common technical interview questions and answers
Q: How do you design an LRU cache with O(1) get and put?
Combine a hash map with a doubly linked list. The hash map maps each key to the list node holding its value, giving O(1) lookup; the doubly linked list keeps nodes in recency order with the most recently used at the head and the least recently used at the tail. On get, look the key up in the map, unlink its node, and move it to the head. On put, if the key exists update the value and move it to the head; otherwise create a node, insert at the head, and add it to the map - and if the size now exceeds capacity, remove the tail node and delete its key from the map. The list must be doubly linked so that unlinking a node in the middle is O(1) without traversing to find its predecessor. Use sentinel head and tail nodes to avoid null checks at the boundaries.
Q: How do you count the number of islands in a grid?
Treat the grid as an implicit graph where each land cell (“1”) is a node connected to its four orthogonal neighbours. Scan every cell; when you find an unvisited land cell, increment your island counter and run a BFS or DFS from it, marking every reachable land cell as visited so it is never counted again. A common trick is to sink the island by overwriting each visited “1” with “0” instead of keeping a separate visited array. The time complexity is O(rows times cols) because each cell is examined a constant number of times. Space is O(rows times cols) in the worst case - the BFS queue or the DFS recursion stack when the whole grid is one island. If the interviewer adds diagonal connectivity, only the neighbour offsets change, from 4 directions to 8.
Q: Why is BFS the right algorithm for the Word Ladder problem?
Word Ladder asks for the shortest transformation sequence from a begin word to an end word, changing one letter at a time with every intermediate word in a dictionary. Model each word as a node with edges to every dictionary word one letter away; because all edges have weight 1, BFS explores words in order of distance from the start, so the first time you reach the end word you have the shortest path - DFS would find some path but not necessarily the shortest. Rather than comparing every pair of words, generate neighbours by replacing each position with each of the 26 letters and checking a hash set of the dictionary, which costs O(L times 26) per word for word length L. Total complexity is roughly O(N times L times 26) for N words, and marking words as visited when you enqueue them (not when you dequeue) prevents duplicate work. A bidirectional BFS from both ends is the standard follow-up optimisation.
Q: How do you merge k sorted linked lists efficiently?
Push the head node of each of the k lists into a min-heap keyed by node value. Repeatedly pop the smallest node, append it to the output list, and push that node’s next node if it exists. Each of the N total nodes enters and leaves the heap once, and the heap never holds more than k entries, so the complexity is O(N log k) time and O(k) space. The naive approach of concatenating everything and sorting is O(N log N), and merging lists one at a time pairwise into an accumulator is O(N times k), so the heap is the answer interviewers are looking for. An equally good alternative is divide and conquer: merge the lists in pairs, halving the count each round, which also lands at O(N log k) with O(1) extra space.
Q: How do you approach a dynamic programming problem like coin change?
Coin change asks for the fewest coins summing to a target amount. Define the state first: dp[i] is the minimum number of coins needed to make amount i. The recurrence is dp[i] = 1 + min(dp[i - c]) over every coin c that is less than or equal to i, with the base case dp[0] = 0 and every other entry initialised to infinity, meaning unreachable. Fill the table from 1 up to the target; the answer is dp[amount], or -1 if it is still infinity. This is O(amount times number of coins) time and O(amount) space. The general method is the same for any DP: identify the state, write the recurrence that relates it to smaller states, establish base cases, choose bottom-up tabulation or top-down memoisation, then look for a space optimisation - many 2D tables collapse to one or two rows.
Q: What is virtual memory, and how does paging work?
Virtual memory gives every process its own contiguous address space that is larger than the physical RAM available, so processes do not need to know about each other’s memory or about fragmentation in physical memory. The address space is split into fixed-size pages, physical memory into equally sized frames, and a per-process page table maps page numbers to frame numbers, with the MMU doing the translation on every access and a TLB caching recent translations. When a process touches a page that is not resident, the hardware raises a page fault, the OS loads the page from disk into a free frame, updates the page table, and restarts the instruction. If no frame is free, a replacement policy such as LRU or Clock evicts one - writing it back to disk first if it is dirty. Excessive faulting because the working set does not fit in RAM is called thrashing.
Q: How would you design a rate limiter?
State the requirement first: allow at most N requests per user per time window, reject or queue the rest, and keep the check cheap because it runs on every request. A fixed-window counter stores a count per user per window in a hash map or Redis key with a TTL - simple, but it allows up to 2N requests around a window boundary. A sliding-window log stores request timestamps per user and evicts entries older than the window, which is exact but uses memory proportional to N. The token bucket is the usual production answer: each user has a bucket refilled at a steady rate up to a capacity, and each request consumes a token, which smooths traffic while still permitting short bursts. In a distributed setting the counters must live in a shared store like Redis with atomic increment-and-expire, since per-server counters would let a user get N requests through every server.
Q: How do you find the median of a stream of numbers?
Maintain two heaps: a max-heap holding the smaller half of the numbers seen so far, and a min-heap holding the larger half. For each new number, push it into the max-heap, then move the max-heap’s top into the min-heap, and if the min-heap has become larger than the max-heap move its top back - this keeps both halves ordered and their sizes within one of each other. The median is then the max-heap’s top when the total count is odd, or the average of the two heap tops when it is even. Each insertion is O(log n) and reading the median is O(1), with O(n) space. Sorting the buffer on every query would be O(n log n) per query, which is why the two-heap invariant is the expected answer.
Frequently asked questions about Microsoft interviews
How many questions are in the Microsoft online assessment and which platform is it on?
Usually 2 coding problems, sometimes 3, in roughly 75-110 minutes. Recent India reports name Codility most often, with HackerRank on some drives, and Codility runs hidden performance tests, so a correct but slow solution can lose marks.
Does the Microsoft online assessment have negative marking?
No candidate report describes negative marking. Recent India OAs are coding-only and scored on test cases. Microsoft does not publish a cutoff; eligibility such as CGPA above 7.0 with no backlogs is set per drive in the placement notice.
What is the Microsoft interview process for freshers?
Microsoft’s SDE loop for freshers typically runs: 1. Online Assessment (60-90 min) - 2-4 DSA problems on HackerRank/Codility. 2. Virtual interview loop (3-4 rounds, 45-60 min each, on Microsoft Teams) - DSA, CS fundamentals, and for some drives a light system design or LLD discussion. 3. The As Appropriate (AA) round (45-60 min) - a senior leader from outside the hiring team, invited only if the earlier rounds went well. 4. HR/offer discussion. Total timeline is roughly 4-8 weeks.
What questions are asked in Microsoft interviews?
Coding rounds cover arrays/strings, trees and graphs, dynamic programming, and design-a-data-structure problems (LRU cache, rate limiter) at LeetCode medium-to-hard difficulty. CS fundamentals questions touch OS (paging, virtual memory), DBMS (normalization, transactions), and networking. Behavioural questions are built around Microsoft’s growth-mindset culture - interviewers often ask about a time you didn’t know something and how you closed that gap, not just about clean wins.
What is Microsoft’s As Appropriate (AA) round?
The AA round is Microsoft’s distinctive final interview: a Principal Engineer, Partner-level engineer, or Director from a different org than the one you’re interviewing for, brought in ‘as appropriate’ to validate the hire. It’s not a rubber stamp - reaching it is a good signal, but the AA interviewer holds real veto power over the offer, and a strong AA performance can also rescue a loop with mixed earlier feedback.
How many rounds are there in the Microsoft interview?
Typically 5-6 touchpoints for SDE roles: an Online Assessment, 2-3 technical interviews, the As Appropriate (AA) round, and an HR/offer conversation. Senior or specialized roles often add a dedicated system design round in place of one DSA round.
What is Microsoft’s growth mindset and how is it tested in interviews?
Growth mindset - the belief that ability is built through effort rather than fixed at birth - is one of the cultural pillars Microsoft has emphasized since Satya Nadella became CEO, alongside customer obsession, diversity and inclusion, and ‘One Microsoft’ collaboration. In interviews this shows up as behavioural questions like ‘tell me about a time you failed and what you learned,’ where interviewers listen for a concrete change in your approach afterward, not just an honest admission of the mistake.
Does Microsoft hire freshers through campus placements in India?
Yes. Microsoft runs campus and off-campus SDE hiring in India, concentrated around its development centers in Hyderabad, Bangalore, and Noida, mainly recruiting from CSE/IT/ECE branches. Reported fresher SDE total compensation commonly falls in the roughly Rs 28-40 LPA range (base plus bonus and stock), though this varies by level, college tier, and location - treat any specific figure as an approximate, self-reported band rather than a guarantee.
How to prepare for Microsoft interviews
Loop map: Online Assessment (OA); Technical Interview 1; Technical Interview 2-3; As Appropriate (AA) round. Confirm timings from the drive mail.
Technical depth: Drill the Q&A section until answers are spoken, not read. Know every resume project cold.
Experiences: Study round-wise notes on the interview experience page - real prompts beat generic lists.
HR: Three STAR stories + a specific “Why Microsoft?” on the HR page.
Who usually fits and who struggles
Good fit: You enjoy medium DSA under a timer, you can explain trade-offs without buzzword fog, and you have at least one project you can defend end-to-end. Azure interest helps for some teams but is not required for every fresher loop. Candidates who already debug with print-tracing and complexity talk aloud adapt fastest to Codility performance tests.
Harder path: You only practiced IDE autocomplete coding; you freeze when Codility’s performance tests fail a correct-but-slow solution; you have zero STAR stories for collaboration or learning from failure. A high CGPA with weak OA usually dies at the first filter. Switching languages every week also shows up as syntax stalls in Interview 1.
A practical Microsoft prep plan
Use this as a default four-week loop before a Microsoft drive. Adjust to your invite timeline.
Week 1: Language fluency: rewrite 10 old solutions in one language until you stop hunting syntax. Open the Microsoft previous-year sets on this site and mark which sections ate your time. Write the timing on a sticky note. That number is more useful than a 200-problem LeetCode streak you never timed.
Week 2: Most Microsoft drives fail people on the first timed paper or OA. Do three timed sits this week. After each one, log every miss in a two-column note: topic and why (slow, wrong formula, bad edge case, panic). The next sit should only add problems from that log.
Week 3: Technical interviews at Microsoft usually want a clean project story, one or two CS fundamentals, and (if the process has it) a behavioral or values round. Write STAR stories on paper, not in your head. Practise “Why Microsoft?” with one concrete product, lab, or business line - not a slogan.
Week 4: Sleep, id photocopies, and a dry run of the oa platform if the invite names one. If you still have energy, redo only the questions you failed in week 2.
10-day crash version: Days 1-4 timed DSA, days 5-7 resume projects + CS fundamentals, days 8-9 mock interviews out loud, day 10 HR STAR stories on the HR page.
Compensation notes
Candidate-reported fresher/early-career packages for Microsoft commonly cite about ₹28-40 LPA SDE-1 total, with some reports higher depending on stock and location. Treat forum numbers as ranges, not guarantees - confirm the written offer letter for your team and location.
Red flags in the Microsoft loop
Correct-but-slow Codility solutions that fail performance tests you never practised
Growth-mindset stories that end at “I learned to be careful” with no concrete habit change
Treating the AA round as a rubber stamp - it can veto or rescue
Switching languages weekly so syntax stalls in Interview 1
Zero questions about team, customers, or learning culture
Sources
Interview process details and sample questions on this site are editorially organized from public candidate reports and hiring write-ups, with round structure, prep notes, and company-specific framing added by our team. For round-by-round stories, see the Microsoft interview experience page. For OA papers and coding drills, use Microsoft on placementpapers.app. OA quick answers and role-wise questions draw on India candidate reports on GeeksforGeeks, LeetCode Discuss, Glassdoor and Jointaro.