Microsoft Corporation
Proud winner of ABECA 2024 - AmbitionBox Employee Choice Awards
Filter interviews by
Clear (1)
Connect nodes to their right in a binary tree using an extra pointer.
Traverse the tree using level order traversal
For each node, connect its right child to the next node in the level
If there is no next node, set the right child to null
Design considerations for an elevator system with 5 elevators and 50 floors.
Traffic patterns and peak hours should be analyzed to determine the optimal number of elevators to be in operation at any given time.
Elevators should be programmed to prioritize stops based on the direction of travel and the proximity of the requested floor to the elevator's current location.
The system should be designed to minimize wait times ...
Given two linked lists, check if they have a common node.
Traverse both lists and compare each node's memory address
Use a hash table to store memory addresses of nodes in one list and check for matches in the other list
If one list is shorter, traverse it first and then start traversing the longer list from the difference in length
Find if an array has a majority element in O(n)
Iterate through the array and keep track of the count of each element
If the count of any element is greater than half the length of the array, return true
Otherwise, return false
Find element in 2D array which is max in column and min in row with minimum comparisons
Iterate over rows and columns to find max and min elements respectively
Compare the max element of a column with the min element of its row
Return the element if it satisfies the condition
Consider edge cases like multiple elements satisfying the condition
Return an array with only unique elements
Use a Set to store unique elements
Loop through the array and add each element to the Set
Convert the Set back to an array and return it
I was interviewed in Oct 2016.
My hobbies include hiking, playing guitar, and cooking.
Hiking: I enjoy exploring nature trails and challenging myself physically.
Playing guitar: I love learning new songs and improving my skills.
Cooking: I like experimenting with different recipes and creating delicious meals.
In 5 years, I see myself as a senior software developer leading a team and working on complex projects.
Leading a team of developers
Working on complex projects
Continuously learning and improving my skills
Contributing to the growth and success of the company
I want to join DELL because of their innovative technology solutions and strong reputation in the industry.
DELL is known for their cutting-edge technology solutions which align with my passion for software development.
I admire DELL's strong reputation in the industry and their commitment to customer satisfaction.
I believe joining DELL will provide me with opportunities for growth and career advancement.
I was interviewed in Jan 2017.
I applied via Campus Placement
I was interviewed in Nov 2016.
Seeking better growth opportunities and challenges
Limited growth potential in current role
Desire to work on more challenging projects
Looking for a company with a better cultural fit
Relocating to a new area
posted on 10 Mar 2015
Algorithm to find 2 numbers in an array whose sum is equal to a target integer
Use a hash table to store the difference between target and each element in the array
Iterate through the array and check if the current element exists in the hash table
Return the pair of elements that sum up to the target integer
Write a select statement to retrieve work of all users who belong to my team.
Join USERS and WORK tables on user_id
Join MANAGERS and USERS tables on team
Filter by manager_id
The manifest.json file contains the most important information of a Chrome extension.
The manifest.json file includes the version number, permissions, content scripts, background scripts, and other important details.
It is located in the root directory of the extension.
It is required for all Chrome extensions.
Example: "manifest_version": 2, "version": "1.0", "permissions": ["tabs", "storage"]
Hashtable is faster for finding an item than a sorted list.
Hashtable has constant time complexity O(1) for finding an item.
Sorted list has logarithmic time complexity O(log n) for finding an item.
Hashtable uses hashing to directly access the item's location.
Sorted list requires binary search to find the item's location.
Hashtable is ideal for large datasets with frequent lookups.
Sorted list is ideal for datasets that re
JSON and XML are the most popular data interchange formats when using APIs.
JSON (JavaScript Object Notation) is a lightweight format that is easy to read and write. It is widely used in web APIs.
XML (Extensible Markup Language) is a more complex format that is also widely used in web APIs.
Other formats include CSV (Comma Separated Values), YAML (YAML Ain't Markup Language), and Protocol Buffers.
Popular APIs for Social Commerce services
Facebook Graph API for social media integration
Instagram API for photo sharing and tagging
Twitter API for real-time updates and customer engagement
Pinterest API for product discovery and sharing
Google Maps API for location-based services
PayPal API for secure payment processing
Use a script to iterate through each HTML page, locate phone numbers, and update their format.
Write a script using a programming language like Python or JavaScript to iterate through each HTML page
Use regular expressions to locate phone numbers in the pages
Update the format of the phone numbers as needed (e.g. adding country code, changing separators)
Save the updated HTML pages with the new phone number format
Designing Google Suggest system
I would start by analyzing user search patterns and frequently searched keywords
Then, I would create a database of these keywords and their associated search results
I would use indexing services to quickly retrieve relevant results for each keyword
I would also implement machine learning algorithms to improve the accuracy of suggestions over time
Check if a number is a power of 2 and odd.
To check if a number is a power of 2, use bitwise AND operator with the number and its predecessor. If the result is 0, it is a power of 2.
To check if a number is odd, use modulus operator with 2. If the result is 1, it is odd.
Example code in Python:
def is_power_of_two(num):
return num & (num - 1) == 0
def is_odd(num):
return num % 2 == 1
By introducing new menu items, optimizing pricing strategy, and improving the overall dining experience.
Conduct a survey to understand the preferences of employees
Introduce healthy and affordable meal options
Offer discounts for bulk orders or loyalty programs
Partner with local vendors to source fresh ingredients
Improve the ambiance and seating arrangements
Implement online ordering and delivery services
Reviewing 30 million ads from 42 languages in Google AdWords and rejecting non-compliant ads requires a systematic approach.
Create a set of specific rules and guidelines for ad compliance
Use automated tools to filter out ads that violate the rules
Assign a team of reviewers to manually check the remaining ads
Ensure that the reviewers are fluent in the languages of the ads they are reviewing
Regularly update the rules and...
I was interviewed before Dec 2020.
Round duration - 60 minutes
Round difficulty - Easy
This was a 60 minute technical round involving questions based on data structures, OOPS concepts, DBMS and projects that I had mentioned in my resume.
Calculate the Nth term in the Fibonacci sequence, where the sequence is defined as follows: F(n) = F(n-1) + F(n-2)
, with initial conditions F(1) = F(2) = 1
.
Calculate the Nth Fibonacci number efficiently using recursion or dynamic programming.
Implement a recursive function to calculate the Nth Fibonacci number.
Use memoization to store previously calculated Fibonacci numbers for efficiency.
Consider using dynamic programming to optimize the solution.
Handle edge cases such as N = 1 or N = 2 separately.
Ensure the solution works efficiently for large values of N (up to 10000).
Operator overloading in OOP allows custom behavior for operators like +, -, *, etc.
Operator overloading is a feature in OOP that allows defining custom behavior for operators
Example: Overloading the + operator to concatenate strings or add two numbers
Example: Overloading the * operator to perform matrix multiplication
Function overloading is when multiple functions have the same name but different parameters or return types.
Allows multiple functions with the same name but different parameters or return types
Helps improve code readability and maintainability
Example: int add(int a, int b) and float add(float a, float b)
C is a procedural programming language while C++ is a multi-paradigm programming language with object-oriented features.
C is a procedural programming language while C++ supports both procedural and object-oriented programming.
C does not support classes and objects while C++ does.
C does not have built-in support for exception handling while C++ does.
C does not have namespaces while C++ does.
C does not have function over
Round duration - 45 minutes
Round difficulty - Easy
HR round that lasted for 45 minutes. Did brainstorming on puzzles and HR asked questions to know more about me.
Tips : During HR, think before you speak, they can catch any word that you speak. Prepare well for aptitude, as they shortlist less people after the test. Ask good questions during the end of the interviews. It might impress them. So prepare for it before going for the interview. Lastly, don’t be nervous, HRs are only trying to make you nervous during the interview as a part of the stress test.
Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 3 : Do at-least 2 good projects and you must know every bit of them.
Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.
I was interviewed before Dec 2020.
Round duration - 60 minutes
Round difficulty - Medium
This was a 60 minute technical round where the interviewer asked programming based questions and questions on DBMS concepts.
Given an array of 'N' non-negative integers and an integer 'K', your task is to find the maximum elements for each subarray of size 'K'.
The first line contains...
Find the maximum elements for each subarray of size 'K' in an array of non-negative integers.
Iterate through the array and maintain a deque to store the indices of elements in decreasing order.
Pop elements from the deque if they are out of the current window of size 'K'.
The front of the deque will always have the index of the maximum element in the current window.
ACID properties are a set of properties that guarantee the reliability of transactions in database management systems.
Atomicity ensures that either all operations in a transaction are completed successfully or none of them are. For example, transferring money from one account to another should either be completed in full or not at all.
Consistency ensures that the database remains in a consistent state before and after ...
Write-ahead logging is a technique used in DBMS to ensure that changes are recorded in the log before they are applied to the database.
Write-ahead logging ensures that changes are first written to the log file before being applied to the database to maintain data integrity.
It helps in recovering the database in case of a system crash or failure by replaying the log entries to bring the database back to a consistent sta...
Deadlock avoidance schemes are strategies used to prevent deadlocks in a system.
Banker's algorithm: Ensures that the system will never enter an unsafe state by keeping track of available resources and only granting a request if it does not lead to a deadlock.
Wait-die and Wound-wait: Two deadlock prevention schemes used in transaction processing systems to avoid deadlocks by allowing transactions to wait or abort based ...
A clustered index is a type of index that sorts and stores the data rows in the table based on their key values.
Defines the order in which data is physically stored in a table
Only one clustered index per table
Helps in improving the performance of queries that involve range searches or sorting
Example: Clustered index on a table's primary key
Round duration - 60 minutes
Round difficulty - Easy
This was a 60 minute technical round where the interviewer asked data structure based questions, questions on OOPS and OS concepts.
A virtual function in C++ is a function that is declared within a base class and is redefined by a derived class.
Virtual functions allow a function to be overridden in a derived class.
They are used in polymorphism to achieve runtime binding.
The base class function must be declared as virtual for dynamic binding to occur.
Example: virtual void display() = 0; // pure virtual function
malloc() is used to dynamically allocate memory in C, while free() is used to release allocated memory.
malloc() allocates a block of memory of specified size and returns a pointer to the beginning of the block.
free() deallocates the memory previously allocated by malloc() or calloc().
Example: int *ptr = (int*)malloc(5 * sizeof(int)); // Allocates memory for 5 integers
Example: free(ptr); // Deallocates the memory alloca
Structure padding is the concept of adding empty bytes to a structure to align its data members on memory boundaries.
Structure padding is done to optimize memory access and improve performance.
Padding is necessary because most processors require data to be aligned on specific memory boundaries for efficient access.
For example, if a structure contains a char followed by an int, padding may be added after the char to ali
Round duration - 30 minutes
Round difficulty - Easy
HR based round that lasted for 30 minutes. The interviewer asked question to know more about me.
Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 3 : Do at-least 2 good projects and you must know every bit of them.
Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.
Some of the top questions asked at the Microsoft Corporation Developer interview -
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