Mphasis Interview Questions for .NET Developer: Fresher Guide 2026
Clear Mphasis's AMCAT test, group discussion, technical round and HR round with the exact topics asked. Practice the C#, OOP, SQL, LINQ, and EF Core questions from this post. Read the 24-month bond terms before you sign and follow a 30-day prep plan to pass.
Mphasis hires .NET freshers through an AMCAT online test, an optional group discussion, a technical interview and an HR round. The technical interview runs 20-30 minutes (placementpreparation.io), and that round decides most offers for .NET freshers. Ask for the second-highest salary with ROW_NUMBER and, when two people tie, you return the wrong answer. This post walks through that tie bug with traced code. The round structure and the general topics (OOP, SQL, DSA) come from reported Mphasis interviews, while the .NET-specific topics are inferred from standard fresher scope, because Mphasis publishes no .NET syllabus.
To clear the Mphasis .NET fresher process, pass the AMCAT test, then be ready to write C#, SQL and basic DSA code by hand. The technical interview covers OOP, SQL, DSA and your project, and for .NET roles you should also prepare ASP.NET Core, MVC, LINQ and EF Core. HR then confirms the salary and the 24-month training bond (source).
Mphasis fresher process has four elimination rounds
The full process has 4-5 elimination rounds, according to placementpreparation.io's recruitment page. A candidate who fails one round is out.
Glassdoor users rate Mphasis interviews 2.79 out of 5 for difficulty, which is a single rating and not a guide to how hard your own round will be, and the AMCAT cutoff still eliminates many candidates. This is a second-hand figure, as reported by placementpreparation.io.
You do not need a campus drive to apply. Mphasis off-campus drives are open to batches from 2024 through 2026, with roles such as Jr. Trainee in Pune and Technical Support Engineer across India (freshersnow.com). If you are applying on your own, read my off-campus placement guide first. For other options, see the companies hiring freshers in 2026.
AMCAT online test
Aptitude, verbal and programming MCQs, sometimes a coding section.
Group discussion
Optional. Some drives skip it.
Technical interview
OOP, SQL, DSA and your project, often with code on paper.
HR interview
Fit, career goals, salary and the training bond.
Clear the AMCAT online test
The AMCAT test measures logical reasoning, quantitative aptitude, verbal ability and basic programming in about 120 minutes, with no negative marking (placementpreparation.io). Here is the approximate split.
| Section | Approx. questions | What it checks, in plain words |
|---|---|---|
| Logical reasoning | About 25 | Can you spot patterns, sequences and rules? |
| Quantitative aptitude | About 25 | School maths: percentages, ratios, time and work. |
| Verbal ability | About 25 | Grammar, vocabulary and reading a passage quickly. |
| Computer programming | About 20 | Reading code, predicting output, basic data structures. |
| Total | About 120 minutes, no negative marking (source) | |
Some drives add a coding round of 2 problems in 45 minutes. The allowed languages are C, C++, Java or Python, per the same page. C# is not on that list. If .NET is your main stack, the plan is simple: practise basic array and string problems in Java or Python for the AMCAT coding section, and keep C# for the interview. Check the language list on your own test invite, because it can differ by drive. Java is the closer pick, since its syntax is near C#.
There is no negative marking, so answer every question. A wrong guess costs you nothing. A blank answer can only cost you.
Prepare for the group discussion round
The group discussion is optional and not used in every drive, so prepare for it briefly and spend most of your time on the technical round.
Evaluators watch three things: whether you speak clearly, whether you listen, and whether you stay on the topic. Volume does not win.
- Do open with one clear point, then build on what others said.
- Do use names: "Building on Priya's point…" shows you listened.
- Don't interrupt or repeat your own point louder.
- Don't drift into a topic you happen to know well.
Answer C# and OOP questions with code
Expect the four OOP pillars and abstract class vs interface, and be ready to write a short C# snippet that shows the difference.
Learn the pillars in pairs, because they are easier to explain together:
- Encapsulation and abstraction. Encapsulation hides data inside a class behind methods. Abstraction shows only what a caller needs and hides how it works.
- Inheritance and polymorphism. Inheritance lets a class reuse another class's code. Polymorphism lets one method call behave differently for different types.
Definitions alone sound memorised. A small program shows you understand. Write this one until you can do it without looking:
var dev = new Developer("Asha");
dev.PrintBadge();
Console.WriteLine(dev.Role());
Console.WriteLine(dev.Review());
public interface IReviewable
{
string Review();
}
public abstract class Employee
{
protected string Name;
protected Employee(string name)
{
Name = name;
}
public void PrintBadge()
{
Console.WriteLine($"Badge: {Name}");
}
public abstract string Role();
}
public class Developer : Employee, IReviewable
{
public Developer(string name) : base(name) { }
public override string Role() => "Developer";
public string Review() => $"{Name} passed code review";
}
Trace it line by line:
new Developer("Asha")calls the base constructor, which stores "Asha" in the sharedNamefield.PrintBadge()is a concrete method from the abstract class. It printsBadge: Asha.Role()was abstract, soDeveloperhad to override it. It printsDeveloper.Review()comes from the interface contract. It printsAsha passed code review.
| Point | Abstract class | Interface |
|---|---|---|
| Constructors | Yes | No |
| Instance fields | Yes, shared state | No |
| How many can a class use? | Only one | Many |
| When to use | Related classes that share code | A contract that unrelated classes can sign |
Since C# 8, interfaces can have default method bodies, but they still cannot hold instance fields, so the table above shows the classic rule. Mention that if asked, and check the Microsoft Learn page on interfaces for the exact rules.
Mphasis question lists also include C topics. Unstop and PrepInsta both list struct vs union and 2D arrays. A .NET fresher should still know them. A struct keeps each of its members in its own memory, while a union makes all its members share one block, so only one member is valid at a time. My guide to fresher interview rounds in India explains why these basics come up in almost every technical round.
ASP.NET Core, MVC, LINQ and EF questions
For the .NET track, interviewers ask what MVC separates, how ASP.NET Core handles a request, and how LINQ and Entity Framework replace hand-written SQL.
- Model
- The data and the rules about it, such as an
Employeeclass. - View
- The page the user sees, built from the model.
- Controller
- The class that receives a request, talks to the model and picks a view.
- Middleware
- Code that each request passes through in order, for example logging or authentication, before it reaches the controller.
- Dependency injection
- The framework creates the objects a class needs and passes them in, so the class does not create them itself.
Next, write a LINQ query on a plain list:
var employees = new List<Employee>
{
new("Ravi", "IT"),
new("Asha", "IT"),
new("Meera", "HR")
};
var itNames = employees
.Where(e => e.Department == "IT")
.OrderBy(e => e.Name)
.Select(e => e.Name)
.ToList();
public record Employee(string Name, string Department);
Trace: Where keeps Ravi and Asha and drops Meera. OrderBy sorts them, so Asha comes first. Select keeps only the names. The result is ["Asha", "Ravi"].
Entity Framework Core runs the same idea against a database:
public class AppDbContext : DbContext
{
public DbSet<Employee> Employees => Set<Employee>();
}
var itNames = await db.Employees
.Where(e => e.Department == "IT")
.OrderBy(e => e.Name)
.Select(e => e.Name)
.ToListAsync();
Here the filter does not run in C#. EF Core turns the expression into SQL, sends it to the database, and ToListAsync waits for the rows without blocking the thread. The SQL looks roughly like this:
SELECT e.Name
FROM Employees AS e
WHERE e.Department = N'IT'
ORDER BY e.Name;
That one point answers the common question "How is LINQ to EF different from LINQ on a list?" The EF Core documentation covers DbContext setup if you want to run this yourself.
Write the second-highest salary query in SQL
The classic SQL task is the second-highest salary, and ROW_NUMBER or DENSE_RANK solves it in a few lines.
CREATE TABLE Employees (Name VARCHAR(50), Salary INT);
INSERT INTO Employees VALUES
('Asha', 90000), ('Ravi', 90000), ('Meera', 75000), ('John', 60000);
WITH Ranked AS (
SELECT Name, Salary,
ROW_NUMBER() OVER (ORDER BY Salary DESC) AS rn
FROM Employees
)
SELECT Salary FROM Ranked WHERE rn = 2;
Trace it on the sample data. ROW_NUMBER sorts by salary, highest first, and numbers each row. Asha gets rank one and Ravi gets rank two. The query returns Ravi's salary, which is the highest salary again. That is the wrong answer.
The problem is the tie. ROW_NUMBER never gives two rows the same number. Switch to DENSE_RANK:
WITH Ranked AS (
SELECT Salary,
DENSE_RANK() OVER (ORDER BY Salary DESC) AS rnk
FROM Employees
)
SELECT DISTINCT Salary FROM Ranked WHERE rnk = 2;
Now Asha and Ravi share rank one, and Meera gets rank two. The query returns Meera's salary, the true second highest. Explain this tie problem out loud in the interview. It shows you tested your query, not just memorised it. The DENSE_RANK reference on Microsoft Learn has more examples.
An older answer also works, and interviewers accept it:
SELECT MAX(Salary) FROM Employees
WHERE Salary < (SELECT MAX(Salary) FROM Employees);
Other DBMS topics to revise:
- Inner, left and right joins, with a small example of each.
- Primary key vs foreign key.
- Normalization up to third normal form.
- DELETE vs TRUNCATE: DELETE removes chosen rows and can use WHERE; TRUNCATE empties the whole table.
For DSA, practise arrays, strings and 2D arrays. Write a palindrome check and a reverse-a-string function by hand, without the built-in reverse method.
Know the HR round and the 24-month bond
The HR round takes 15-20 minutes, covers cultural fit and career goals, and confirms a 24-month training agreement with a penalty of around ₹1,00,000 for leaving early (placementpreparation.io). The same page puts the Associate Software Engineer CTC at about ₹4,00,000 per year, or ₹3.5-4.0 LPA.
Pros
- Paid training and a structured start in a real company.
- Two years of experience on your CV, which makes the next switch easier.
Cons
- A large penalty if a better offer comes early.
- You may not choose your stack, so .NET is not guaranteed.
The bond amount comes from one prep site and may differ by drive, so treat it as a rough figure. Read the agreement before you sign it. Ask HR for the exact penalty amount and conditions in writing My own view: if this is your only offer, the bond is a fair trade. If you hold a stronger offer, compare the two before signing anything.
Likely HR questions, with an approach for each:
- "Tell me about yourself." Education, one project, one skill, and why this role. See how to answer it as a fresher.
- "Why Mphasis?" Name something specific from their careers page, not "good company". A model answer: "I want to start on real client projects with paid training, and I can already write C# and SQL from my final-year project."
- "Are you okay with relocation?" Answer honestly; a yes you later take back hurts more.
- "Will you sign the training agreement?" Say yes if you mean it, and ask your penalty question here.
Follow a 30-day prep plan
Split thirty days into aptitude and AMCAT practice, C# and OOP, SQL and DSA, then mock interviews and HR preparation.
Week one: aptitude and AMCAT
Each day, do one timed set of reasoning, quant and verbal questions. Add programming MCQs on output prediction.
Week two: C#, OOP, ASP.NET Core, MVC
Write the abstract class and interface program daily. Build a tiny MVC app with one controller and one view.
Week three: LINQ, EF, SQL, DSA
Run the LINQ and EF Core queries. Write the salary queries and a few array and string problems each day.
Week four: mocks and HR
Do mock interviews with a friend. Practise a two-minute project explanation and your HR answers out loud.
Common mistakes
- Memorising answers without running the code. One follow-up question exposes this.
- Ignoring your own project. Interviewers ask about it, and "my teammate did that part" ends the round.
- Skipping the bond terms. Read them before you sign, not after you get a better offer.
Start today. Do one timed AMCAT practice set first, because that test removes candidates before anyone reads your code. Then open SQL Server, create the sample Employees table, and write the ROW_NUMBER second-highest-salary query from memory. Run it, fix any error, then switch it to DENSE_RANK and see the tie change the result. After that, begin day one of the thirty-day plan.