Microsoft interview questions and process for freshers
Microsoft hires freshers in India for software engineering roles and internships, mostly through campus hiring. Here is how its process commonly works and how to prepare.
Practise a Microsoft-style mock interview with Sam
Sam, our AI interviewer, asks Microsoft-style questions out loud, follows up on your answers and gives you an honest scorecard. Free to start.
How the Microsoft interview usually goes
Based on what candidates commonly report. The process changes by year, role and campus, so always check the official Microsoft careers page and your drive's notification.
- 1
Online coding test
A few algorithmic problems on a coding platform.
- 2
Technical interviews
Several rounds of data structures and algorithms, with questions on your projects, OOP and sometimes basic design.
- 3
Final round
Often with a senior engineer or manager, mixing technical depth with behavioural questions.
Technical questions freshers are commonly asked
Microsoft interviews for freshers lean on data structures and algorithms and problem solving: you are expected to reason out loud, reach an efficient solution, write working code and analyse its complexity. Expect deep questions on your projects too. Clean code, edge cases and solid OOP are valued.
- Q1.
Explain your final-year (or best) project.
Cover the problem, your own part, the tech stack and why you chose it, one hard bug or decision, and what you would improve. Expect follow-ups on anything you name, so only list what you can defend.
- Q2.
What are the four pillars of OOP?
Encapsulation (keeping data and the methods that use it together, and hiding internal state), abstraction (exposing what an object does, not how), inheritance (a class reusing and extending another) and polymorphism (one interface, many forms). Give a small example in the language you know best.
- Q3.
What is the time and space complexity of your solution?
Expect this after every coding question. Count how the work grows with input size (nested loops over n are O(n²), halving is O(log n), sorting is O(n log n)), and include the extra memory your data structures and recursion use.
- Q4.
Two sum: find two numbers in an array that add up to a target.
Scan once with a hash map from value to index: for each x, check whether target - x is already in the map. That is O(n) time and O(n) space, versus O(n²) for checking every pair. If the array is sorted, two pointers work in O(1) space.
Hash maps & sets - Q5.
Reverse a singly linked list.
Walk the list with prev, curr and next pointers: save curr.next, point curr.next at prev, then move prev and curr one step forward. O(n) time, O(1) space; be ready to write the recursive version too.
Reversing a linked list - Q6.
Detect a cycle in a linked list.
Use Floyd's fast and slow pointers: slow moves one step, fast moves two. If they ever meet there is a cycle; if fast reaches null there isn't. O(n) time, O(1) space.
Cycles & the middle node - Q7.
Implement binary search. What is its complexity?
On a sorted array, compare the target with the middle element and discard the half that can't contain it: O(log n). Compute mid as low + (high - low) / 2 to avoid overflow, and be careful with the loop condition and boundaries.
Binary search - Q8.
Check whether a string of brackets is balanced, like {[()]}.
Push each opening bracket onto a stack; for each closing bracket, the top of the stack must be its matching opener, which you pop. The string is balanced if the stack is empty at the end.
Stack - Q9.
Print a binary tree level by level.
Breadth-first search with a queue: at each step note the queue's current size, pop that many nodes as one level and push their children. O(n) time.
Trees & graphs - Q10.
Design an LRU (least recently used) cache.
Combine a hash map (key to node) with a doubly linked list ordered by use: get and put move the node to the front, and when the cache is full you evict from the back. Both operations are O(1).
Designing an LRU cache - Q11.
Find the length of the longest substring without repeating characters.
Use a sliding window with a map of each character's last index: extend the right end, and when a character repeats inside the window, move the left end past its previous position. O(n) time.
Sliding window - Q12.
Merge overlapping intervals.
Sort the intervals by start time, then walk through them: if the next interval starts before the current one ends, extend the current end; otherwise start a new interval. O(n log n) because of the sort.
Intervals - Q13.
Find the maximum subarray sum.
Kadane's algorithm: keep the best sum ending at the current index, current = max(x, current + x), and track the overall maximum. O(n) time, O(1) space; check how it handles an array of all negative numbers.
Dynamic programming - Q14.
What is the difference between a process and a thread?
A process is a running program with its own memory space. Threads run inside a process and share its memory (code, heap) while each has its own stack and registers, so they are cheaper to create and switch, but shared data needs synchronisation.
Processes vs threads - Q15.
How does a hash map work internally?
A hash function maps each key to a bucket index. Collisions are handled by chaining (a list per bucket; Java 8+ turns long chains into balanced trees) or by open addressing. Lookups are O(1) on average and O(n) in the worst case; the table resizes as it fills up.
Hash maps & sets
Microsoft HR interview questions
- 1.
Tell me about yourself.
60 to 90 seconds: your degree, one or two projects or skills that fit the role, and what you want next. Don't read out your resume.
Tell me about yourself - 2.
Why should we hire you?
Match two or three of your strengths to the role, each backed by proof such as a project, an internship or a result.
- 3.
What are your strengths and weaknesses?
Pick a real strength with an example, and a real but non-critical weakness along with what you are doing to improve it.
- 4.
Why Microsoft?
Be specific: a product you use and what you would improve, the kind of engineering problems the team you applied to works on, or its learning culture.
- 5.
Are you open to relocating?
Answer honestly; check the job description for the location. If you have a constraint, say so politely and early.
- 6.
Where do you see yourself in five years?
Talk about growing your skills and responsibility in a way that could plausibly happen at this company, not about leaving it.
- 7.
Tell me about a challenge you faced and how you handled it.
Use STAR: the situation, your task, the actions you took and the result, with the focus on what you did.
The STAR method - 8.
Tell me about a time you disagreed with a teammate.
Show that you listened, argued with facts and kept the team moving; end with what you learned.
Conflict & teamwork - 9.
Do you have any questions for us?
Always ask one or two, for example about training, the team you would join, or what a good first year looks like.
Questions to ask the interviewer
How to prepare for the Microsoft interview
- 1.
Practise DSA steadily
Arrays and hashing, two pointers, sliding window, stacks, binary search, linked lists, trees and graphs, heaps and dynamic programming. Learn the patterns, not just individual problems.
Study notes - 2.
Think out loud
Clarify the problem, give a brute-force idea, improve it, state the complexity, then code and test with edge cases. Interviewers score your reasoning, not just the final code.
- 3.
Go deep on one or two projects
Be ready for why you made each design choice, what broke, how it would scale, and what you would change.
- 4.
Don't skip CS fundamentals
DBMS (indexes, transactions), OS (processes, threads, deadlocks) and networking still come up, especially in project discussions.
SQL notes - 5.
Keep aptitude sharp for online tests
Some online assessments include aptitude or reasoning alongside coding. The Daily Quiz keeps it warm in three minutes a day.
Daily Quiz - 6.
Prepare behavioural stories
Have three or four STAR stories ready: a challenge, a failure, a conflict and something you owned.
The STAR method - 7.
Check the official details
Roles, eligibility and the process differ by team and year. Read the job description and the official Microsoft careers page.
Practise a Microsoft-style mock interview with Sam
Sam, our AI interviewer, asks Microsoft-style questions out loud, follows up on your answers and gives you an honest scorecard. Free to start.
Frequently asked questions
How many rounds are there in the Microsoft fresher interview?
Commonly an online coding test followed by several technical interviews and a final round, but it varies by role and year. Check the official Microsoft careers page and the job description.
What topics should I focus on for Microsoft?
Arrays, strings, linked lists, trees, graphs and dynamic programming, plus OOP and your projects. Explaining your approach clearly matters as much as the code.
Which programming language should I use in the Microsoft interview?
Any mainstream language you are fluent in (C++, Java, Python, JavaScript or Go) is usually fine for coding rounds. Pick one and know its standard collections well.
Can I practise a Microsoft-style mock interview?
Yes. On InterviewSam you can set Microsoft as the target company and Sam, our AI interviewer, runs a mock interview by voice in that style, then gives you an honest scorecard. You need a free account; the study notes and aptitude practice need no login.
InterviewSam is not affiliated with Microsoft. This page summarises commonly reported interview experiences to help you prepare; for eligibility, test patterns and dates, rely on Microsoft's official careers page.