Microsoft Interview Questions
The coding and system-design questions asked in Microsoft interviews - with worked solutions, in-browser code execution, and active-recall review. 8 questions.
How Microsoft interviews software engineers
Microsoft's process is a recruiter screen, sometimes an online coding test (often on Codility), and an onsite loop of four to five rounds. A strong loop can end with an 'As Appropriate' (AA) round - a final interview with a senior leader that mostly happens when the earlier rounds went well.
Rounds mix coding, system design, and behavioral questions. Interviewers care as much about your thought process and collaboration as the final answer, and 'customer obsession' is a recurring theme in behavioral signal.
The interview loop
- 1Recruiter screenPhone or video call on background, role interest, and logistics.
- 2Online coding testTimed assessment (often Codility) on algorithms and data structures - not always required.
- 3Onsite loop4-5 rounds of coding and system design on a shared editor or whiteboard, plus behavioral questions.
- 4As Appropriate (AA) roundFinal interview with a senior leader; an invite is a strong positive signal.
What they look for
- Clear problem-solving and communication, not just a correct answer
- System architecture reasoning for mid-level and up
- Customer obsession and collaboration in behavioral answers
How to prepare
- Think out loud and check assumptions - interviewers grade the journey.
- Have stories about acting on customer feedback ready for the behavioral signal.
- Treat an AA invite as near-offer, but keep the same rigor.
Sources
- IGotAnOffer - Microsoft software engineer interview - Full pipeline including the AA round.
- Exponent - Microsoft software engineer guide - Stage breakdown and sample questions.
- InterviewQuery - Microsoft software engineer - Process and question bank.
See every company's references on the interview-process sources page.
Practice questions
- Feature Flag SDK(premium)
Design a LaunchDarkly-lite / Firebase Remote Config-lite Android SDK - typed flag evaluation that never throws, deterministic bucketing on user attributes, SSE push refresh with polling fallback, and a global kill switch that outranks targeting.
Mobilemedium-2mo - Analytics / Logging SDK(premium)
Design a Firebase-Analytics-lite / Amplitude-lite Android SDK - microsecond-budget `track()` on the main thread, a durable on-device queue that survives OOM kill, and batched uploads that respect battery and consent.
Mobilehard-2mo - Newsfeed App(premium)
Design an Android social feed - opaque cursor pagination over Paging 3 + RemoteMediator, optimistic engagement with idempotent retries, 60 FPS mixed-media scrolling with autoplay video, and pull-to-refresh that surfaces new posts without losing the reading position.
Mobilehard-2mo+7
- Ride-Sharing App(premium)
Design an Uber / Lyft-lite Android rider app - a server-authoritative ride state machine, an idempotent ride request that survives a process kill, a 1-2 Hz driver-location stream interpolated to 60 FPS, FCM (Firebase Cloud Messaging) wakeup when the WebSocket is closed, and reconnect-and-reconcile under cellular drops.
Mobilehard-2mo+4
- Valid Parentheses
Stack-walk a bracket string to validate it, then localize the first error, then find the longest valid substring (LC 32).
Practicalmedium35m2mo+12
- Encode and Decode Strings(premium)
Serialize a list of arbitrary strings into a single string and parse it back. Any character is allowed in the strings, including the delimiters - length-prefix framing is the only safe answer.
Practicaleasy25m2mo+3
- Time-Based Key-Value Store(premium)
A key-value store with timestamped writes. Read at time t returns the latest value written at or before t; later phases add arbitrary-order inserts and range queries.
Practicalmedium35m2mo+9
- Meeting Rooms(premium)
Given a list of half-open meeting intervals, find the minimum number of conference rooms; later phases assign specific room IDs and add capped capacity with priority eviction.
Practicalmedium35m2mo+9