Microsoft Corporation
Proud winner of ABECA 2024 - AmbitionBox Employee Choice Awards
Filter interviews by
Clear (1)
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
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 Walk-in and was interviewed in Apr 2024. There was 1 interview round.
Solve sanke and ladder puzzle
I applied via Naukri.com
Asked to write a program for Number palindrome
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 worked as a software developer at a tech company, focusing on test automation and quality assurance.
Developed automated test scripts using Selenium for web applications
Collaborated with developers to identify and fix bugs in the code
Participated in daily stand-up meetings to discuss project progress
Conducted regression testing to ensure software quality
Utilized Jira for tracking and managing testing tasks
Expected CTC is the anticipated salary package for the position.
Research industry standards for SDET roles
Consider your experience, skills, and location when negotiating CTC
Be prepared to discuss salary expectations during the interview process
I have worked on tools such as Selenium, JUnit, TestNG, Postman, and Jenkins.
Selenium
JUnit
TestNG
Postman
Jenkins
I have 5 years of experience in total.
5 years of experience in software development and testing
2 years as a QA engineer and 3 years as an SDET
Experience with automation testing tools like Selenium and JUnit
I was interviewed before Jun 2021.
Round duration - 180 minutes
Round difficulty - Easy
It was an mcq + coding round. There were aptitude and ouput based question in mcq. And coding questions were easy
Given an integer array 'ARR' of size 'N' containing numbers from 0 to (N - 2). Each number appears at least once, and there is one number that appears twice. Yo...
Find the duplicate number in an array of integers from 0 to (N-2).
Iterate through the array and keep track of the frequency of each number using a hashmap.
Return the number with a frequency greater than 1 as the duplicate number.
Time complexity can be optimized to O(N) using Floyd's Tortoise and Hare algorithm.
You are provided with a string S
and an array of integers A
of size M
. Your task is to perform M
operations on the string as specified by the indices in array A
...
Given a string and an array of indices, reverse substrings based on the indices to obtain the final string.
Iterate through the array of indices and reverse the substrings accordingly
Ensure the range specified by each index is non-empty
Return the final string after all operations are completed
Round duration - 60 Minutes
Round difficulty - Easy
It was technical + hr round. there were 2 people as interviewer. They stated from intro and asked some basic puzzles and hr questions. After that they asked about my projects, technologies and some ds algo and dbms questions.
Tip 1 : Practice aptitude
Tip 2 : Focus on practicing coding
Tip 3 : Learn from mistakes
Tip 1 : Mention some projects that you have done
Tip 2 : Try to have skills that are required for the role
Some of the top questions asked at the Microsoft Corporation Sdet interview -
based on 1 review
Rating in categories
Software Engineer
2k
salaries
| ₹0 L/yr - ₹0 L/yr |
Senior Software Engineer
1.1k
salaries
| ₹0 L/yr - ₹0 L/yr |
Software Engineer2
1k
salaries
| ₹0 L/yr - ₹0 L/yr |
Consultant
599
salaries
| ₹0 L/yr - ₹0 L/yr |
Support Engineer
552
salaries
| ₹0 L/yr - ₹0 L/yr |
Amazon
Deloitte
TCS