i
Mphasis
Filter interviews by
Microservices design pattern involves breaking down a large application into smaller, independent services.
Each microservice is responsible for a specific function or feature
Communication between microservices is typically done through APIs
Microservices can be deployed independently, allowing for easier scalability and maintenance
Examples include Netflix (uses microservices for different functionalities like recom...
Hive & Spark optimization techniques
Use partitioning and bucketing in Hive to reduce data scanning
Use broadcast join and shuffle partitioning in Spark to optimize performance
Use caching and persisting in Spark to reuse data in memory
Use dynamic allocation and executor memory management in Spark to optimize resource utilization
Given a long type array/list ARR
of size N
, representing an elevation map where ARR[i]
denotes the elevation of the ith
bar, calculate the total amount of rainwater th...
Calculate the total amount of rainwater that can be trapped in given elevation map.
Iterate through the array to find the maximum height on the left and right of each bar.
Calculate the amount of water that can be trapped above each bar by taking the minimum of the maximum heights on the left and right.
Sum up the trapped water above each bar to get the total trapped water for the entire elevation map.
Memory protection in operating systems is a feature that prevents a process from accessing memory that has not been allocated to it.
Memory protection helps prevent one process from interfering with the memory of another process.
It ensures that each process can only access memory that has been allocated to it.
Examples of memory protection mechanisms include segmentation and paging.
Segmentation divides memory into s...
What people are saying about Mphasis
Views in SQL are virtual tables that are generated based on the result set of a SELECT query.
Views are not stored physically in the database, but are dynamically generated when queried.
They can be used to simplify complex queries by encapsulating logic and joining multiple tables.
Views can also be used to restrict access to certain columns or rows of a table.
Example: CREATE VIEW vw_employee AS SELECT emp_id, emp_n...
Profiles in Spring Boot allow for different configurations to be applied based on the environment or specific needs.
Profiles can be used to define different sets of configurations for different environments such as development, testing, and production.
By using profiles, you can easily switch between configurations without changing the code.
Profiles are typically defined in application.properties or application.yml...
Normalization is needed in a database to reduce data redundancy, improve data integrity, and optimize database performance.
Eliminates data redundancy by breaking down data into smaller tables
Reduces update anomalies and inconsistencies in data
Improves data integrity by enforcing relationships between tables
Optimizes database performance by reducing storage space and improving query efficiency
Access specifiers in Java control the visibility of classes, methods, and variables.
There are four access specifiers in Java: public, protected, default (no specifier), and private.
Public: accessible from any other class.
Protected: accessible within the same package or subclasses.
Default: accessible only within the same package.
Private: accessible only within the same class.
Bootstrap program is the initial code that runs when a computer is powered on, loading the operating system into memory.
Bootstrap program is stored in ROM or firmware.
It initializes the system hardware and loads the operating system kernel into memory.
Examples include BIOS in PCs and UEFI in modern systems.
Microservices design is characterized by modularity, independence, scalability, and resilience.
Modularity: Microservices are designed as independent modules that can be developed, deployed, and scaled separately.
Independence: Each microservice operates independently and communicates with other services through APIs.
Scalability: Microservices allow for scaling specific components of an application based on demand.
R...
Design patterns are reusable solutions to common problems in software design.
Design patterns help in creating flexible, maintainable, and scalable software.
Some common design patterns include Singleton, Factory, Observer, Strategy, and Decorator.
Singleton pattern ensures a class has only one instance and provides a global point of access to it.
Factory pattern creates objects without specifying the exact class of object...
Delegates are type-safe function pointers in C# used for implementing callbacks. async/await is used for asynchronous programming in C#.
Delegates in C# are similar to function pointers in C or C++. They allow methods to be passed as parameters to other methods.
Async/await in C# is used for asynchronous programming, allowing methods to run asynchronously without blocking the main thread.
Delegates can be used with async/...
An interceptor is a design pattern commonly used in software development to capture and manipulate requests and responses.
Interceptors can be used for logging, authentication, authorization, caching, error handling, etc.
In Angular, interceptors can be used to modify HTTP requests before they are sent and responses before they are received.
In Spring framework, interceptors can be used to intercept client requests and se...
Authentication is the process of verifying the identity of a user or system.
Authentication involves confirming the identity of a user through credentials such as passwords, biometrics, or security tokens.
Common methods of authentication include single-factor authentication (e.g. password) and multi-factor authentication (e.g. password + SMS code).
Authentication can be achieved through protocols like OAuth, OpenID, SAML...
I applied via Naukri.com and was interviewed in Jun 2024. There was 1 interview round.
Handle exceptions globally in Springboot REST API
Use @ControllerAdvice annotation to define global exception handling for all controllers
Create a class annotated with @ControllerAdvice and define methods to handle specific exceptions
Use @ExceptionHandler annotation to specify which exceptions the method should handle
Return appropriate HTTP status codes and error messages in the exception handling methods
Microservices design pattern involves breaking down a large application into smaller, independent services.
Each microservice is responsible for a specific function or feature
Communication between microservices is typically done through APIs
Microservices can be deployed independently, allowing for easier scalability and maintenance
Examples include Netflix (uses microservices for different functionalities like recommenda...
Use Java Stream API to apply a 10% salary hike for employees with over 5 years of experience.
Use a List<Employee> to store employee data.
Filter employees with experience > 5 years using stream().filter().
Map the filtered employees to update their salary by multiplying with 1.1.
Collect the results back into a List using collect(Collectors.toList()).
Example: employees.stream().filter(e -> e.getExperience() &g...
Map method transforms each element in a stream, while flatMap method transforms each element into a stream and then flattens the result.
Map method applies a function to each element in the stream and returns a new stream with the transformed elements.
FlatMap method applies a function that returns a stream for each element in the original stream, then flattens these streams into a single stream.
Example: Using map to con...
Handling customized exceptions in controller advice with example code
Create a custom exception class that extends RuntimeException
Create a controller advice class to handle exceptions globally
Use @ExceptionHandler annotation in the controller advice class to handle specific exceptions
Return a custom error response with appropriate status code and message
The @SpringBootApplication annotation includes @Configuration, @EnableAutoConfiguration, and @ComponentScan annotations.
Includes @Configuration annotation to specify that the class can be used by the Spring IoC container as a source of bean definitions.
Includes @EnableAutoConfiguration annotation to enable Spring Boot's auto-configuration feature.
Includes @ComponentScan annotation to specify the base packages to scan f...
I applied via Approached by Company and was interviewed in Jul 2024. There was 1 interview round.
Java program to count the number of repeated characters in a string
Create a HashMap to store characters and their counts
Iterate through the string and update the counts in the HashMap
Print the characters with counts greater than 1
Cucumber architecture is a testing framework that supports Behavior Driven Development (BDD) by allowing tests to be written in plain language.
Cucumber uses Gherkin syntax to define test cases in a human-readable format
It separates the test logic from the test data using feature files and step definitions
Cucumber integrates with various programming languages like Java, Ruby, and JavaScript
It allows collaboration betwee...
Feature file for login page
Create a feature file named 'login.feature'
Define a scenario for successful login
Define a scenario for unsuccessful login
Include steps like entering username, password, clicking login button
Use Given-When-Then format for scenarios
I applied via Recruitment Consulltant and was interviewed in Aug 2024. There was 1 interview round.
To avoid concurrent modification exception, use synchronized blocks or data structures like ConcurrentHashMap.
Use synchronized blocks to ensure only one thread can modify the data at a time
Use data structures like ConcurrentHashMap which are designed to handle concurrent modifications
Consider using immutable objects to prevent modification conflicts
Using stream API for coding questions
Use stream() method to convert a collection into a Stream
Use filter() method to filter elements based on a condition
Use map() method to transform elements into another form
Use collect() method to collect the elements into a new collection
I applied via Naukri.com and was interviewed in Jul 2024. There was 1 interview round.
Using Java 8, filter names starting with 'A' and in department 2 and add them to a new list.
Use Java 8 stream to filter names starting with 'A' and in department 2
Collect the filtered names into a new list
Transactional annotation in software engineering is used to manage database transactions.
Transactional annotation ensures that a group of operations are treated as a single unit of work.
It helps in maintaining data integrity by either committing all changes or rolling back if an error occurs.
Examples include @Transactional in Spring framework and @Transaction in Java EE.
I appeared for an interview before May 2019, where I was asked the following questions.
The Suit CRM folder structure organizes components, services, and assets for efficient development and maintenance of the application.
src/components: Contains reusable UI components like buttons, forms, and modals, promoting modularity.
src/services: Houses API service files for handling data fetching and business logic, such as user authentication.
src/assets: Stores static files like images, fonts, and stylesheets, ens...
To add a column to a MySQL table, use the ALTER TABLE statement followed by ADD COLUMN.
Use the syntax: ALTER TABLE table_name ADD COLUMN column_name column_type;
Example: ALTER TABLE employees ADD COLUMN birthdate DATE;
You can add multiple columns at once: ALTER TABLE employees ADD COLUMN address VARCHAR(255), ADD COLUMN phone_number VARCHAR(15);
Ensure you have the necessary permissions to modify the table structure.
I applied via Job Portal and was interviewed in Aug 2024. There was 1 interview round.
Java JVM stands for Java Virtual Machine, which is a virtual machine that enables a computer to run Java programs.
Java JVM is a virtual machine that interprets Java bytecode and executes it on the underlying hardware.
It provides platform independence by abstracting the hardware and operating system details.
JVM manages memory, garbage collection, and runtime environment for Java programs.
Examples of JVM implementations ...
Encapsulation is the concept of bundling data and methods that operate on the data into a single unit.
Encapsulation helps in hiding the internal state of an object and restricting access to it.
It allows for data hiding, which prevents outside code from directly accessing an object's internal state.
Encapsulation also helps in achieving data abstraction, where the internal details of an object are hidden and only the nec...
I applied via Approached by Company and was interviewed in Mar 2024. There was 1 interview round.
Linux architecture is a layered system with kernel at the core, followed by system libraries, utilities, and user interface.
Linux architecture consists of the kernel, which is the core component responsible for managing hardware resources and providing essential services.
Above the kernel are system libraries, which provide additional functionalities to applications and help in interacting with the kernel.
Utilities in L...
I manage servers using automation tools like Ansible and monitoring tools like Nagios.
Utilize automation tools like Ansible to provision and configure servers
Implement monitoring tools like Nagios to track server performance and uptime
Regularly update software and security patches to ensure server stability
Implement backup and disaster recovery plans to prevent data loss
Utilize cloud services like AWS or Azure for scal...
File management commands are used to interact with files and directories on a computer system.
ls - list files and directories in the current directory
cd - change directory
mkdir - create a new directory
rm - remove files or directories
cp - copy files or directories
mv - move files or directories
touch - create a new file
chmod - change file permissions
Commands related to process management include ps, top, kill, and nice.
ps - displays information about currently running processes
top - provides a dynamic real-time view of a running system
kill - terminates a process by sending a signal to its PID
nice - sets the priority of a process
ASP.NET Core is a cross-platform, high-performance framework for building modern, cloud-based, internet-connected applications.
Cross-platform framework for building web applications
High-performance and scalable
Supports cloud-based and internet-connected applications
Web API is a set of rules and protocols that allow different software applications to communicate with each other over the internet.
Web API stands for Application Programming Interface for web-based systems.
It allows different software applications to interact with each other over the internet.
Web APIs use HTTP protocols to enable communication between systems.
Examples of web APIs include RESTful APIs, SOAP APIs, and G...
Some of the top questions asked at the Mphasis Senior Software Engineer interview -
The duration of Mphasis Senior Software Engineer interview process can vary, but typically it takes about less than 2 weeks to complete.
based on 33 interview experiences
Difficulty level
Duration
based on 516 reviews
Rating in categories
Software Engineer
6.7k
salaries
| ₹2 L/yr - ₹11.1 L/yr |
Senior Software Engineer
5.9k
salaries
| ₹6 L/yr - ₹25 L/yr |
Associate Software Engineer
4.9k
salaries
| ₹2 L/yr - ₹5.6 L/yr |
Module Lead
2.5k
salaries
| ₹9.5 L/yr - ₹37 L/yr |
Transaction Processing Officer
2.3k
salaries
| ₹1 L/yr - ₹4.5 L/yr |
Cognizant
Wipro
Accenture
TCS