Skip to content

Tata Elxsi Data Analytics Interview Questions & Answers

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

About Tata Elxsi hiring for Data Analytics roles

Tata Elxsi is a Tata Group design and technology services company that works on product engineering for the automotive, media and communications, and healthcare industries. Its teams build embedded software, set-top box and streaming solutions, medical device software and user experience designs. In India it hires software, embedded, testing and design engineers, with a notable development centre in Thiruvananthapuram's Technopark.

For Data Analytics roles, this Tata Elxsi practice set focuses most on SQL (9), Power BI (5), Data Cleaning (4), Web & Marketing Analytics (4). It has 19 easy, 19 medium, 2 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, Thiruvananthapuram, Chennai, Pune

Tata Elxsi Data Analytics interview process

  1. Online assessment (aptitude + technical)
  2. Technical interview
  3. Managerial round
  4. HR round

Typical pattern based on public candidate experiences. Rounds vary by role, team and year.

Solved for Tata ElxsiStart 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.
3 questions free Unlock the rest in seconds
01

What is tidy data?

Save to ▾
Show answer
Tidy data follows three rules: each variable is a column, each observation is a row, and each type of observational unit is a table. A sheet with months as columns is not tidy; unpivoting it to Region, Month and Sales columns makes it tidy. Tidy data is easy to filter, group, join and chart in pandas, SQL, Power BI and Tableau, so reshaping into this form is a core cleaning step.
02

What is the difference between COUNT(*), COUNT(column) and COUNT(DISTINCT column)?

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

What is the difference between a calculated table in DAX and a table created in Power Query?

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

How do you deal with missing or duplicate data?

Save to ▾
Show answer
Profile the data, remove exact duplicates using keys, impute missing values (mean/median/mode or a business rule), flag imputed rows and document every cleaning step.
05

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 ...).
06

Write Excel formulas to calculate ROAS and CPA for each campaign and flag campaigns below a ROAS target.

Save to ▾
Show answer
-- B = Spend, C = Conversions, D = Revenue, target ROAS in H1 E2 (ROAS): =IFERROR(D2/B2, 0) F2 (CPA): =IF(C2=0, "No conversions", B2/C2) G2 (Flag): =IF(E2<$H$1, "Below target", "OK") -- Copy down, then add conditional formatting on G to highlight 'Below target'
07

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.
08

What is a snowflake schema and when would you choose it over a star schema?

Save to ▾
Show answer
A snowflake schema normalises dimensions into several related tables, for example product linked to subcategory linked to category, instead of keeping one flat product dimension. It saves some storage and avoids repeating attribute values, but needs more joins and is harder for users and BI tools. Most analytics teams prefer a star schema; snowflaking makes sense when a hierarchy is huge, shared by many dimensions or maintained by a separate team.
09

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.
10

What is the difference between bounce rate and engagement rate in GA4?

Save to ▾
Show answer
In GA4, an engaged session lasts longer than 10 seconds, has a conversion (key event) or has at least two page or screen views. Engagement rate is engaged sessions divided by total sessions. Bounce rate is simply the opposite: the share of sessions that were not engaged. This is more useful than the old single-page bounce definition, because a user who reads a full blog post for three minutes is no longer counted as a bounce.
11

What is the difference between mean and median for reporting salaries?

Save to ▾
Show answer
Salaries are right-skewed, so the median better represents the typical employee while the mean is pulled up by a few high earners.
12

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.
13

What is data storytelling?

Save to ▾
Show answer
Data storytelling is communicating insights by combining three things: data, the evidence; visuals, charts that make patterns obvious; and narrative, the context and so-what that explains why it matters and what to do. A table of numbers informs, but a story persuades someone to act. For an analyst, it means leading with the key finding, showing just enough evidence, and ending with a clear recommendation.
14

Write SQL to calculate open rate and click-through rate for each email campaign.

Save to ▾
Show answer
SELECT s.campaign_id, COUNT(DISTINCT s.user_id) AS delivered, COUNT(DISTINCT o.user_id) AS opened, COUNT(DISTINCT c.user_id) AS clicked, ROUND(100.0 * COUNT(DISTINCT o.user_id) / COUNT(DISTINCT s.user_id), 1) AS open_rate, ROUND(100.0 * COUNT(DISTINCT c.user_id) / COUNT(DISTINCT s.user_id), 1) AS ctr FROM email_sends s LEFT JOIN email_opens o ON o.campaign_id = s.campaign_id AND o.user_id = s.user_id LEFT JOIN email_clicks c ON c.campaign_id = s.campaign_id AND c.user_id = s.user_id WHERE s.status = 'delivered' GROUP BY s.campaign_id;
15

Write a Tableau calculated field for profit ratio and a profit category.

Save to ▾
Show answer
// Profit Ratio (aggregate first, then divide) SUM([Profit]) / SUM([Sales]) // Profit Category IF SUM([Profit]) < 0 THEN 'Loss' ELSEIF [Profit Ratio] < 0.1 THEN 'Low margin' ELSE 'Healthy' END // avoid AVG([Profit]/[Sales]): it averages row ratios and gives a wrong total
16

How should you lay out a dashboard page?

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

What are pre-attentive attributes and how do you use them in charts?

Save to ▾
Show answer
Pre-attentive attributes are visual properties the brain notices in a fraction of a second before conscious thought, such as colour, size, position, length and bold weight. Use them to direct attention: make all bars grey and highlight only the declining region in a strong colour, or bold the one number that matters. Using too many highlights cancels the effect, so emphasise one or two things per chart.
18

A stakeholder asks for a pie chart of 12 product categories. When is a pie chart acceptable, and what would you suggest?

Save to ▾
Show answer
A pie chart works only for showing parts of a whole with very few categories, two to four, where one share clearly dominates, such as 70 percent of orders are prepaid. Avoid it when there are many slices, when values are close, or when comparing across periods, because people judge angles poorly. A sorted bar chart is almost always easier to read and compare. Never use 3D pies.
19

Write a DAX measure that counts new customers, meaning customers who bought in the selected period but never before it.

Save to ▾
Show answer
New Customers = VAR PeriodStart = MIN ( 'Date'[Date] ) VAR CurrentCustomers = VALUES ( Sales[CustomerID] ) VAR PastCustomers = CALCULATETABLE ( VALUES ( Sales[CustomerID] ), 'Date'[Date] < PeriodStart, REMOVEFILTERS ( 'Date' ) ) RETURN COUNTROWS ( EXCEPT ( CurrentCustomers, PastCustomers ) )
20

What is a slowly changing dimension? Explain Type 1 and Type 2.

Save to ▾
Show answer
A slowly changing dimension handles attributes that change over time, like a customer's city. Type 1 overwrites the old value, so history is lost and past sales appear under the new city. Type 2 adds a new row with a new surrogate key plus valid_from, valid_to and is_current columns, so old sales stay linked to the old city. Type 2 preserves accurate history but makes the table larger and joins more careful.
21

What is columnar storage and why do analytical warehouses use it?

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

What is a date table in Power BI and why should you mark it as one?

Save to ▾
Show answer
A date table has one row per day with no gaps, covering the full range of your data, plus columns like year, month, quarter and week. Marking it as a date table tells Power BI to use it for time intelligence functions such as TOTALYTD and SAMEPERIODLASTYEAR. Without it, those functions can give wrong results and auto date tables bloat the model. Relate it to every fact table's date column.
23

What are statistical power and minimum detectable effect (MDE)?

Save to ▾
Show answer
Power is the probability that the test detects a real effect of a given size, commonly set at 80%. The minimum detectable effect is the smallest lift you care about and can reliably detect with your sample size. Smaller MDEs, lower baseline rates and higher power all need more users. If you can only get 10,000 users a week, you may only be able to detect large lifts, which should shape what you test.
24

What is the logical order in which SQL executes a SELECT query?

Save to ▾
Show answer
Although written as SELECT first, a query is logically processed as FROM and JOIN, then WHERE, GROUP BY, HAVING, SELECT, DISTINCT, ORDER BY and finally LIMIT. This explains common errors: you cannot use a SELECT alias in WHERE because SELECT runs later, but you can use it in ORDER BY. It also explains why aggregates belong in HAVING, not WHERE, and why window functions cannot be filtered in the same query level.
25

When would you drop missing values, and when would you impute with mean or median?

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

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.
27

What is the difference between a primary key and a unique constraint?

Save to ▾
Show answer
Both prevent duplicate values. A table can have only one primary key, it cannot contain NULLs, and it is the main identifier other tables reference through foreign keys. A table can have several unique constraints, for example on email and on PAN number, and most databases allow NULLs in a unique column. Use the primary key for the row identity and unique constraints for other business rules.
28

What is a degenerate dimension?

Save to ▾
Show answer
A degenerate dimension is a dimension key stored directly in the fact table with no separate dimension table, because it has no other attributes worth storing. Invoice number, order number and transaction ID are typical examples. They are useful for grouping order lines back into an order, counting distinct orders or tracing a row to the source system. Creating a separate table just for the number would add a useless join.
29

Show a Pandas groupby example.

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

How should you document data cleaning decisions?

Save to ▾
Show answer
Keep a cleaning log or README listing each rule, why it exists and its impact, for example removed 1,240 test orders flagged by email domain. Code-based cleaning in SQL, Python or Power Query steps is itself documentation if steps are named clearly. Record counts before and after each major step. This lets reviewers trust the numbers, helps a colleague rerun the work, and answers the question why your total differs from the raw file.
31

How do you split a full name column into first and last name in Excel?

Save to ▾
Show answer
-- A2 = 'Priya Ramesh Iyer' -- first name =TEXTBEFORE(TRIM(A2), " ") -- last name (text after the last space) =TEXTAFTER(TRIM(A2), " ", -1) -- older Excel: first name =LEFT(TRIM(A2), FIND(" ", TRIM(A2)&" ")-1) -- or use Data > Text to Columns or Flash Fill (Ctrl+E) for a one-off task
32

Estimate how many cups of tea are sold in a city of 1 crore people in a day.

Save to ▾
Show answer
State assumptions clearly. Of 1 crore people, assume 70 percent drink tea, so 70 lakh. Say half of their cups are bought outside, at an average of one bought cup per drinker every day for that half, giving about 35 lakh purchased cups, with more at offices and stations. So roughly 30 to 40 lakh cups. Interviewers judge the structure, segmentation and sanity check more than the exact number.
33

Write pandas code to calculate customer acquisition cost and payback period in months for each channel.

Save to ▾
Show answer
# spend: channel, spend # customers: channel, customer_id, monthly_margin new_cust = customers.groupby('channel').agg( new_customers=('customer_id', 'nunique'), avg_margin=('monthly_margin', 'mean')) summary = spend.groupby('channel')['spend'].sum().to_frame().join(new_cust) summary['cac'] = summary['spend'] / summary['new_customers'] summary['payback_months'] = summary['cac'] / summary['avg_margin'] print(summary.round(1).sort_values('payback_months'))
34

Explain GROUP BY with an example.

Save to ▾
Show answer
It groups rows sharing values so aggregates run per group, for example SELECT region, SUM(sales) FROM orders GROUP BY region.
35

How do you detect and handle skewed data?

Save to ▾
Show answer
Check histograms and skew(), then apply log, square-root or Box-Cox transforms, or use medians and robust statistics.
36

Write SQL to show each category's percentage share of total revenue.

Save to ▾
Show answer
SELECT category, SUM(amount) AS revenue, ROUND(100.0 * SUM(amount) / SUM(SUM(amount)) OVER (), 2) AS pct_share FROM sales GROUP BY category ORDER BY revenue DESC; -- SUM(SUM(amount)) OVER () is the grand total across all groups
37

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.
38

What is conditional formatting?

Save to ▾
Show answer
It automatically formats cells based on rules such as colour scales, data bars or highlighting values above a target, making patterns visible at a glance.
39

Your pandas script shows SettingWithCopyWarning and a new column does not update. What is happening and how do you fix it?

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

How do you remove duplicates in Excel?

Save to ▾
Show answer
Data tab, Remove Duplicates, pick the columns to compare. For a non-destructive way use UNIQUE() or conditional formatting to highlight repeats first.

Tips to crack the Tata Elxsi Data Analytics interview

  • Revise C, C++ or Python fundamentals along with operating systems and networking basics for embedded and media engineering roles.
  • Prepare a crisp walkthrough of your best project, focusing on the problem, your contribution and what you would improve now.
  • Read about Tata Elxsi's work in automotive software, video streaming and medical devices to show real interest in its domains.
  • 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; Tata Elxsi interviewers usually ask follow-ups on your first answer.

Frequently asked questions

How many rounds are there in the Tata Elxsi Data Analytics interview?

Candidates usually go through 4 stages: Online assessment (aptitude + technical); Technical interview; Managerial round; 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 Tata Elxsi Data Analytics interview?

This practice set leans on SQL (9), Power BI (5), Data Cleaning (4), Web & Marketing Analytics (4). Revise those first, then practise explaining one or two of your own projects end to end, because most Tata Elxsi interviewers ask you to walk through real work.

Are these the exact questions asked at Tata Elxsi?

No. These are curated practice questions that match the skills and difficulty usually tested in it services interviews like Tata Elxsi's. They are not a leaked or verified list of past questions.

Where does Tata Elxsi hire Data Analytics professionals in India?

Tata Elxsi has large teams in Bengaluru, Thiruvananthapuram, Chennai, Pune. Openings and locations change often, so check the Tata Elxsi careers page and filter by city and experience.

Data Analytics questions for similar companies