Microsoft Corporation
Proud winner of ABECA 2024 - AmbitionBox Employee Choice Awards
Filter interviews by
Given a 2D array of alphabets and a function to check valid English words, find all possible valid words adjacent to each other.
Create a recursive function to traverse the 2D array and check for valid words
Use memoization to avoid redundant checks
Consider edge cases such as words with repeating letters
Optimize the algorithm for time and space complexity
Insert a node at its correct position in a circular linked list containing sorted elements.
Traverse the linked list until the correct position is found
Handle the case where the value to be inserted is smaller than the smallest element or larger than the largest element
Update the pointers of the neighboring nodes to insert the new node
Consider the case where the linked list has only one node
Top trending discussions
Implement 3 stacks in a single array efficiently
Divide the array into 3 equal parts
Use pointers to keep track of top of each stack
Implement push and pop operations for each stack
Handle stack overflow and underflow cases
To find a given integer in a circularly sorted array of integers, use binary search with slight modifications.
Find the middle element of the array.
If the middle element is the target, return its index.
If the left half of the array is sorted and the target is within that range, search the left half.
If the right half of the array is sorted and the target is within that range, search the right half.
If the left half is not...
Program to find depth of binary search tree without recursion
Use a stack to keep track of nodes and their depths
Iteratively traverse the tree and update the maximum depth
Return the maximum depth once traversal is complete
Find the maximum rectangle (in terms of area) under a histogram in linear time
Use a stack to keep track of the bars in the histogram
For each bar, calculate the area of the rectangle it can form
Pop the bars from the stack until a smaller bar is encountered
Keep track of the maximum area seen so far
Return the maximum area
Implement spelling and word suggestions for full keyboard phones
Create a dictionary of commonly used words
Use algorithms like Trie or Levenshtein distance to suggest words
Implement auto-correct feature
Recursive mergesort divides array into halves, sorts them and merges them back. O(nlogn) runtime.
Divide array into halves recursively
Sort each half recursively using mergesort
Merge the sorted halves back together
Runtime is O(nlogn)
Iterative version can be written using a stack or queue
To determine if someone has won a game of tic-tac-toe on a board of any size, we need to check all possible winning combinations.
Create a function to check all rows, columns, and diagonals for a winning combination
Loop through the board and call the function for each row, column, and diagonal
If a winning combination is found, return the player who won
If no winning combination is found and the board is full, return 'Tie...
Replace each number in an array with the product of all other numbers without using division.
Iterate through the array and calculate the product of all numbers to the left of the current index.
Then, iterate through the array again and calculate the product of all numbers to the right of the current index.
Multiply the left and right products to get the final product and replace the current index with it.
Create a cache with fast look up that only stores the N most recently accessed items
Implement a hash table with doubly linked list to store the items
Use a counter to keep track of the most recently accessed items
When the cache is full, remove the least recently accessed item
To design a search engine with keyword-based document indexing and numeric attributes, we need to build appropriate indices.
Create an inverted index for each keyword, mapping it to the documents that contain it
For numeric attributes, use a B-tree or other appropriate data structure to store the values and their associated documents
Combine the indices to allow for complex queries, such as keyword and attribute filters
Co...
Program to find intersection of words in two files
Read both files and store words in two arrays
Loop through one array and check if word exists in other array
Print the common words
Coding practice is a must . DSA concept is a must .
Coding Test 2 which involved a basic array ques . Checked logic ability
I applied via Instahyre and was interviewed in Nov 2024. There was 1 interview round.
It was on hackerrank(OA). There were two string and array based medium question.(Part of Blind 75 list)
I applied via Walk-in and was interviewed in Apr 2024. There was 1 interview round.
Solve sanke and ladder puzzle
Use Selenium to extract values from a dynamic table
Identify the table using its locator (id, class, xpath, etc.)
Iterate through the rows and columns of the table to extract values
Use Selenium commands like findElements and getText to retrieve the values
Handle dynamic content by waiting for elements to be present or visible
To find the union of two arrays in Java, use a HashSet to store unique elements from both arrays.
Create two arrays of strings.
Convert arrays to HashSet to remove duplicates.
Combine both HashSets to get the union of arrays.
I applied via Naukri.com
Asked to write a program for Number palindrome
posted on 26 Oct 2020
I applied via Naukri.com and was interviewed in Sep 2020. There were 4 interview rounds.
Data scraping, computer vision, agile methodologies, change request, and testing methods are all important aspects of software engineering.
Data scraping involves extracting data from websites or other sources.
Computer vision involves using algorithms to interpret and analyze visual data.
Agile methodologies are a set of principles for software development that prioritize flexibility and collaboration.
Change requests are...
posted on 30 Nov 2021
I applied via Recruitment Consultant and was interviewed before Nov 2020. There were 3 interview rounds.
Find sum of squares of numbers in list using stream API.
Use mapToInt() to convert list of integers to IntStream
Use map() to square each element of IntStream
Use sum() to get the sum of squares
Searching in 2D sorted array row wise and column wise.
Start from the top right corner or bottom left corner
Compare the target with the current element
Move left or down if target is smaller or move right or up if target is larger
Repeat until target is found or out of bounds
Some of the top questions asked at the Microsoft Corporation Sdet interview -
based on 1 review
Rating in categories
Software Engineer
2.2k
salaries
| ₹15 L/yr - ₹55 L/yr |
Senior Software Engineer
1.2k
salaries
| ₹25 L/yr - ₹95 L/yr |
Software Engineer2
1.1k
salaries
| ₹20 L/yr - ₹70 L/yr |
Support Engineer
607
salaries
| ₹9 L/yr - ₹30 L/yr |
Consultant
594
salaries
| ₹12.9 L/yr - ₹39 L/yr |
Amazon
Deloitte
TCS