Microsoft Corporation
Proud winner of ABECA 2024 - AmbitionBox Employee Choice Awards
Filter interviews by
I applied via Referral and was interviewed before Apr 2023. There were 2 interview rounds.
Medium level Leetcode problems. 2 Questions were asked.
Design a file upload and download service for efficient and secure file management.
Use a secure authentication mechanism to ensure only authorized users can upload and download files.
Implement file size restrictions and validation to prevent large or malicious files from being uploaded.
Utilize cloud storage solutions for scalability and reliability.
Include version control to track changes and updates to files.
Consider ...
I was interviewed in Dec 2016.
The question asks to find the similarity between two words by normalizing the length of the longest common subsequence (LCS) by the total length of the string.
Implement a function that takes two words as input
Find the length of the longest common subsequence (LCS) between the two words
Normalize the length of LCS by dividing it by the total length of the string
Return the normalized similarity value
The function takes a binary tree as input and returns a doubly linked list of all the nodes at each level.
Use a breadth-first search (BFS) algorithm to traverse the binary tree level by level.
For each level, create a doubly linked list and add the nodes to it.
Connect the doubly linked lists of each level to form the final result.
Print first 200 Fibonacci numbers in reverse order.
Use an array to store the Fibonacci numbers
Start with 0 and 1, then add the previous two numbers to get the next one
Loop through the array in reverse order to print the numbers
Check if a string is a palindrome or not.
A palindrome is a word, phrase, number, or other sequence of characters that reads the same forward and backward.
To check if a string is a palindrome, compare the first and last characters, then the second and second-to-last characters, and so on.
If all pairs match, the string is a palindrome. If any pair does not match, the string is not a palindrome.
Ignore spaces, punctuation,...
Normalization is the process of organizing data in a database to reduce redundancy and dependency.
2NF eliminates partial dependencies by ensuring that non-key attributes depend on the entire primary key.
3NF eliminates transitive dependencies by ensuring that non-key attributes depend only on the primary key.
BCNF eliminates overlapping candidate keys by ensuring that each determinant is a candidate key.
Indexes are used to improve database performance by allowing faster data retrieval. Clustered indexes determine the physical order of data, while non-clustered indexes are separate structures.
Indexes are used to speed up data retrieval in databases
Clustered indexes determine the physical order of data in a table
Non-clustered indexes are separate structures that point to the data in a table
A table can have only one clus...
Designed a relational database with tables for users, products, orders, and payments.
Identified entities and relationships to create tables
Normalized tables to reduce redundancy and improve data integrity
Used primary and foreign keys to establish relationships between tables
Implemented indexes to improve query performance
I misunderstood the requirements and implemented the wrong feature.
Misunderstood the requirements
Implemented the wrong feature
Realized the mistake after the first round
My aggregate is lower due to personal circumstances and challenges I faced during my studies.
I faced personal challenges during my studies that affected my grades
I had to balance work and school which impacted my performance
I have learned from my experiences and have taken steps to improve my skills
I am confident in my abilities to succeed in this role
I have a passion for software development and want to pursue it as a career.
I have always been interested in technology and programming
I enjoy the challenge of solving complex problems through coding
I want to make a difference in the world through software development
I believe that my skills and interests are better suited for a career in software development
I respect my father's business but it is not my passion
I use my technical skills to develop software solutions that streamline business processes and improve efficiency.
Identify pain points in the business and develop software solutions to address them
Automate repetitive tasks to save time and reduce errors
Develop custom software to meet specific business needs
Integrate different software systems to improve data flow and communication
Provide technical support and training ...
Teaching is not my passion, but software development is.
I enjoy problem-solving and creating solutions through coding
I have a strong interest in technology and its advancements
Teaching requires a different set of skills and patience that I may not possess
I believe I can make a greater impact in the software development industry
Microsoft is a leader in technology innovation and provides a great platform for personal and professional growth.
Microsoft has a strong reputation for innovation and cutting-edge technology
The company offers a wide range of opportunities for personal and professional growth
Microsoft has a diverse and inclusive culture that values collaboration and teamwork
The company is committed to making a positive impact on the wor
I played a key role in developing and implementing the project using Java and Spring framework.
Developed and maintained RESTful APIs using Java and Spring framework
Collaborated with the team to design and implement new features
Used Git for version control and JIRA for project management
Conducted code reviews and wrote unit tests to ensure code quality
Deployed the application on AWS using Elastic Beanstalk
Provided techn...
I have focused on building real-world applications and contributing to open-source projects.
I believe in learning by doing and building practical applications.
I have contributed to open-source projects like XYZ and ABC.
I have participated in hackathons and coding challenges organized by my university and local tech communities.
I prioritize building a strong foundation in software development principles and practices.
I ...
I have gained practical experience through personal projects and freelance work.
I have been working on personal projects related to software development for the past few years.
I have also taken up freelance work and have worked on various projects for clients.
I believe that these experiences have given me a good understanding of the industry and the skills required to succeed.
I am confident that I can apply these skill...
To find least common ancestor of two nodes in a binary tree, traverse the tree from root to the nodes and store the paths. Then compare the paths to find the common ancestor.
Traverse the binary tree from root to the two nodes and store the paths
Compare the paths to find the common ancestor
If the binary tree is a BST, compare the values of the nodes to find the common ancestor
If one of the nodes is the ancestor of the o
Optimizing for binary search tree
Ensure the tree is balanced to maintain O(log n) search time
Implement efficient insertion and deletion algorithms
Use in-order traversal for sorted output
Consider using AVL or Red-Black trees for self-balancing
Avoid using recursion for large trees to prevent stack overflow
Search for a string in a 2D character matrix in any direction
Iterate through each cell of the matrix
For each cell, check all possible directions for the string
If found, return the starting and ending coordinates of the string
To identify swapped nodes in a binary search tree, we need to perform an inorder traversal and compare adjacent nodes.
Perform an inorder traversal of the binary search tree
Compare each node with its adjacent node
If a node is smaller than its previous node, mark it as a swapped node
If two nodes are swapped, swap their values to restore the original binary search tree
Microsoft Corporation interview questions for designations
Code for subtitle syncing application
Create a function to parse subtitle file and extract time stamps
Create a function to parse video file and extract time stamps
Calculate time difference between subtitle and video time stamps
Adjust subtitle time stamps accordingly
Output synced subtitle file
Design ADT for chess game classes
Create classes for pieces (king, queen, etc.), board, player, game
Use inheritance to represent different types of pieces
Implement methods for moving pieces, checking for checkmate, etc.
Microsoft is a leader in technology innovation and provides a challenging and rewarding work environment.
Microsoft is a well-established and respected company in the tech industry
The company is known for its cutting-edge technology and innovation
Working at Microsoft offers opportunities for growth and development
The company culture values diversity and inclusion
Microsoft has a strong commitment to social responsibility
Yes, I left Barclays to join Microsoft.
I was looking for new challenges and opportunities to grow my skills.
Microsoft offered a more dynamic and innovative work environment.
I was excited about the potential to work on cutting-edge technology and make a real impact.
I had always admired Microsoft's commitment to innovation and customer satisfaction.
I believe in continuous learning and improvement, and strive to bring innovative solutions to the table.
I am always looking for ways to improve my skills and knowledge
I am proactive in identifying and solving problems
I am a team player and collaborate effectively with my colleagues
I am committed to delivering high-quality work and meeting deadlines
I am adaptable and able to work in a fast-paced environment
AI logic for Chess representation
Implement minimax algorithm with alpha-beta pruning
Use evaluation function to assign values to board positions
Implement move ordering to improve efficiency
Use transposition tables to store previously evaluated positions
Implement iterative deepening to improve search depth
Get interview-ready with Top Microsoft Corporation Interview Questions
posted on 10 Jan 2015
Top trending discussions
based on 4 reviews
Rating in categories
Software Engineer
1.9k
salaries
| ₹13 L/yr - ₹50 L/yr |
Senior Software Engineer
1k
salaries
| ₹25 L/yr - ₹85 L/yr |
Software Engineer2
970
salaries
| ₹20 L/yr - ₹72 L/yr |
Consultant
610
salaries
| ₹13 L/yr - ₹38 L/yr |
Support Engineer
584
salaries
| ₹7 L/yr - ₹30 L/yr |
Amazon
Deloitte
TCS