Mphasis Data Analytics Interview Questions & Answers
Curated interview practice questions with answers. These are practice scenarios, not a verified list of past interview questions.
About Mphasis hiring for Data Analytics roles
Mphasis is an Indian IT services company, majority-owned by Blackstone, providing cloud, application, testing, data and cognitive services. It has a strong presence in banking, financial services and insurance clients. In India it hires for software engineers, test engineers, data analysts and data engineers, often for BFSI-focused projects.
For Data Analytics roles, this Mphasis practice set focuses most on SQL (9), Excel (6), Power BI (4), Dashboards and KPIs (4). It has 18 easy, 21 medium, 1 hard questions, so you can start easy and work up to the harder ones.
Company type
IT services
Headquarters
Bengaluru, India
Main India offices
Bengaluru, Pune, Chennai
Mphasis Data Analytics interview process
Online assessment (aptitude + reasoning)
Coding test
Technical interview
HR round
Typical pattern based on public candidate experiences. Rounds vary by role, team and year.
Solved for MphasisStart practicing
3 QUESTIONS FREESign up to unlock the full question bank and track your progress.Unlock every question and answer, then continue practising company-wise and package-wise.
A simple structure is context, conflict, resolution. Context sets up what the audience already knows, such as our target was 10 percent growth. Conflict shows the surprising finding or problem, such as growth is only 3 percent because repeat buyers dropped. Resolution gives the recommendation and expected impact. Another option is situation, complication, question, answer. Either way, the audience should know the main message within the first minute.
02
Write SQL to find the number of days between each customer's consecutive orders and their average gap.
WITH gaps AS (
SELECT customer_id,
order_date,
order_date - LAG(order_date) OVER (
PARTITION BY customer_id ORDER BY order_date) AS days_since_prev
FROM orders
)
SELECT customer_id,
COUNT(*) AS orders,
AVG(days_since_prev) AS avg_gap_days
FROM gaps
GROUP BY customer_id
HAVING COUNT(*) > 1;
-- order_date is DATE (PostgreSQL); use DATEDIFF in other databases
03
Difference between a CTE, a subquery and a temp table?
A subquery is inline; a CTE is a named, readable block for one statement; a temp table is physically stored for the session and can be indexed and reused.
04
How does the FILTER function work in Excel? Write a formula to list all North region orders.
-- A2:D500 holds Order, Customer, Region, Amount
=FILTER(A2:D500, C2:C500="North", "No orders")
-- two conditions (AND) multiply the tests
=FILTER(A2:D500, (C2:C500="North")*(D2:D500>10000), "No orders")
-- OR conditions add the tests
=FILTER(A2:D500, (C2:C500="North")+(C2:C500="East"))
05
What is the difference between COUNT(*), COUNT(column) and COUNT(DISTINCT column)?
COUNT(*) counts all rows, including rows with NULLs. COUNT(column) counts only rows where that column is not NULL. COUNT(DISTINCT column) counts unique non-null values. For example, in an orders table, COUNT(*) gives number of orders, COUNT(coupon_code) gives orders that used a coupon, and COUNT(DISTINCT customer_id) gives number of unique buyers. Mixing these up is a common source of wrong KPIs.
Build PivotTables from a clean table, add PivotCharts and slicers, link KPIs with formulas, and refresh from Power Query so everything updates together.
07
What is the difference between a calculated table in DAX and a table created in Power Query?
A Power Query table is built during data refresh using M, before data enters the model, and is compressed like any imported table. A DAX calculated table is computed after load from other model tables, using functions such as CALENDAR, SUMMARIZE or DISTINCT. Prefer Power Query for shaping and cleaning source data. Use calculated tables for model-dependent needs, such as a date table from existing data or a small what-if table.
08
How can a chart mislead even when the numbers are correct?
Common tricks are a truncated y-axis on bar charts, which exaggerates small differences; inconsistent scales across side-by-side charts; dual axes chosen to imply a correlation; cherry-picked time windows; cumulative charts that always rise; and area or 3D effects that distort size. Bars should start at zero, while line charts may zoom in if clearly labelled. Always check that the visual impression matches the actual magnitude.
Readers scan from the top-left, so place the most important KPIs as cards across the top, then trend charts, then breakdowns and detail tables at the bottom. Group related visuals, align them on a grid and keep consistent spacing, fonts and colours. Put filters in one consistent place. Limit a page to roughly five to eight visuals that answer related questions, and give the page a clear title stating its purpose.
10
Your pandas script shows SettingWithCopyWarning and a new column does not update. What is happening and how do you fix it?
It warns that you may be modifying a temporary copy of a slice, so the change might not reach the original DataFrame, for example df[df.sales > 0]['flag'] = 1. Avoid it by using a single loc call, df.loc[df.sales > 0, 'flag'] = 1, or by calling .copy() when you intentionally create a new subset. Newer pandas versions with copy-on-write make behaviour more predictable, but clear loc assignments remain best practice.
11
Tell me about a time you disagreed with your manager about how to measure something.
Situation: my manager wanted to report average resolution time for support tickets. Task: I felt a few very old tickets distorted the average. Action: I prepared a quick comparison showing mean versus median and the percentage resolved within 24 hours, and explained why the median was more representative. Result: we agreed to show median and the 24-hour rate, keeping the mean in a tooltip, and the team stopped chasing misleading spikes.
12
How do you create a dual-axis chart in Tableau, for example sales bars with a profit margin line?
Drag Order Date to Columns as a continuous or discrete month, put Sales on Rows, then drag Profit Ratio to Rows next to it. Right-click the second pill and choose Dual Axis. On the Marks card set Sales to Bar and Profit Ratio to Line. Decide whether to synchronise axes: do not synchronise when units differ, like rupees and percentage. Label the axes clearly so readers know which is which.
13
Write SQL to find the top 3 products by revenue within each category.
WITH ranked AS (
SELECT category,
product,
SUM(amount) AS revenue,
DENSE_RANK() OVER (
PARTITION BY category
ORDER BY SUM(amount) DESC
) AS rnk
FROM sales
GROUP BY category, product
)
SELECT category, product, revenue
FROM ranked
WHERE rnk <= 3
ORDER BY category, rnk;
14
What does value_counts do in pandas, and how do you show percentages instead of counts?
value_counts returns how many times each unique value appears in a Series, sorted from most to least frequent. It is a quick way to check category distribution or spot typos. Pass normalize=True to get proportions, then multiply by 100 for percentages, for example df['city'].value_counts(normalize=True).mul(100).round(1). Use dropna=False to include missing values, which are excluded by default and are often important.
15
Tell me about a time you retired or consolidated reports that nobody used.
Situation: our team maintained over 60 scheduled reports and spent two days a month fixing them. Task: reduce the load without upsetting users. Action: I checked usage logs, listed reports not opened in 90 days, contacted owners and merged overlapping ones into four dashboards with filters. I archived the rest with a 30-day notice. Result: we retired 38 reports, only two were requested back, and maintenance time halved.
Tableau Prep is a visual tool for cleaning and shaping data before analysis. You build a flow of steps: connect inputs, clean fields, split columns, group similar values, pivot, join, union and aggregate, and see the data change at every step. The output can be an extract or published data source that dashboards use. It suits analysts who need repeatable preparation without writing SQL or Python.
loc selects by labels: row index labels and column names, for example df.loc[df['city'] == 'Pune', ['name', 'sales']]. iloc selects by integer position, for example df.iloc[0:5, 0:3] for the first five rows and three columns. With loc, slices include the end label; with iloc, the end position is excluded like normal Python. Use loc for readable filtering and iloc when position matters.
RAG means red, amber, green, a traffic-light status that shows at a glance whether a KPI is on track. Thresholds should be agreed with the business owner in advance, for example green at or above 100 percent of target, amber from 90 to 99 percent, red below 90 percent. Do not rely only on colour; add icons or text for colour-blind users, and avoid so many reds that nobody reacts.
A fact table stores measurable events at a defined grain, such as one row per order line, with numeric measures like quantity and amount plus foreign keys. Dimension tables describe the context of those events: customer, product, store and date, with descriptive attributes used for filtering and grouping. Facts are long and grow quickly; dimensions are wider and smaller. Together they form star or snowflake schemas.
25
A query on a 2-billion-row fact table in a cloud warehouse scans the whole table even when you filter one week. How do you fix it?
Partition the table by date so the engine can prune partitions outside the filtered week, and cluster or sort by frequently filtered columns such as store or customer. Make sure the filter is on the partition column directly, not wrapped in a function like CAST or DATE_TRUNC that blocks pruning. Select only needed columns, because storage is columnar. For dashboards, also consider a pre-aggregated daily summary table.
A pivot table summarises large data by dragging fields into rows, columns, values and filters — for example total sales by region and month — without writing formulas.
27
What is the difference between sets and groups in Tableau?
A group combines dimension members into higher-level categories, such as merging small states into Others; it is static and each member belongs to one group. A set splits members into In and Out based on a selection or condition, such as top 10 customers by sales, and can be dynamic and recalculate with data. Sets can be combined, used in calculations and changed by set actions, making them more powerful for interactive analysis.
Regression to the mean means extreme results tend to be followed by more average results, simply because part of the extreme was luck. For example, if you pick the 10 worst-performing stores this quarter and give them a training programme, many will improve next quarter even without training. To claim the programme worked, compare them with similar low performers who did not get it.
Variance is the average squared distance of values from their mean; standard deviation is its square root, in the same units as the data. They measure spread. Two stores may both average 50,000 rupees daily, but one with a standard deviation of 2,000 is stable while one with 20,000 is volatile. For samples, divide by n minus 1 instead of n to get an unbiased estimate.
Row context evaluates one row at a time (calculated columns); filter context is the set of filters from slicers, visuals and relationships that a measure sees.
32
What is columnar storage and why do analytical warehouses use it?
Columnar storage keeps all values of one column together on disk instead of storing full rows together. Analytical queries usually read a few columns across millions of rows, so the engine reads only those columns. Similar values sit side by side and compress very well, which cuts storage and scan cost. The trade-off is slower single-row inserts and updates, which is why OLTP databases stay row-based.
33
What is the difference between a live connection and an extract in Tableau?
A live connection queries the source database every time a user interacts, so data is always current but performance depends on the database. An extract is a compressed snapshot stored in Tableau's hyper format, usually much faster, refreshed on a schedule and usable offline. Use live for near real-time needs on a fast warehouse, and extracts for speed, slow sources or when you want to reduce load on production systems.
34
What is the normal distribution and the 68-95-99.7 rule?
The normal distribution is a symmetric, bell-shaped distribution described by its mean and standard deviation. The empirical rule says about 68% of values fall within one standard deviation of the mean, 95% within two and 99.7% within three. For example, if delivery times average 30 minutes with an SD of 5, about 95% arrive in 20 to 40 minutes. Many business metrics are skewed, so check before assuming normality.
35
What does the IF function do and how do you nest it?
VAR stores the result of an expression inside a measure, and RETURN gives the final output. Variables make measures readable, avoid evaluating the same expression twice, and are evaluated in the filter context where they are defined, which helps avoid subtle bugs inside CALCULATE. They also make debugging easy, because you can temporarily RETURN a variable to check its value before returning the final result.
37
When would you drop missing values, and when would you impute with mean or median?
Drop rows when few are missing, roughly under 5 percent, and missingness looks random. Impute when dropping would lose too much data. Use the median for skewed numbers such as income or order value, the mean for roughly symmetric data, and the mode or an Unknown category for categoricals. Group-wise imputation, such as median by city, is better than one global value. Always add a flag column showing what was imputed.
38
A file has dates in mixed formats, some dd/mm/yyyy and some mm/dd/yyyy. How do you handle it?
Find out which system or region produced each format, since a source column often explains it. Values with a day above 12 reveal the format unambiguously. Parse with an explicit format per source, for example pd.to_datetime(col, format='%d/%m/%Y', errors='coerce'), rather than letting the tool guess. Check failed or suspicious parses, such as future dates, and ask the source team to send ISO format yyyy-mm-dd going forward.
39
How do you combine text from several cells with a separator in Excel?
-- join first and last name with a space
=TEXTJOIN(" ", TRUE, A2, B2)
-- all products of one order in a single cell, comma separated
=TEXTJOIN(", ", TRUE, FILTER(C2:C500, A2:A500=F2))
-- older method
=A2 & " " & B2
-- TRUE in TEXTJOIN skips empty cells, which CONCAT and & do not
It adds conditional logic inside queries, for example bucketing ages or flagging values, returning different results per condition.
Tips to crack the Mphasis Data Analytics interview
Learn BFSI basics such as banking transactions, insurance claims and mortgages, since many Mphasis clients are in this domain.
Revise testing concepts, SQL and one programming language well for technical interviews.
Read about Mphasis's Front2Back transformation approach, which the company uses to describe its service model.
Keep a one-minute story ready for every project on your CV: problem, your part, tools, result.
Practise the hard questions on this page aloud; Mphasis interviewers usually ask follow-ups on your first answer.
Frequently asked questions
How many rounds are there in the Mphasis Data Analytics interview?
Candidates usually go through 4 stages: Online assessment (aptitude + reasoning); Coding test; Technical interview; HR round. The exact rounds change with the role, team, location and your experience, so confirm the process with the recruiter.
Which topics should I prepare for the Mphasis Data Analytics interview?
This practice set leans on SQL (9), Excel (6), Power BI (4), Dashboards and KPIs (4). Revise those first, then practise explaining one or two of your own projects end to end, because most Mphasis interviewers ask you to walk through real work.
Are these the exact questions asked at Mphasis?
No. These are curated practice questions that match the skills and difficulty usually tested in it services interviews like Mphasis's. They are not a leaked or verified list of past questions.
Where does Mphasis hire Data Analytics professionals in India?
Mphasis has large teams in Bengaluru, Pune, Chennai. Openings and locations change often, so check the Mphasis careers page and filter by city and experience.