Mphasis pvt limited interview experience Real time questions & tips from candidates to crack your interview

Senior Software Engineer

Mphasis pvt limited
upvote
share-icon
3 rounds | 9 Coding problems

Interview preparation journey

expand-icon
Preparation
Duration: 6 months
Topics: Java, Spring Boot, Data Structures, Algorithms, System Design, OOPS
Tip
Tip

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.

Application process
Where: Other
Eligibility: Above 7 CGPA
Resume Tip
Resume tip

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.

Interview rounds

01
Round
Easy
Video Call
Duration60 minutes
Interview date10 Sep 2020
Coding problem4

This was a technical Interview round where I was asked questions related to Java and OOPS concepts.

1. Java Question

What is JIT Compiler?

Problem approach

JIT stands for Just-In-Time. It is used for improving the performance during run time. It does the task of compiling parts of byte code having similar functionality at the same time thereby reducing the amount of compilation time for the code to run. The compiler is basically a translator of source code to machine-executable code.

Working of the JIT Compiler :
1) First, the Java source code (.java) conversion to byte code (.class) occurs with the help of the javac compiler.

2) Then, the .class files are loaded at run time by JVM and with the help of an interpreter, these are converted to machine understandable code.

3) JIT compiler is a part of JVM. When the JIT compiler is enabled, the JVM analyzes the method calls in the .class files and compiles them to get more efficient and native code. It also ensures that the prioritized method calls are optimized.

4) Once the above step is done, the JVM executes the optimized code directly instead of interpreting the code again. This increases the performance and speed of the execution.

2. OOPS Question

Explain SOLID principles in Object Oriented Design.

Problem approach

The 5 SOLID principles are : 
1) Single Responsibility Principle : This principle states that “a class should have only one reason to change” which means every class should have a single responsibility or single job or single purpose.
Use layers in your application and break God classes into smaller classes or modules.
2) Open/Closed Principle : This principle states that “software entities (classes, modules, functions, etc.) should be open for extension, but closed for modification” which means you should be able to extend a class behavior, without modifying it. Using this principle separates the existing code from the modified code so it provides better stability, maintainability and minimizes changes as in your code.
3) Liskov’s Substitution Principle : According to this principle “Derived or child classes must be substitutable for their base or parent classes“. This principle ensures that any class that is the child of a parent class should be usable in place of its parent without any unexpected behavior.
4) Interface Segregation Principle : This principle is the first principle that applies to Interfaces instead of classes in SOLID and it is similar to the single responsibility principle. It states that “do not force any client to implement an interface which is irrelevant to them“. Here your main goal is to focus on avoiding fat interface and give preference to many small client-specific interfaces.
5) Dependency Inversion Principle : Two key points are here to keep in mind about this principle
a) High-level modules/classes should not depend on low-level modules/classes. Both should depend upon
abstractions.
b) Abstractions should not depend upon details. Details should depend upon abstractions.

3. Java Question

What are Java 8 streams?

Problem approach

A stream is a declarative concept for expressing data processing requests. A Stream is a data pipeline that is not connected to Java I/O Streams and represents a succession of data objects and a series of operations on that data. It does not keep any data permanently. java.util.stream.StreamT> is the key interface. Functional Interfaces are accepted, allowing lambdas to be supplied. Streams allow for a fluid user interface or chaining.

4. Java Question

Difference between PermGen and MetaSpace

Problem approach

PremGen: Before Java 8, class metadata was kept in the PremGen (Permanent-Generation) memory type. PremGen has a fixed size and cannot be resized dynamically. It was a Java Heap Memory that was continuous.
MetaSpace: Java 8's 'MetaSpace' holds the MetaData of classes in native memory. Because it is not a contiguous Heap Memory, it can grow dynamically, allowing it to circumvent size limits. This enhances metadata trash collection, auto-tuning, and de-allocation.

02
Round
Medium
Video Call
Duration60 minutes
Interview date10 Sep 2020
Coding problem4

This was a technical Interview round where I was asked questions related to Spring Boot framework and multithreading.

1. Technical Question

What is dependency injection?

Problem approach

The process of injecting dependent bean objects into target bean objects is called dependency injection.
1) Setter Injection: The IOC container will inject the dependent bean object into the target bean object by calling the setter method.
2) Constructor Injection: The IOC container will inject the dependent bean object into the target bean object by calling the target bean constructor.
3) Field Injection: The IOC container will inject the dependent bean object into the target bean object by Reflection API.

2. SpringBoot Question

What does the @SpringBootApplication annotation do internally?

Problem approach

The @SpringBootApplication annotation is equal to using the default characteristics of @Configuration, @EnableAutoConfiguration, and @ComponentScan. Instead of using numerous annotations, Spring Boot allows the developer to use just one. However, as we all know, Spring provides us with loosely linked features that we may employ for each annotation according to our project requirements.

3. Java Question

What Is the Difference Between the Runnable and Callable Interfaces? How Are They Used?

Problem approach

The Runnable interface has a single run method. It represents a unit of computation that has to be run in a separate thread. The Runnable interface does not allow this method to return value or to throw unchecked exceptions.
The Callable interface has a single call method and represents a task that has a value. That's why the call method returns a value. It can also throw exceptions. Callable is generally used in ExecutorService instances to start an asynchronous task and then call the returned Future instance to get its value.

4. SpringBoot Question

What is the default port of tomcat in spring boot?

Problem approach

The default port of the tomcat server-id 8080. It can be changed by adding sever.port properties in the application.property file.

03
Round
Easy
HR Round
Duration30 minutes
Interview date11 Sep 2020
Coding problem1

HR round that lasted for about 30 minutes. The Interviewer asked questions to know more about me and we also dicussed the salary.

1. Basic HR Question

Why do you want to join Mphasis?

Tell me about yourself
 

Problem approach

Tip 1 : Be sure to do your homework on the organization and its culture before the interview.
Tip 2 : Employers want to understand how you use your time and energy to stay productive and efficient. Be sure to emphasize that you adhere to deadlines and take them seriously.
Tip 3 : Talk about a relevant incident that made you keen on the profession you are pursuing and follow up by discussing your education.

Here's your problem of the day

Solving this problem will increase your chance to get selected in this company

Skill covered: Programming

What is the purpose of the return keyword?

Choose another skill to practice
Similar interview experiences
Senior Software Engineer
3 rounds | 12 problems
Interviewed by Mphasis pvt limited
2518 views
0 comments
0 upvotes
Senior Software Engineer
3 rounds | 13 problems
Interviewed by Mphasis pvt limited
1726 views
0 comments
0 upvotes
Senior Software Engineer
1 rounds | 2 problems
Interviewed by Mphasis pvt limited
2001 views
0 comments
0 upvotes
SDE - 1
4 rounds | 5 problems
Interviewed by Mphasis pvt limited
1228 views
0 comments
0 upvotes
Companies with similar interview experiences
company logo
Senior Software Engineer
1 rounds | 6 problems
Interviewed by Arcesium
3793 views
0 comments
0 upvotes
company logo
Senior Software Engineer
3 rounds | 3 problems
Interviewed by Ernst & Young (EY)
5080 views
0 comments
0 upvotes
company logo
Senior Software Engineer
3 rounds | 3 problems
Interviewed by HCL Technologies
3078 views
3 comments
0 upvotes