Skip to content

Tech Mahindra Data Analytics Interview Questions & Answers

Curated interview practice questions with answers. These are practice scenarios, not a verified list of past interview questions.

Solved for Tech MahindraStart practicing
3 QUESTIONS FREESign up or log in to unlock the full question bank and track your progress.Unlock every question and answer, then continue practising company-wise and package-wise.
3 questions free Unlock the rest in seconds
01

Write SQL for a running total of sales by date.

Save to ▾
Show answer
SELECT order_date, SUM(amount) OVER (ORDER BY order_date) AS running_total FROM sales;
02

How do you detect outliers?

Save to ▾
Show answer
Visually with a box plot, with the IQR rule (below Q1 − 1.5×IQR or above Q3 + 1.5×IQR) or a z-score above 3. Then decide with the business whether to cap, remove or keep them.
03

How do you read a CSV and inspect it in Pandas?

Save to ▾
Show answer
df = pd.read_csv('file.csv'); then head(), info(), describe() and isna().sum() for a quick health check.
04

What is the difference between COUNT, COUNTA and COUNTIF?

Save to ▾
Show answer
COUNT counts numbers, COUNTA counts non-empty cells and COUNTIF counts cells meeting one condition; COUNTIFS handles several conditions.
05

How do you merge two DataFrames on different column names?

Save to ▾
Show answer
pd.merge(df1, df2, left_on='cust_id', right_on='id', how='left') joins on differently named keys.
06

What are absolute and relative cell references?

Save to ▾
Show answer
Relative references change when copied (A1); absolute references stay fixed ($A$1); mixed references lock only the row or column (A$1 or $A1).
07

What is hypothesis testing in simple words?

Save to ▾
Show answer
You assume no effect (null), collect evidence and decide whether the data is surprising enough to reject that assumption at a chosen significance level.
08

What is DAX and how does it differ from Excel formulas?

Save to ▾
Show answer
DAX is the formula language for Power BI models. It works on columns and tables with filter context rather than on individual cells.
09

DAX: calculated column vs measure?

Save to ▾
Show answer
A calculated column is computed row by row and stored in the model. A measure is computed at query time using the filter context, e.g. Total Sales = SUM(Sales[Amount]). Prefer measures for aggregations.
10

Find customers who ordered in January but not in February.

Save to ▾
Show answer
SELECT DISTINCT customer_id FROM orders WHERE month = 'Jan' EXCEPT SELECT customer_id FROM orders WHERE month = 'Feb';
11

What is Row-Level Security?

Save to ▾
Show answer
Rules that restrict data per user role, for example sales managers seeing only their region, defined with DAX filters and assigned in the Service.
12

How do you calculate a rolling average?

Save to ▾
Show answer
df['sales'].rolling(window=7).mean() gives a 7-period moving average, useful to smooth daily noise.
13

SUMIFS vs COUNTIFS?

Save to ▾
Show answer
SUMIFS adds values that meet several conditions; COUNTIFS counts rows that meet several conditions. Example: =SUMIFS(Sales, Region, "North", Month, "Jan")
14

What does CASE WHEN do?

Save to ▾
Show answer
It adds conditional logic inside queries, for example bucketing ages or flagging values, returning different results per condition.
15

Difference between UNION and UNION ALL?

Save to ▾
Show answer
UNION removes duplicate rows and sorts internally; UNION ALL keeps every row and is faster.
16

Difference between a CTE, a subquery and a temp table?

Save to ▾
Show answer
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.
17

Explain correlation vs regression.

Save to ▾
Show answer
Correlation shows the strength and direction of association; regression builds an equation to predict one variable from others.
18

VLOOKUP vs INDEX-MATCH vs XLOOKUP?

Save to ▾
Show answer
VLOOKUP only looks to the right and breaks when columns are inserted. INDEX-MATCH looks in any direction and is robust. XLOOKUP is the modern option with exact match by default and left lookups.
19

How do you calculate month-over-month growth?

Save to ▾
Show answer
Aggregate revenue by month, use LAG(revenue) OVER (ORDER BY month), then (revenue - prev) / prev x 100.
20

What is Power Query's role in Power BI?

Save to ▾
Show answer
It extracts and transforms data using recorded steps in M language, such as merging, unpivoting, changing types and removing errors, before loading to the model.
21

Which KPIs would you track for an e-commerce app?

Save to ▾
Show answer
DAU/MAU, conversion rate, average order value, cart abandonment, retention/churn, CAC, LTV, return rate and NPS.
22

What is a primary key vs a foreign key?

Save to ▾
Show answer
A primary key uniquely identifies each row in its table; a foreign key references another table's primary key to enforce relationships.
23

What are bookmarks and drill-through in Power BI?

Save to ▾
Show answer
Bookmarks save a report view state for navigation; drill-through jumps to a detail page filtered to the item you picked.
24

How do you create a new column from conditions?

Save to ▾
Show answer
Use np.where for one condition, np.select for several, or df.apply with a function for custom logic.
25

What is Power Query and why is it useful?

Save to ▾
Show answer
An ETL tool inside Excel for importing, cleaning and shaping data with recorded steps that refresh automatically when the source changes.
26

Sales dropped 20% last month. How will you analyse it?

Save to ▾
Show answer
Confirm data accuracy first → break down by region, product, channel and customer segment → compare with seasonality and last year → check pricing, stock-outs, marketing changes and funnel conversion → present the root causes with clear charts.
27

What does the IF function do and how do you nest it?

Save to ▾
Show answer
IF returns one result if a test is true and another if false. Nest IFs for multiple outcomes, or use IFS for cleaner formulas.
28

Explain row context and filter context.

Save to ▾
Show answer
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.
29

What are indexes and when can they hurt?

Save to ▾
Show answer
Indexes speed up lookups by keeping sorted pointers. They slow writes and use space, so index columns used in filters and joins, not every column.
30

Which Python libraries do analysts use most?

Save to ▾
Show answer
Pandas for data handling, NumPy for numerics, Matplotlib and Seaborn for charts, and openpyxl or SQLAlchemy for files and databases.
31

Explain the types of SQL joins.

Save to ▾
Show answer
INNER returns matching rows, LEFT keeps all left rows, RIGHT keeps all right rows, FULL keeps all rows from both, and CROSS returns every combination.
32

What is the difference between WHERE and HAVING?

Save to ▾
Show answer
WHERE filters rows before grouping. HAVING filters groups after GROUP BY and can use aggregates like SUM() or COUNT().
33

How would you find customers who never placed an order?

Save to ▾
Show answer
LEFT JOIN customers to orders and keep rows where order_id IS NULL, or use NOT EXISTS, which also handles NULLs safely.
34

How do you handle outliers in Pandas?

Save to ▾
Show answer
Detect with IQR or z-score, then cap with clip, remove, transform with log, or keep and flag them depending on whether they are errors or real events.
35

What is a gateway in Power BI?

Save to ▾
Show answer
A bridge that lets the Service refresh data from on-premises sources securely on a schedule.
36

How do you handle large CSV files that do not fit in memory in Python?

Save to ▾
Show answer
Read in chunks with chunksize, load only needed columns, set efficient dtypes or switch to Dask, Polars or a database.
37

How do you remove duplicates in Excel but keep the latest record?

Save to ▾
Show answer
Sort by date (newest first), then Data → Remove Duplicates on the key column — Excel keeps the first occurrence. Or use UNIQUE / a COUNTIFS helper column.
38

What is statistical significance vs practical significance?

Save to ▾
Show answer
A result can be statistically significant yet too small to matter; always report effect size and business impact together with the p-value.
39

How do you present insights to non-technical stakeholders?

Save to ▾
Show answer
Lead with the answer, use one simple chart per point, translate numbers into business impact (₹, %), avoid jargon and end with a clear recommendation and next step.
40

What is Power BI and its main components?

Save to ▾
Show answer
A Microsoft BI tool made of Power BI Desktop for building reports, the Service for sharing, and Mobile; it connects, models and visualises data.
41

How would you calculate retention using SQL?

Save to ▾
Show answer
Find each user's first activity date as a cohort, join to later activity, and compute the share of each cohort active in day, week or month N.
42

What is a window function?

Save to ▾
Show answer
A function that calculates over a set of rows related to the current row without collapsing them, such as ROW_NUMBER, RANK, LAG or SUM() OVER (PARTITION BY ...).
43

How do you find duplicate rows in a table?

Save to ▾
Show answer
SELECT col, COUNT(*) FROM t GROUP BY col HAVING COUNT(*) > 1; use ROW_NUMBER() partitioned by the key to delete extras.
44

What are relationships and cardinality in Power BI?

Save to ▾
Show answer
Links between tables on key columns; cardinality can be one-to-many, many-to-one or many-to-many, and cross-filter direction controls how filters flow.
45

What is a PivotTable and when do you use it?

Save to ▾
Show answer
A tool that summarises large tables by dragging fields into rows, columns, values and filters, so you can slice sales by region or month without writing formulas.
46

What is the difference between a clustered and a non-clustered index?

Save to ▾
Show answer
A clustered index defines the physical order of rows (one per table); a non-clustered index is a separate structure with pointers to the rows.
47

What is normalisation?

Save to ▾
Show answer
Organising tables to reduce redundancy and anomalies by splitting data into related tables, commonly up to third normal form.
48

How would you automate a weekly report with Python?

Save to ▾
Show answer
Pull data with SQL or APIs, clean and aggregate with Pandas, build charts and an Excel or PDF output, and schedule it with cron or Airflow with logging and alerts.
49

How do you change data types and parse dates?

Save to ▾
Show answer
df['date'] = pd.to_datetime(df['date']); df['amount'] = pd.to_numeric(df['amount'], errors='coerce'); astype('category') for repeated strings.
50

Explain funnel analysis.

Save to ▾
Show answer
Track users through steps (visit → product view → cart → payment), compute conversion between each step, find the biggest drop, segment by device and source, and suggest fixes to test.
51

INNER JOIN vs LEFT JOIN — with an example.

Save to ▾
Show answer
INNER JOIN returns only matching rows. LEFT JOIN returns every row from the left table and NULLs where the right table has no match — e.g. all customers, including those with no orders.
52

How do you handle errors like #N/A and #DIV/0!?

Save to ▾
Show answer
Fix the root cause when possible, or wrap formulas with IFERROR or IFNA to return a clear fallback value.
53

Import mode vs DirectQuery?

Save to ▾
Show answer
Import loads data into memory for fast visuals; DirectQuery queries the source live, giving fresh data but slower performance and some DAX limits.
54

How would you reconcile two large lists in Excel?

Save to ▾
Show answer
Use XLOOKUP or COUNTIF to flag missing items in each list, or merge them in Power Query with a full outer join and filter unmatched rows.
55

What is a CTE and why use it?

Save to ▾
Show answer
A Common Table Expression is a named temporary result defined with WITH that makes complex queries readable and allows recursion.
56

Explain Matplotlib vs Seaborn.

Save to ▾
Show answer
Matplotlib is the low-level plotting library with full control; Seaborn builds on it with attractive statistical charts and simpler syntax.
57

Show a Pandas groupby example.

Save to ▾
Show answer
df.groupby('region')['sales'].agg(['sum', 'mean', 'count']) # splits by region, aggregates, combines the results
58

RANK vs DENSE_RANK vs ROW_NUMBER?

Save to ▾
Show answer
ROW_NUMBER gives a unique sequence. RANK gives ties the same rank and skips the next (1, 1, 3). DENSE_RANK gives ties the same rank without gaps (1, 1, 2).
59

How do SUMIFS and SUMPRODUCT differ?

Save to ▾
Show answer
SUMIFS sums values meeting several criteria and is fast. SUMPRODUCT multiplies arrays and adds them, handling more complex conditions and weighted totals.