Microsoft Corporation
Proud winner of ABECA 2024 - AmbitionBox Employee Choice Awards
Filter interviews by
I applied via LinkedIn and was interviewed in Aug 2021. There were 3 interview rounds.
Design a system for managing car parking.
Determine the size and layout of the parking lot.
Decide on the type of parking system (e.g. self-parking, valet).
Implement a ticketing system for tracking cars and payments.
Use sensors or cameras to monitor parking spaces.
Integrate with a payment gateway for online payments.
Provide real-time information on available parking spaces.
Consider implementing a loyalty program for freq
Designing a system for an elevator
Identify the requirements and constraints
Determine the number of floors and elevators needed
Choose the elevator algorithm (e.g. FCFS, SCAN, LOOK)
Design the elevator controller
Consider safety features (e.g. emergency stop, overload protection)
Include user interface (e.g. buttons, displays)
Consider maintenance and repair
Test and optimize the system
A photo-sharing app system design
Use a scalable architecture to handle large amounts of data
Implement a secure authentication and authorization system
Utilize a content delivery network (CDN) for fast image loading
Allow users to tag and categorize photos for easy search and discovery
Implement a notification system for likes, comments, and new followers
I applied via Recruitment Consultant and was interviewed in Mar 2021. There were 3 interview rounds.
Top trending discussions
It was easy
I applied via LinkedIn and was interviewed before Aug 2021. There were 4 interview rounds.
I applied via Recruitment Consultant and was interviewed before May 2020. There were 5 interview rounds.
It was easy level coding problem
I applied via Naukri.com and was interviewed in Aug 2021. There were 3 interview rounds.
Interfaces define a contract for behavior, while abstract classes provide partial implementation.
Interfaces only define method signatures, while abstract classes can have both abstract and concrete methods.
A class can implement multiple interfaces, but can only inherit from one abstract class.
Interfaces are used for loose coupling and flexibility in design.
Abstract classes are used for code reuse and to enforce a commo
SOLID principles are a set of five design principles for writing maintainable and scalable code.
Single Responsibility Principle (SRP) - a class should have only one reason to change
Open-Closed Principle (OCP) - a class should be open for extension but closed for modification
Liskov Substitution Principle (LSP) - subtypes should be substitutable for their base types
Interface Segregation Principle (ISP) - clients should n...
Extension methods are static methods that allow adding new functionality to existing types without modifying the original type.
Extension methods are defined in a static class.
They must be declared with the 'this' keyword before the first parameter.
They can be called as if they were instance methods of the extended type.
Extension methods can be used to add functionality to built-in types or custom types.
Example: adding ...
No, C# does not support multiple inheritance.
C# only supports single inheritance, where a class can inherit from only one base class.
However, C# does support multiple interface inheritance, where a class can implement multiple interfaces.
This is achieved using the 'interface' keyword instead of 'class'.
Routing in MVC is done through the use of routes, which map URLs to controller actions.
Routes are defined in the RouteConfig.cs file in the App_Start folder
Routes consist of a URL pattern and a corresponding controller action
Routes can also include optional parameters and constraints
Routing is done through the use of the ASP.NET routing engine
Routing can be customized by creating custom route handlers
Filters in MVC are used to intercept and modify HTTP requests and responses.
Filters can be used to implement authentication and authorization.
They can also be used for caching and logging.
Examples of filters include AuthorizationFilter, ActionFilter, and ExceptionFilter.
Virtual keyword is used to declare a method in a base class that can be overridden in a derived class. Override keyword is used in the derived class to override the implementation of the virtual method.
Virtual keyword is used in the base class to declare a method that can be overridden in the derived class
Override keyword is used in the derived class to override the implementation of the virtual method
Virtual methods p...
Indexes in SQL are used to improve the performance of queries by allowing faster data retrieval.
Indexes are created on one or more columns of a table.
They work like a book index, allowing the database to quickly find the data.
Indexes can be clustered or non-clustered.
Clustered indexes determine the physical order of data in a table.
Non-clustered indexes create a separate structure to store the index data.
Indexes should...
Stored procedures are used to perform a set of actions, while functions return a single value.
Stored procedures are precompiled and stored in the database, while functions are compiled at runtime.
Functions can be used in SQL statements, while stored procedures cannot be used in SQL statements.
Functions can be called from within stored procedures, but stored procedures cannot be called from within functions.
Dependency injection is a design pattern used to remove hard-coded dependencies and make code more modular and testable.
Dependency injection involves injecting dependencies into a class rather than having the class create them itself.
This allows for easier testing and swapping out of dependencies.
There are three types of dependency injection: constructor injection, setter injection, and interface injection.
Examples of ...
Singleton design pattern restricts the instantiation of a class to a single instance and provides a global point of access to it.
Used when only one instance of a class is required throughout the system
Provides a global point of access to the instance
Implemented using a private constructor, static method, and static variable
Example: Logger class in Java
Dependency injection is a design pattern that allows objects to receive dependencies from external sources rather than creating them internally.
Dependency injection helps to decouple components and make them more reusable and testable.
There are three types of dependency injection: constructor injection, setter injection, and interface injection.
Example: Instead of creating a database connection object inside a class, w...
Singleton design pattern restricts the instantiation of a class to a single instance and provides a global point of access to it.
Used when only one instance of a class is required throughout the system
Provides a global point of access to the instance
Implemented using a private constructor, static method, and static variable
Example: Logger class, Database connection class
based on 26 reviews
Rating in categories
Software Engineer
1.9k
salaries
| ₹13 L/yr - ₹50 L/yr |
Senior Software Engineer
1k
salaries
| ₹25 L/yr - ₹95 L/yr |
Software Engineer2
979
salaries
| ₹20 L/yr - ₹72 L/yr |
Consultant
611
salaries
| ₹13 L/yr - ₹42 L/yr |
Support Engineer
586
salaries
| ₹7.5 L/yr - ₹30 L/yr |
Amazon
Deloitte
TCS