Last checked against official sources: 9 October 2026.
Microsoft does not publish a bank of interview questions, but its careers site is unusually open about how interviews work and what interviewers are looking for. That is the best map you have. This guide summarises the official process, then gives practice questions with worked answers for each type of conversation a software engineering candidate is likely to face. The questions are our own practice material, not a list of questions Microsoft has asked.
What Microsoft says about its hiring process
Microsoft's hiring tips page sets out the stages and expectations. When we checked it on 9 October 2026, it described the following:
| Stage | What the page says |
|---|---|
| Apply | Create a profile, confirm you meet the required qualifications and apply; track your status in the Action Center |
| Application review | Hiring teams may add a brief screening conversation before interviews |
| Interview | Usually 2–4 conversations with potential teammates and cross-functional colleagues, each lasting up to an hour |
| Offer and pre-onboarding | Offers arrive by email, through the Action Center or by secure link; a recruiter handles pre-hire steps |
Interviews may take place over the phone, on Microsoft Teams or in person, and next steps vary by role. The page also notes that individual feedback is generally not given to candidates who are not selected, so don't count on a detailed debrief.
According to the same page, interviewers ask for specific examples from your past experience, your ideas about how you would approach tasks in the role, and how your skills translate to the position. For some roles you will write code, or share a portfolio or work samples. It lists respect, integrity, accountability and a growth mindset among the qualities it looks for.
Two rules matter on the day. Microsoft encourages candidates to use AI tools responsibly while preparing, but expects you to demonstrate your own skills during assessments and interviews without outside assistance unless that is explicitly permitted. And candidates are expected to represent themselves honestly at every stage, from resume to pre-onboarding. If you need an accommodation, the page says you can request one through the careers site.
Coding conversations: practice questions with worked answers
Coding interviews reward a visible process: clarify, propose, code, test, analyse. Say each step out loud.
Two numbers that add up to a target
Prompt: Given a list of integers and a target, return the indices of two numbers that sum to the target.
Clarify first: can the same element be used twice (assume no), and what should happen if no pair exists (return nothing)? Checking every pair is O(n²). A hash map gives O(n):
def two_sum(nums, target):
seen = {} # value -> index
for i, x in enumerate(nums):
if target - x in seen:
return [seen[target - x], i]
seen[x] = i
return None
Test it aloud. For [3, 3] and a target of 6, the first 3 is stored at index 0; the second finds it and returns [0, 1]. Time is O(n) and extra space is O(n).
Detect a cycle in a linked list
The two-pointer method moves one pointer a step at a time and another two steps at a time. If there is a cycle, they eventually meet; if the fast pointer reaches the end, there is none.
def has_cycle(head):
slow = fast = head
while fast and fast.next:
slow = slow.next
fast = fast.next.next
if slow is fast:
return True
return False
This uses O(n) time and O(1) extra space, which is often the follow-up after you offer a hash-set solution.
Level-order traversal of a binary tree
Use a queue. Start with the root, then repeatedly remove a node, record it and add its children. To return each level separately, process the queue in batches equal to its length at the start of each level. Space is proportional to the widest level, which is O(n) in the worst case. For more worked examples, see our coding interview questions with Python answers.
Design conversations
Experienced candidates usually get a design discussion, while freshers may get a smaller object-oriented design question. A practice prompt: design the room-booking feature of a calendar app.
- Requirements. Users search rooms by time and capacity, book, cancel and see conflicts. Ask about scale: how many rooms, and how many bookings per minute at peak?
- API.
GET /rooms?start=&end=&capacity=,POST /bookings,DELETE /bookings/{id}. - Data. Rooms (id, building, capacity) and Bookings (id, room_id, start, end, organiser).
- The hard part: double booking. Two people may request the same slot at the same moment. Check for overlap inside a transaction, or use a database constraint that rejects overlapping intervals for the same room, and give the second user a clear error.
- Trade-offs. Caching availability speeds up search but can show stale results, so the final conflict check must happen at write time.
Our system design interview guide works through reservations, concurrency and retries in more depth.
Behavioural conversations
Because Microsoft names a growth mindset, prepare stories that show learning, not just success. Practice prompts:
- Tell me about a time you got something wrong and what you changed afterwards.
- Describe feedback that was hard to hear and what you did with it.
- Tell me about a time you had to learn a new tool or domain quickly.
- Describe a disagreement with a teammate and how it was resolved.
Worked example (fictional, for practice): Situation: during an internship, a feature I built passed my tests but failed for users in a different time zone. Task: I owned the fix. Action: I reproduced the bug with a test that set a fixed time zone, stored timestamps in UTC, converted them only at display time, and added the case to the test suite. Result: the bug did not recur during the rest of the internship, and I now write a time-zone test for any date feature. The learning is specific and shows a changed habit, which is what makes it a growth-mindset answer.
Use our STAR method guide to tighten each story to about two minutes.
"How would you approach this role?" questions
Because interviewers ask how you would approach tasks in the role, pick two responsibilities from the job description and prepare answers to four questions: what you would learn first, who you would talk to, what you would deliver in the first few weeks, and how you would know it was working.
Worked example: turning a job description into a prep sheet
The job description lines below are illustrative, not taken from a real posting.
| Job description line | Conversation it may lead to | Evidence to prepare |
|---|---|---|
| "Build and maintain backend services" | Coding plus a small design discussion | One service you built: its API, data and a failure you handled |
| "Collaborate with partner teams" | Behavioural: working across teams | A story about aligning with another team's priorities |
| "Debug production issues" | Practical problem-solving | A bug you diagnosed: symptoms, hypothesis, fix, test |
| "Learn new technologies quickly" | Growth mindset | A tool you learned under time pressure, and how |
A two-week practice plan
| Days | Focus |
|---|---|
| 1–3 | Arrays, strings and hash maps; two or three problems a day, explained aloud |
| 4–6 | Linked lists, trees and graphs (BFS and DFS) |
| 7–8 | One design prompt a day, sketched and timed at 35–40 minutes |
| 9–10 | Six STAR stories, including two about failure or feedback |
| 11–12 | Two full mock interviews with a friend |
| 13–14 | Revise weak spots, prepare questions for your interviewers and test your Teams setup if the interview is virtual |
Final checklist
- Confirm the format, number of conversations and timing with your recruiter.
- Practise thinking aloud: clarify, propose, code, test, analyse.
- Prepare stories that show learning, not just wins.
- Prepare a short plan for how you would approach the role.
- Do not use AI tools or outside help during interviews unless explicitly permitted.
- Request any accommodation early through the careers site.
