Free guide · 6 steps · about 12 min · Updated Nov 9, 2026

Data Analyst interview prep

The person who turns a business question into a query, a number and a decision. 50 questions, 41 of them reported by candidates at Amazon, Meta, Flipkart, Swiggy, EY, Deloitte, ZS and Uber, each with a model answer and what the interviewer listens for, the rounds by company, and pay from 28 real job posts.

Step 1 of 6 · 2 min

Where the Data Analyst role came from

The role in 30 seconds

A data analyst answers business questions with data: they pull it with SQL, clean and explore it in Excel or Python, show it in Power BI or Tableau, and say what to do next. In India, 46,860 people started a “Data Analyst” title in the last 670 days, and 32,906 in the US. Almost every loop tests four things: SQL, Excel or a BI tool, a metric or product case, and how you explain numbers to people who are not analysts.

Analysts have answered business questions since the spreadsheet reached office desks in 1979. SQL became a standard in 1986 and BI tools such as Tableau and Power BI turned queries into dashboards. Since 2023, AI has moved inside the tools analysts already use, so the job is shifting from writing every query by hand to checking, explaining and deciding.

  1. Oct 1979
    The spreadsheet reaches the desk

    VisiCalc shipped for the Apple II on 17 October 1979, the first spreadsheet program for personal computers. Desk-level business analysis starts here.

  2. 1986
    SQL becomes a standard

    SQL was standardised as ANSI X3.135 in 1986 and adopted by ISO months later. That is why one query language still works across almost every database an analyst touches.

  3. 2003
    Tableau is founded

    Tableau was founded in Mountain View in 2003 out of Stanford research, and made drag-and-drop charts a normal part of analysis. Salesforce bought it in 2019.

  4. Jul 2015
    Power BI goes live

    Microsoft Power BI reached general availability on 24 July 2015. Tableau and Power BI are the BI tools named most often in the analyst posts we opened.

  5. 2021
    A route in without a degree

    Google added a data analytics certificate to its career certificates on Coursera, aimed at entry-level jobs. Coursera shows more than 3.9 million people enrolled.

  6. Aug 2023
    Python moves inside Excel, then AI copilots arrive

    Microsoft announced Python in Excel in August 2023. By 2026, Copilot in Power BI writes DAX and builds report pages, and Gemini in BigQuery writes SQL and charts from plain English.

  7. 2025–26
    Data jobs top the growth lists

    WEF’s Future of Jobs 2025 names big data specialists the fastest-growing job. The US Bureau of Labor Statistics projects data scientist jobs to grow 35% from 2025 to 2035 and operations research analysts 12%.

  8. Jan 2025 → now
    46,860 new data analysts in India

    46,860 people in India started a strict Data Analyst title in the last 670 days. 15,548 joined companies of more than 5,000 people and 15,003 joined companies of 200 or fewer.

Why it took off

  1. 01

    Every team now has data and too few people who can turn it into a decision. The analyst sits between the database and the people who act.

  2. 02

    Services firms (Deloitte, EY, ZS, Mu Sigma, Tiger Analytics) hire analysts in large batches from Indian campuses, so it is one of the biggest entry routes into tech.

  3. 03

    AI tools write first-draft SQL and charts, which raises the value of analysts who can check the numbers and explain what they mean.

Up next · Step 2 · 2 minWhat the job really is
Step 2 of 6 · 2 min

What a Data Analyst really does

A data analyst turns business questions into answers. A typical week: write SQL to pull data, clean and join it, build or update a dashboard in Power BI, Tableau or Looker, dig into why a metric moved, and present what you found to a manager or a business team. Titles vary: Data Analyst, Business Analyst, MIS Analyst, Product Analyst, BI Analyst.

In five job posts we opened (Trent, two Amazon teams, a Dice contract and Dexian), SQL, Python or R, and a BI tool appeared in all five; Tableau was named in four. Excel appeared in both Indian posts. Expect SQL to be tested hardest.

In India, hiring splits almost evenly between very large and small employers: 15,548 of the 46,617 new data analysts with a known employer size joined companies of more than 5,000 people, and 15,003 joined companies of 200 or fewer. Large companies include Big 4 and analytics services firms that hire whole campus batches.

Skills you need

SQL

  • Joins (inner, left, self) and what happens with NULLs
  • GROUP BY with HAVING, and the order SQL runs clauses
  • Window functions: ROW_NUMBER, RANK, DENSE_RANK, LAG, LEAD, running sums
  • CTEs for retention, repeat rate and top-N per group

Excel and BI

  • Pivot tables, XLOOKUP or INDEX-MATCH, removing duplicates
  • Power BI: data model, measures vs calculated columns, SUM vs SUMX
  • Import vs DirectQuery, row-level security, report performance
  • Choose the right chart and cut the clutter

Statistics and Python

  • Mean, median, distributions and outliers
  • A/B tests: hypotheses, sample size, significance, guardrails
  • pandas: merge, groupby, pivot_table, handling missing values
  • Correlation vs causation, with an example

Business sense and AI

  • Break a metric into drivers and root-cause a drop
  • Pick a north-star metric and its guardrails
  • Explain a result to a non-analyst in three sentences
  • Draft SQL with Copilot, Gemini or ChatGPT, then check it by hand

What hiring managers expect: product company vs services firm

Same SQL, different day. Know which one you are interviewing for.

Product company (Amazon, Flipkart, Swiggy, Uber)Own a product’s metrics

Product company: own the metrics of one product or team

  • Answer “why did this metric move?” for one product or business team, usually within a day or two.
  • Write SQL against large event and order tables; window functions and joins come up every week.
  • Build and maintain the team’s dashboards and the weekly business review numbers.
  • Read A/B test results and say whether a change worked.
  • Loops lean on SQL rounds and product or metric cases (Flipkart reported three SQL rounds; Meta a six-round final).
Metrics you will own
Daily or monthly active usersConversion and repeat-order rateDelivery time or SLA, and complaintsRevenue and order value by segment
Services and consulting (Deloitte, EY, ZS, Mu Sigma)

Services and consulting: answer a client’s question on a deadline

  • Work on client projects: reporting, dashboards, data cleaning and analysis for banks, retailers or pharma.
  • Power BI and Excel are central; EY and Deloitte candidates reported DAX, data modelling and RLS questions.
  • Hiring is often in campus batches, with an aptitude test, a group discussion or guesstimates first.
  • Explain results to a client manager who is not an analyst, often in slides.
  • Loops lean on aptitude, Excel or Power BI depth, a case or guesstimate, and HR fit.
Metrics you will own
Reports delivered on timeDashboard adoption by the clientData quality and reconciliation errorsHours of manual reporting saved

How a data analyst differs from nearby roles

  • Versus data scientist: a data scientist builds predictive models and experiments at scale; a data analyst explains what happened and why, with SQL, BI tools and basic statistics.
  • Versus business analyst: in India the titles overlap heavily. Business analyst roles often add process and requirements work; data analyst roles go deeper on SQL and dashboards.
  • Versus data engineer: a data engineer builds the pipelines and tables; the analyst uses them and flags when the data looks wrong.
  • Versus product analyst: a product analyst is a data analyst attached to one product, with more A/B tests and funnel work.
  • Versus MIS analyst: MIS roles focus on recurring Excel and reporting; data analyst roles expect SQL and root-cause work as well.
Up next · Step 3 · 2 minPay and who is hiring
Step 3 of 6 · 2 min

Pay: India and US job posts, and Levels.fyi

We opened 28 data analyst job posts that state pay. The 14 full-time India posts range from ₹3–5 LPA (1–2 years, Tap Invest) to ₹20–35 LPA (2 years, PEEKO), with a median midpoint of ₹13.5 LPA. The 14 US posts range from $58K–70K (entry level) to $180K–210K (senior/staff), with a median midpoint of $131.8K base. Levels.fyi’s medians are ₹14.6 lakh in India and $110,000 in the US.

India: job posts with stated pay

INR (₹, lakh per annum, as posted)

Source: Wellfound and Cutshort job posts (Nov 9, 2026). Each row is one post; tap it to open. The median midpoint of the 14 full-time posts is ₹13.5 LPA (the internship is left out). Years of experience predict pay poorly: two Bengaluru startups (PEEKO and Velocity) posted three 2-year roles at ₹18–35 LPA, while three recruiter posts for 3–5 years sat at ₹8–12 LPA. Wellfound posts were 1 week to 2 months old on Nov 9, 2026; most Cutshort posts are dated Aug–Oct 2026. Three are older (NeoGenCode, Jun 2025; the two Talent Pro posts, Dec 2025 and Jan 2026); without them the median midpoint is ₹15 LPA.

The India post median (₹13.5 LPA midpoint of posted ranges) sits close to Levels.fyi’s India median (₹14.6 lakh of self-reported total compensation); they measure different things but point the same way. The US post median ($131.8K base) is above Levels.fyi’s US median ($110,000) because 9 of our 14 US posts are senior roles. For a cross-check outside tech, the US Bureau of Labor Statistics reports a 2025 median of $88,940 for operations research analysts. Compare Indian offers on in-hand pay with our salary calculator.

Got an Indian offer? Turn the CTC into monthly in-hand pay on 2026-27 tax rules, or compare two offers.

Where new data analysts went in India, 2025–26

In India, 46,860 people started a strict “Data Analyst” title in the last 670 days; in the US, 32,906. India’s hiring is split between very large and very small employers: 15,548 joined companies of more than 5,000 people and 15,003 joined companies of 200 or fewer.

  • 200 people or fewer
    Startups and small firms
    15,003new
  • 201–1,000 people
    Scale-ups
    8,746new
  • 1,001–5,000 people
    Large companies
    7,320new
  • Over 5,000 people
    Enterprises, Big 4 and Big Tech
    15,548new

How we counted: Counted in Apollo.io: people located in India whose current title strictly matches “Data Analyst”, who started it in the last 670 days, split by employer headcount. 46,617 of 46,860 had a known company size. No industry filter was applied. US: same filters, 32,906. “Senior Data Analyst”, “Business Analyst” and other titles are not included. (Apollo.io people data, Nov 9, 2026.)

Up next · Step 4 · 2 minHow to get the interview
Step 4 of 6 · 2 min

How to get the interview

Analyst hiring managers skim for three things: the tools (SQL first), the scale of data you worked with, and a decision your analysis changed. Most Indian entry roles come through campus drives, referrals and job boards; a public portfolio of two or three real analyses is the fastest way to stand out without experience. The strong bullets below are illustrative, with made-up numbers: copy the shape, not the figures.

Rewrite your resume bullets

Weak bullets list duties. Strong ones show a result with a number.

Before

Created dashboards in Power BI.

After

Built a Power BI sales dashboard on 2.1M order rows for 40 regional managers, replacing a weekly Excel pack; manual reporting time fell from 6 hours a week to 30 minutes.

Before

Good knowledge of SQL and Excel.

After

Wrote SQL cohort queries that showed repeat orders fell 9% for customers who waited over 45 minutes; the ops team added a delay coupon and repeat rate recovered in 4 weeks.

Before

Worked on data cleaning.

After

Cleaned and reconciled 3 years of vendor invoices (180K rows) in Python and SQL, found ₹14L of duplicate payments, and set up a monthly check that finance still runs.

Before

Did A/B testing analysis.

After

Analysed a 2-week checkout A/B test (52K users per arm): conversion rose 1.8 points with no change in refunds, so the team shipped the new flow to all users.

  • Lead each bullet with the decision or result, then the tool: “Cut reporting time 90% (Power BI, SQL)”.
  • Say the scale: rows, users, regions, or the number of people who used your dashboard.
  • Name tools exactly as job posts do: SQL, Excel, Power BI or Tableau, Python (pandas), and your warehouse if any.
  • Freshers: two projects on real public data beat a list of courses. Link a GitHub repo or a Tableau Public dashboard.
  • Indian campus and services roles expect the one-page table CV with marks; our Word template uses it.
  • Keep certificates to one line (Google Data Analytics, PL-300) and only if relevant to the post.
Free resume builder

Where the jobs are

Campus drives and off-campus hiring challenges

Services and analytics firms (Deloitte, EY, ZS, Mu Sigma, Tiger Analytics) and some product companies hire analysts in batches through aptitude tests, group discussions and case rounds.

Wellfound and Cutshort

Indian startup posts that show the pay band and posting date. Most of the India pay rows on this page come from them.

Company career pages and Greenhouse boards

Most US analyst posts with stated pay are on Greenhouse or Lever. Amazon posts analyst and BIE roles on amazon.jobs with a prep guide.

Internal moves from ops, MIS or support

People who already own a report in operations or MIS often move into analyst roles by automating it with SQL and a dashboard.

Message the hiring manager

A five-line note with one chart

Hi [Name], I saw the Data Analyst opening on [team] at [Company]. At [college or current company], I [analysis you did], which led to [decision or result]. I looked at public data on [their product or market] and made one chart that shows [finding]. Link: [Tableau Public or GitHub]. Would you have 15 minutes this week?

Send it to the analytics manager or the business lead the role supports. Follow up once after 5–6 days, then stop.

Proof of work

Publish one analysis that looks like their work

Most loops include a SQL round and a case. A public analysis on data like theirs shows both, and gives the interviewer something concrete to ask about.

  1. 1Pick a public dataset close to their business: e-commerce orders, food delivery, payments or ride data from Kaggle or a government portal.
  2. 2Ask one business question (why did repeat orders fall in one city?), answer it with SQL, and keep the queries in a GitHub repo.
  3. 3Build one dashboard page in Power BI or Tableau Public with three charts and a one-line takeaway on each.
  4. 4Write a 150-word summary: the question, the answer, and what you would recommend. Put the link on your CV.
Up next · Step 5 · 50 questionsCrack the interview
Step 5 of 6 · 50 questions

Crack the interview

First see the rounds you will face. Then practise every question out loud before you open the answer.

The rounds, by company type

Typical loops. Each company varies, so confirm the rounds with your recruiter.

Product company (Amazon, Flipkart, Uber, Meta)

  1. 1Online assessment or recruiter screen (Amazon’s BIE assessment: SQL Challenge, Working with SQL, Work Styles)
  2. 2Technical phone screen: SQL plus a short analytics question
  3. 3Final loop of 3–6 rounds: SQL, metrics or product case, statistics, behavioural
  4. 4Hiring manager round; Amazon adds a Bar Raiser

Services and consulting firm (Deloitte, EY, ZS, Mu Sigma)

  1. 1Aptitude test (quant, logical reasoning, sometimes Excel MCQs)
  2. 2Group discussion or guesstimate round, common on campus
  3. 3Technical interview: SQL, Excel or Power BI, Python basics, your projects
  4. 4Case or manager round, then HR

Startup

  1. 1Founder or analytics lead call
  2. 2A take-home on their data or a live SQL test
  3. 3Walk-through of your analysis with the team you would support
  4. 4Culture and offer conversation; often 2–3 weeks end to end

What candidates reported

  1. 1Flipkart Data Analyst, Bengaluru (Nov 2025): SQL on several scenarios, then SQL with joins and functions, then SQL with a managerial and business round, then HR (Glassdoor)
  2. 2Uber Data Analyst (Aug 2026): HR call, hiring manager call with a SQL interview, then a take-home and a case interview (Glassdoor)
  3. 3Deloitte, Gurgaon (Jun 2026): SQL with dataframes and a business case, a SQL round, then a business case with joins, window functions and repeat rate (Glassdoor)
  4. 4Meta Staff Data Analyst: recruiter screen, a phone interview on SQL and product strategy, then six finals: metric design, statistics, behavioural, hiring manager, SQL, product sense (Exponent)
  5. 5ZS (older reviews): online aptitude (60 min), video interview with guesstimates, a 120-minute case, a behavioural round, then a fit round with a manager or principal (AmbitionBox)
  6. 6Mu Sigma campus: aptitude test of about 60 questions, a group activity, then a technical and HR interview with puzzles (AmbitionBox)
  7. 7EY Data Analyst, Mumbai (Jul 2022): HR screen, a 70-minute technical round on Python, SQL, pandas and Excel, a 30-minute behavioural round, then the offer call (LeetCode Discuss)
  8. 8PhonePe campus (Apr 2024): aptitude test, group discussion, a case study with guesstimates, then HR (AmbitionBox)

50 Data Analyst interview questions

Each answer shows how you could respond and what the interviewer is listening for. Say yours out loud first.

Answer out loud, reveal, then rate yourself. Weak answers come back for review.0/50

SQL

Every loop we found has SQL, and Flipkart candidates reported three SQL rounds. Say the approach out loud before you type, name the edge cases (ties, NULLs, duplicates), and end with what the result means.

1Calculate the repeat rate of orders from a given table. Also: what is the difference between an inner join and an outer join?Round 3: business case + SQLAsked at Deloitte · via GlassdoorJun 2026
How you could answer

First define repeat rate out loud: the share of customers with two or more orders in the period. Confirm the period and whether cancelled orders count.

Then: in a CTE, count orders per customer with GROUP BY customer_id. In the outer query, divide the number of customers with count >= 2 by all customers: SUM(CASE WHEN order_count >= 2 THEN 1 ELSE 0 END) * 1.0 / COUNT(*). Multiply by 1.0 so integer division does not return zero.

Joins: an inner join keeps only rows that match in both tables; a left outer join keeps every row from the left table and fills NULLs where there is no match. For repeat rate by city you would left join customers to orders so customers with no orders still appear; say out loud that this changes the denominator from customers who ordered to all customers.

WITH c AS (
  SELECT customer_id,
         COUNT(*) AS n
  FROM orders
  GROUP BY customer_id
)
SELECT
  SUM(CASE WHEN n >= 2
      THEN 1 ELSE 0 END)
  * 1.0 / COUNT(*)
  AS repeat_rate
FROM c;

Reported by a candidate on Glassdoor. We link the page so you can read the full account.

What the interviewer is listening for

A clear definition before the query, the integer-division trap, and a correct join explanation with a use case.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

2Using transactions, customers and accounts tables, find the top 3 customers by total spend in each city.SQL roundAsked at American Express in an MIS Analyst loop · via Glassdoor
How you could answer

Join transactions to accounts (to get the customer) and customers (to get the city). Sum spend per customer and city with GROUP BY.

Then rank inside each city: DENSE_RANK() OVER (PARTITION BY city ORDER BY total_spend DESC). Wrap it in a CTE and keep rank <= 3.

Say how you handle ties: DENSE_RANK keeps everyone tied at third; ROW_NUMBER would cut to exactly three. Ask which the business wants. Also mention filtering out refunds or failed transactions before summing.

WITH s AS (
  SELECT cu.city,
         cu.customer_id,
         SUM(t.amount) AS spend
  FROM transactions t
  JOIN accounts a
    ON a.account_id = t.account_id
  JOIN customers cu
    ON cu.customer_id = a.customer_id
  GROUP BY cu.city, cu.customer_id
), r AS (
  SELECT *,
    DENSE_RANK() OVER (
      PARTITION BY city
      ORDER BY spend DESC) AS rk
  FROM s
)
SELECT * FROM r WHERE rk <= 3;

Reported by a candidate on Glassdoor. We link the page so you can read the full account.

What the interviewer is listening for

Correct three-table joins, aggregation before ranking, PARTITION BY city, and a stated choice on ties.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

3Given a transaction table, write a query to identify “whale” users (high-frequency customers).TechnicalAsked at American Express · via Glassdoor
How you could answer

Start by agreeing the definition, because “whale” is a business term. Offer one: customers in the top 1% by spend in the last 90 days, or customers above a fixed number of transactions per month.

For a percentile definition: aggregate spend per customer, then use NTILE(100) OVER (ORDER BY total_spend DESC) or PERCENT_RANK and keep the top bucket. For a frequency definition: COUNT(*) per customer per month with HAVING above the threshold.

Close with a check: how much of total spend the whales account for, and whether the list is stable month to month.

Reported by a candidate on Glassdoor. We link the page so you can read the full account.

What the interviewer is listening for

Clarifying the business definition first, a percentile or threshold approach, and a sanity check on the result.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

4What is the order of execution of a SQL query? And find the 3rd highest salary.SQL roundsAsked at Flipkart · via GlassdoorNov 2025
How you could answer

Logical order: FROM and JOIN, then WHERE, GROUP BY, HAVING, SELECT, DISTINCT, ORDER BY, and finally LIMIT. That is why you cannot use a SELECT alias in WHERE, but you can in ORDER BY.

Third highest salary: SELECT DISTINCT salary FROM (SELECT salary, DENSE_RANK() OVER (ORDER BY salary DESC) AS r FROM employees) t WHERE r = 3. DISTINCT stops the same salary appearing once per person who earns it. DENSE_RANK handles duplicates, so two people on the top salary do not push the answer down.

Mention the alternative (ORDER BY salary DESC with DISTINCT and OFFSET 2) and what to return if fewer than three distinct salaries exist.

Reported by a candidate on Glassdoor. We link the page so you can read the full account.

What the interviewer is listening for

The correct clause order with a consequence (alias use), and a duplicate-safe Nth-highest query.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

5Solve a self-join question, then a window function question with LEAD and LAG.Round 1: TechnicalAsked at Flipkart · via GlassdoorMar 2025
How you could answer

A classic self-join: find employees who earn more than their manager. Join employees e to employees m ON e.manager_id = m.id and keep e.salary > m.salary. Explain that you join the table to itself with two aliases.

A classic LAG question: month-on-month revenue change. Aggregate revenue by month, then LAG(revenue) OVER (ORDER BY month) gives last month’s value; subtract and divide for growth. LEAD looks forward instead, for example days until a customer’s next order.

Mention the first row returns NULL for LAG and how you would display it.

WITH m AS (
  SELECT DATE_TRUNC('month', order_date)
           AS month,
         SUM(amount) AS revenue
  FROM orders
  GROUP BY 1
)
SELECT month, revenue,
  revenue * 1.0
  / LAG(revenue) OVER (ORDER BY month)
  - 1 AS mom_growth
FROM m;

Reported by a candidate on Glassdoor. We link the page so you can read the full account.

What the interviewer is listening for

Comfort with aliases in a self-join, and correct use of LAG/LEAD with an ORDER BY and NULL handling.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

6Find the second highest salary, and find duplicate entries in a table.SQL roundAsked at Amazon in a Business Analyst loop · via Glassdoor
How you could answer

Second highest: MAX(salary) WHERE salary < (SELECT MAX(salary) FROM employees) is short and handles duplicates. The DENSE_RANK version generalises to any N.

Duplicates: decide what “duplicate” means (same email? same every column?). Then GROUP BY those columns HAVING COUNT(*) > 1 to list them. To keep one copy, use ROW_NUMBER() OVER (PARTITION BY the duplicate columns ORDER BY created_at) and delete or filter rows where it is above 1.

Amazon’s reviewer said one question was medium-hard, so expect a follow-up such as “now return the whole latest row per customer”.

Reported by a candidate on Glassdoor. We link the page so you can read the full account.

What the interviewer is listening for

Two working approaches, a definition of duplicate, and ROW_NUMBER to keep one row.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

7For each dish at each restaurant, find the most recent availability status using the latest last_updated timestamp.Round 1: SQLAsked at Swiggy in a Data Science intern loop · via GlassdoorJun 2026
How you could answer

This is “latest row per group”. Use ROW_NUMBER() OVER (PARTITION BY restaurant_id, dish_id ORDER BY last_updated DESC) in a CTE and keep row number 1.

Mention the alternative: join to a subquery of MAX(last_updated) per restaurant and dish. Point out it can return two rows if two updates share the same timestamp, which ROW_NUMBER avoids (add a tie-breaker column).

Then say why the business cares: showing an unavailable dish as available causes cancelled orders.

SELECT restaurant_id, dish_id,
       status, last_updated
FROM (
  SELECT *,
    ROW_NUMBER() OVER (
      PARTITION BY restaurant_id,
                   dish_id
      ORDER BY last_updated DESC
    ) AS rn
  FROM dish_status
) t
WHERE rn = 1;

Reported by a candidate on Glassdoor. We link the page so you can read the full account.

What the interviewer is listening for

The latest-row-per-group pattern, awareness of timestamp ties, and a business reason.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

8What are the types of joins, and what happens when you join two tables that contain NULLs? Can you UNION tables with different data types?Round 2: TechnicalAsked at PhonePe · via AmbitionBoxNov 2022
How you could answer

Joins: inner, left, right, full outer and cross. NULLs never equal anything, including another NULL, so rows with a NULL join key do not match in an inner join; in a left join they stay, with NULLs on the right side.

UNION: the columns must match in number and have compatible types. Most databases try to convert implicitly (an integer and a decimal combine), but text and dates will fail or convert unpredictably, so cast explicitly. UNION removes duplicates; UNION ALL keeps them and is faster.

A good add: count rows before and after a join to catch silent losses or duplication.

Reported by a candidate on AmbitionBox. We link the page so you can read the full account.

What the interviewer is listening for

NULL-never-equals-NULL, explicit casting for UNION, UNION vs UNION ALL, and a row-count check.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

9Explain RANK vs DENSE_RANK, with a join question.Round 2: TechnicalAsked at Swiggy in a Business Analyst loop · via AmbitionBoxFeb 2024
How you could answer

Both rank rows by an ORDER BY. With ties, RANK skips numbers (1, 1, 3) and DENSE_RANK does not (1, 1, 2). ROW_NUMBER gives every row a unique number even when tied.

Use DENSE_RANK for “Nth highest value” and ROW_NUMBER when you need exactly one row per group.

Show it on a tiny example out loud: three restaurants with ratings 4.5, 4.5 and 4.2. That makes the difference obvious in ten seconds.

Reported by a candidate on AmbitionBox. We link the page so you can read the full account.

What the interviewer is listening for

Correct tie behaviour for all three functions and when to use each.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

10From a dataset of advertisers, their spend and ad types, build an analysis table of each advertiser’s annual spend, optionally split by a dimension.Final: SQL / data analysisAsked at Meta in a Staff Data Analyst loop · via Exponent on aced.io
How you could answer

Clarify the grain first: one row per advertiser per year, and which dimension (ad type, region) the team wants.

Then GROUP BY advertiser_id, EXTRACT(YEAR FROM spend_date) and, if needed, the dimension; SUM the spend. Add useful columns with window functions: share of the advertiser’s total, and year-on-year change with LAG.

Say how you would check it: totals by year should match the finance number, and advertisers with no spend in a year should show 0, not disappear (a LEFT JOIN to a calendar or advertiser list).

Reported by a candidate on Exponent (aced.io). We link the page so you can read the full account.

What the interviewer is listening for

Defining the grain, correct aggregation, useful derived columns, and reconciliation to a known total.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

11Find customers who ordered in January but not in February.Common SQL pattern
How you could answer

This is an anti-join: rows in one set with no match in another. The safest pattern is NOT EXISTS, because NOT IN returns nothing if the subquery contains a NULL.

SELECT DISTINCT o.customer_id
FROM orders o
WHERE o.order_date >= '2026-01-01'
  AND o.order_date <  '2026-02-01'
  AND NOT EXISTS (
    SELECT 1 FROM orders f
    WHERE f.customer_id = o.customer_id
      AND f.order_date >= '2026-02-01'
      AND f.order_date <  '2026-03-01'
  );

Use half-open date ranges (>= start, < next start) so you never miss orders late on the last day. The business reading: this is a churn list for a win-back campaign.

What the interviewer is listening for

Recognising the anti-join, NOT EXISTS over NOT IN, clean date ranges, and a business use.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

12Calculate a rolling 7-day average of daily revenue.Common SQL pattern
How you could answer

Aggregate to one row per day first, then average over the current row and the 6 before it.

WITH d AS (
  SELECT order_date AS day,
         SUM(amount) AS revenue
  FROM orders
  GROUP BY order_date
)
SELECT day, revenue,
  AVG(revenue) OVER (
    ORDER BY day
    ROWS BETWEEN 6 PRECEDING
         AND CURRENT ROW
  ) AS avg_7d
FROM d;

Point out the trap: ROWS counts rows, so a day with no orders is skipped and the window covers more than 7 calendar days. Join to a calendar table first, or use a RANGE window on dates where your database supports it. The first 6 days average fewer than 7 values.

What the interviewer is listening for

Daily aggregation first, the right window frame, and the missing-days trap.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

Excel, Power BI and Tableau

Services firms test Excel and Power BI in depth. EY candidates reported DAX, data modelling and row-level security; eClerx and EY asked about lookups and pivots. Know the “why”, not just the button.

13What is the difference between VLOOKUP, HLOOKUP, INDEX-MATCH and XLOOKUP?Round 1: TechnicalAsked at eClerx · via GlassdoorApr 2025
How you could answer

VLOOKUP searches the first column of a range and returns a value from a column to the right. HLOOKUP does the same across rows. With a hard-coded index number, VLOOKUP breaks when columns are inserted (HLOOKUP when rows are), and neither can look left or up.

INDEX-MATCH combines MATCH (find the position) with INDEX (return the value at that position), so it can look in any direction and survives inserted columns.

XLOOKUP, in newer Excel, does both in one function, defaults to an exact match, can search from the bottom, and has a built-in “if not found” value. Use XLOOKUP when the client’s Excel supports it, INDEX-MATCH otherwise.

Reported by a candidate on Glassdoor. We link the page so you can read the full account.

What the interviewer is listening for

The limitations of VLOOKUP, why INDEX-MATCH is more robust, and what XLOOKUP adds.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

14How do you use pivot tables to summarise data, and how do you remove duplicates in Excel?Round 1: TechnicalAsked at eClerx · via GlassdoorApr 2025
How you could answer

Pivot table: convert the data to a Table first so new rows are included, then put the category in Rows, the measure in Values (Sum or Count), and the date grouped by month in Columns. Use Show Values As for % of total.

Duplicates: Data → Remove Duplicates, choosing the columns that define a duplicate. Before deleting, flag them with COUNTIFS or the UNIQUE function so you can check what you are removing.

Mention that you keep the raw data untouched on its own sheet.

Reported by a candidate on Glassdoor. We link the page so you can read the full account.

What the interviewer is listening for

A practical pivot setup, defining which columns make a duplicate, and keeping raw data safe.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

15Given student names and marks, use VLOOKUP to fetch values, then build a pivot and find the count on it.Technical round (70 min)Asked at EY · via LeetCode DiscussJul 2022
How you could answer

This is a live task, so talk while you work. For the lookup: =VLOOKUP(name, A:B, 2, FALSE); explain that FALSE forces an exact match, which is the most common VLOOKUP mistake.

For the pivot: Insert → PivotTable, put a grouping (class or grade band) in Rows and the student name in Values set to Count.

If you have time, show a check: COUNTA of the names should equal the pivot’s grand total.

Reported by a candidate on LeetCode Discuss. We link the page so you can read the full account.

What the interviewer is listening for

Exact match in VLOOKUP, a correct pivot with Count, and a quick reconciliation.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

16Show me a project in Excel: share your screen and walk me through it.Interview (fresher)Asked at Flipkart · via GlassdoorSep 2024
How you could answer

Have one file ready before the interview. Open with the business question in one sentence and the answer in one sentence.

Then walk through the structure: a raw data sheet you never edit, a cleaning sheet, a calculations sheet, and an output sheet with the pivot or chart. Show one formula you are proud of and why you chose it.

End with what you would do differently with more time or a database.

Reported by a candidate on Glassdoor. We link the page so you can read the full account.

What the interviewer is listening for

Preparation, answer first, a clean sheet structure, and honest reflection.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

17What is the difference between Import mode and DirectQuery in Power BI?Power BI technical (interviewed Nov 2025)Asked at EY · via Glassdoor
How you could answer

Import copies the data into the Power BI model. It is fast and supports all DAX, but the data is only as fresh as the last scheduled refresh and the model has size limits.

DirectQuery leaves the data in the source and sends a query every time someone uses a visual. Data is current, but reports are slower, some DAX and transformations are limited, and the source database takes the load.

Pick Import for most reports; DirectQuery for very large or near-real-time data. Mention composite models, which mix both.

Reported by a candidate on Glassdoor. We link the page so you can read the full account.

What the interviewer is listening for

Freshness vs speed trade-off, DAX limits, source load, and when to use each.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

18What is the difference between SUM and SUMX? And between a measure and a calculated column?DAX technical (interviewed Nov 2025)Asked at EY · via Glassdoor
How you could answer

SUM adds up one column. SUMX is an iterator: it goes row by row through a table, evaluates an expression (such as quantity × price), then adds the results. Use SUMX when the value you need does not exist as a column.

A calculated column is computed once per row at refresh and stored in the model, so it uses memory and can be used to slice. A measure is computed at query time for whatever filters are on the visual, so it responds to slicers and stores nothing.

Rule of thumb: prefer measures for anything you aggregate.

Reported by a candidate on Glassdoor. We link the page so you can read the full account.

What the interviewer is listening for

Row-by-row iteration for SUMX, and storage vs query-time evaluation for column vs measure.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

19What is RLS, and how do you improve the performance of a Power BI report?Power BI technical (interviewed Nov 2025)Asked at EY · via Glassdoor
How you could answer

Row-level security restricts which rows a user can see. You define roles with DAX filters in Power BI Desktop (for example Region = “West”), or dynamic roles using USERPRINCIPALNAME(), then assign people to roles in the Power BI service.

Performance: use a star schema, remove unused columns, reduce cardinality (split date-time into date and time), prefer measures over calculated columns, limit visuals per page, and use Performance Analyzer to find the slow visual and its DAX.

Say you test RLS with “View as role” before publishing.

Reported by a candidate on Glassdoor. We link the page so you can read the full account.

What the interviewer is listening for

Static vs dynamic RLS, practical performance fixes, and measuring before optimising.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

20How do you decide which kind of chart suits a problem?InterviewAsked at Google · via Glassdoor
How you could answer

Start from the question the chart must answer. Change over time: a line chart. Comparing categories: a sorted bar chart. Part of a whole: a stacked bar, or a pie only for two or three parts. Relationship between two numbers: a scatter plot. Distribution: a histogram or box plot.

Then cut clutter: one message per chart, a title that states the finding, labels on the data instead of a legend where possible, and colour only to highlight.

Give an example of a chart you changed because the first version confused people.

Reported by a candidate on Glassdoor. We link the page so you can read the full account.

What the interviewer is listening for

Question-first chart choice, decluttering, and a real example.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

21How do you do data modelling in Power BI?TechnicalAsked at Deloitte · via GlassdoorMar 2026
How you could answer

Aim for a star schema: one fact table of events or transactions (orders, with amounts and keys) surrounded by dimension tables that describe them (customer, product, date, store).

Steps: clean in Power Query, create a proper date table and mark it, set one-to-many relationships from dimensions to the fact with single-direction filters, and hide the key columns from report users.

Explain why: a star schema keeps DAX simple and reports fast, while one wide flat table or many-to-many relationships cause wrong totals and slow visuals.

Reported by a candidate on Glassdoor. We link the page so you can read the full account.

What the interviewer is listening for

Fact vs dimension, a date table, relationship direction, and why it matters.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

22What does CALCULATE do in DAX, and what is filter context?Common Power BI question
How you could answer

Filter context is the set of filters active when a measure is evaluated: the row and column of the visual, slicers, and page or report filters. The same measure, such as [Total Sales], shows a different number in every cell because each cell has a different filter context.

CALCULATE evaluates an expression in a modified filter context. CALCULATE([Total Sales], Region = "West") adds or replaces a filter; CALCULATE([Total Sales], ALL(Product)) removes the product filter, which is how you build “% of total”.

Give one practical measure out loud, such as share of category: DIVIDE([Total Sales], CALCULATE([Total Sales], ALL(Product[Name]))).

What the interviewer is listening for

A clear definition of filter context, CALCULATE as the way to change it, and a working example.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

23Write a measure for sales growth versus the same period last year.Common Power BI question
How you could answer

You need a proper date table, marked as the date table and related to the fact table.

Then: Sales LY = CALCULATE([Total Sales], SAMEPERIODLASTYEAR('Date'[Date])). Growth = DIVIDE([Total Sales] - [Sales LY], [Sales LY]).

Mention the traps: without a continuous date table time intelligence returns wrong or blank values, and a partial current month compares against a full month last year, so you may need to limit last year to the same number of days.

What the interviewer is listening for

A marked date table, SAMEPERIODLASTYEAR inside CALCULATE, DIVIDE, and the partial-period trap.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

24What are level of detail (LOD) expressions in Tableau? When would you use FIXED?Common Tableau question
How you could answer

LOD expressions compute an aggregate at a level different from the view. FIXED computes at the dimensions you name, whatever is on the view; INCLUDE adds a dimension to the view’s level; EXCLUDE removes one.

Classic use of FIXED: each customer’s first order date, { FIXED [Customer ID] : MIN([Order Date]) }, which lets you build cohorts by first-purchase month on any chart.

Mention that FIXED is computed before most filters unless they are context filters, so a regular filter will not change it.

What the interviewer is listening for

The three LOD types, a real FIXED example such as cohorts, and how filters interact.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

Statistics and A/B tests

Product companies ask how you would know a change worked. Keep it practical: the hypothesis, the metric, the sample, significance, and the guardrail you would watch.

25How do you measure whether an experiment (A/B test) succeeded?InterviewAsked at Uber · via GlassdoorApr 2026
How you could answer

Before the test: write the hypothesis, pick one primary metric (for example orders per user) and one or two guardrails (cancellations, delivery time), and estimate the sample size you need for the smallest change worth detecting.

During: randomise at the right unit (user, not session), check that the groups look alike, and do not stop early because the numbers look good.

After: compare the primary metric with a significance test and a confidence interval, check the guardrails, and check big segments. Ship only if the primary metric improves and no guardrail gets worse.

Reported by a candidate on Glassdoor. We link the page so you can read the full account.

What the interviewer is listening for

Pre-registered metric and guardrail, sample size, proper randomisation, no peeking, and a clear ship rule.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

26How do we determine whether X is better than Y? What are the objectives first, and how would you think about stratified sampling here?Final: statistics and experimentationAsked at Meta in a Staff Data Analyst loop · via Exponent on aced.io
How you could answer

Start with what “better” means for the business: more engagement, more revenue, fewer complaints. Choose the metric that represents it and agree the time frame.

Then design the comparison: ideally a randomised test; if not possible, a careful before-and-after with a comparison group.

Stratified (blocked) randomisation: if users differ a lot by segment (country, new vs returning, platform), randomise within each segment so both groups get the same mix. That reduces noise and stops one group being, by chance, full of heavy users. Analyse per segment and overall.

Reported by a candidate on Exponent (aced.io). We link the page so you can read the full account.

What the interviewer is listening for

Objective before method, a fair comparison, and why stratifying reduces variance and imbalance.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

27State the null and alternative hypotheses if Flipkart moves customers from credit cards to UPI, and the metrics you would check.Round 2: TechnicalAsked at Swiggy in a Business Analyst loop · via AmbitionBoxFeb 2024
How you could answer

Pick the business outcome first. If the goal is fewer failed payments: the null hypothesis is that the payment success rate is the same with UPI as with cards; the alternative is that it is different (or higher, for a one-sided test).

Primary metric: payment success rate. Guardrails: checkout conversion, average order value (card users may buy more on EMI), refund and dispute rate, and payment cost per order.

Say you would test it on a random share of users and check segments such as order value bands, because high-value buyers may need cards for EMI.

Reported by a candidate on AmbitionBox. We link the page so you can read the full account.

What the interviewer is listening for

A correctly stated H0 and H1 tied to one metric, sensible guardrails, and a segment risk.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

28A test shows a p-value of 0.03 and a 95% confidence interval of +0.4 to +3.2 points. What does that mean? What are Type I and Type II errors?Common statistics question
How you could answer

If there were truly no difference, a result at least this extreme would happen about 3% of the time. Below the usual 0.05 threshold, so we call it statistically significant. It is not the probability that the change works.

The interval says the true lift is plausibly between 0.4 and 3.2 points. It excludes zero, which matches p < 0.05, but the low end is small: decide whether +0.4 would still be worth shipping.

Type I error: a false positive, shipping a change that does nothing (its rate is the 5% threshold). Type II error: a false negative, missing a real effect, usually because the sample was too small.

What the interviewer is listening for

A correct reading of the p-value, using the interval for business judgement, and both error types.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

29Explain correlation versus causation to a non-technical manager, with a business example.Common question
How you could answer

Two numbers moving together does not mean one causes the other. A hidden factor can drive both, or the direction can run the other way.

Business example: customers who open our emails buy more. That may be because loyal customers both open emails and buy more, not because the emails work. To know, send the email to a random half and hold out the other half, then compare purchases.

Keep it to three sentences and end with the test you would run.

What the interviewer is listening for

A plain explanation, a business example with a hidden factor, and a test to settle it.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

Metric and product cases

The question that separates analysts: a number moved, find out why. Use one order every time: check the data, split the metric, check internal changes, then external ones, then segment.

30The SLA is stable, but customer complaints have increased. What could be wrong?InterviewAsked at Uber · via GlassdoorApr 2026
How you could answer

First check the data: did the complaint form, category list or tracking change? Is the rise in absolute complaints or in complaints per order (orders may simply be up)?

Then ask whether the SLA measures what customers feel. An average can stay flat while the slow tail grows; check the 90th percentile and late-order share. Customers may also complain about things the SLA does not cover: wrong items, rude partners, refunds, app bugs.

Split complaints by type, city, partner and app version to find where the rise sits. Recommend by cause, and suggest adding the missing measure to the SLA.

Reported by a candidate on Glassdoor. We link the page so you can read the full account.

What the interviewer is listening for

Data check first, average vs tail, complaints the SLA ignores, and segmentation to find the cause.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

31How do you define and track a north-star metric? What would you track for a delivery or logistics system?InterviewAsked at Uber · via GlassdoorApr 2026
How you could answer

A north-star metric captures the value customers get and predicts long-term revenue. For delivery: completed on-time deliveries per week is a strong candidate, because it needs demand, supply and reliability to all work.

Under it, track drivers: orders placed, acceptance rate, pickup and delivery times, on-time %, cancellations. Add guardrails: cost per delivery, partner earnings per hour and complaints, so you do not grow the metric by burning money or partners.

Track it weekly by city in one dashboard with targets.

Reported by a candidate on Glassdoor. We link the page so you can read the full account.

What the interviewer is listening for

A value-based north star, a driver tree under it, and guardrails.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

32Why did Flipkart’s revenue drop 20% in December compared with November?Round 4: One-on-oneAsked at Swiggy in a Business Analyst loop · via AmbitionBox
How you could answer

Clarify: gross merchandise value or net revenue? All categories? Compared with last December too?

Then think seasonality first. In India, October–November often carries the festive sale season, so December can be lower every year. Compare December with last December, not just with November.

If it is a real drop: split revenue into visitors × conversion × orders per buyer × order value. Check internal causes (fewer sales events, pricing, app issues, delivery delays) and external ones (competitor sales, payment problems). Segment by category, city and new vs returning users, then recommend by cause.

Reported by a candidate on AmbitionBox. We link the page so you can read the full account.

What the interviewer is listening for

Seasonality before alarm, year-on-year comparison, a revenue formula, and segmented causes.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

33Do a root-cause analysis of a drop in click-through rate (CTR) on YouTube.Round 3: Case studyAsked at Swiggy in a Business Analyst loop · via AmbitionBox
How you could answer

CTR = clicks ÷ impressions, so it can fall because clicks fell or because impressions rose. Check which.

If impressions jumped (a new surface or autoplay change shows more thumbnails), CTR can fall while total clicks rise: that may be fine. If clicks fell, check the data pipeline, then internal changes (a new ranking model, thumbnail layout, app release) and external ones (a holiday, a competitor event).

Segment by surface (home, search, suggested), device, country and creator type. Recommend a rollback or test for the change that lines up with the drop.

Reported by a candidate on AmbitionBox. We link the page so you can read the full account.

What the interviewer is listening for

Decomposing a ratio into numerator and denominator, and segmenting by surface and device.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

34A product is not getting the downloads it was expected to. What would you look at, and what would you suggest?Technical: SQL + Python + analyticsAsked at Amazon in a Data Analyst intern loop · via Glassdoor
How you could answer

First question the forecast: what was it based on, and is it still valid?

Then walk the funnel: store impressions → store page views → installs → first open. Find the step where the gap sits. Low impressions point to discoverability (search ranking, ads); low page-to-install conversion points to the store page (screenshots, ratings, app size); low opens point to onboarding or a bug.

Segment by channel, country and device. Suggest one test per weak step, such as new screenshots or a smaller app size, and the metric you would watch.

Reported by a candidate on Glassdoor. We link the page so you can read the full account.

What the interviewer is listening for

Questioning the target, a funnel to locate the gap, and a test per weak step.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

35If we send emails to customers, how would you think about engagement? Which metrics matter, how would they show up in the data, and how would you code them?Phone interviewAsked at Meta in a Staff Data Analyst loop · via Exponent on aced.io
How you could answer

Start from the email’s goal (bring people back, sell, inform). Then the funnel: delivered → opened → clicked → did the target action (a session, a purchase) within N days. Opens are unreliable because of privacy features, so lean on clicks and downstream actions.

Add guardrails: unsubscribes and spam complaints.

In the data: an email_events table (user, email_id, event_type, timestamp) joined to product events. Code it with conditional counts per email, and measure the real effect against a holdout group that did not get the email.

Reported by a candidate on Exponent (aced.io). We link the page so you can read the full account.

What the interviewer is listening for

Goal-driven metrics, unreliable opens, guardrails, a concrete data model, and a holdout for causality.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

36For a product like Instagram, what are we analysing, which metrics matter, how would you set a target, and what guardrails would you watch?Final: product senseAsked at Meta in a Staff Data Analyst loop · via Exponent on aced.io
How you could answer

Pick a surface and its goal, for example Reels: help people find short videos they enjoy.

Metrics: daily users of Reels, time spent per user, and a quality signal such as shares or follows from Reels. Choose one as primary.

Target: base it on the trend, seasonality and the expected effect of planned launches, not a round number. Guardrails: overall app time (did Reels just steal from Feed?), creator posting, reports and well-being signals such as late-night use. Say you would review the target each quarter.

Reported by a candidate on Exponent (aced.io). We link the page so you can read the full account.

What the interviewer is listening for

A clear goal per surface, a primary metric, a target method, and cannibalisation and quality guardrails.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

37Calculate the cost per order and rider earnings city by city.Round 3: Case studyAsked at Zomato in an Analyst loop · via AmbitionBoxDec 2022
How you could answer

Agree the definitions: cost per order = total rider payouts (base pay + distance pay + incentives) ÷ delivered orders; rider earnings per hour = payouts ÷ logged-in hours.

In SQL or a pivot: group payouts, orders and hours by city and week, then divide. Show both side by side, because pushing cost per order down usually pushes earnings down too.

Point out what drives the differences: distance per order, orders per hour (batching), incentive spend at peak, and rain or festival days. Recommend where cost can fall without cutting earnings, such as better batching.

Reported by a candidate on AmbitionBox. We link the page so you can read the full account.

What the interviewer is listening for

Clear definitions, the two metrics side by side, the drivers behind city differences, and a balanced recommendation.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

Guesstimates, Python and data cleaning

Consulting and analytics firms (ZS, Mu Sigma) and some campus loops (PhonePe) add guesstimates. Product loops add pandas. For guesstimates, state each assumption with a number and do the arithmetic out loud.

38How many pizzas are sold in one day in Pune? (Asked at ZS, role not stated, per AmbitionBox)Fit round with manager / principalReported · AmbitionBox
How you could answer

Choose a structure: people × share who eat pizza in a day. Assume Pune’s population is about 7 million (state it as an assumption).

Segment: say 40% are 15–40 and urban-affluent enough to buy pizza often. If they eat pizza about once a fortnight, that is 7M × 0.4 ÷ 14 ≈ 200,000 people a day; at about 1.5 people per pizza that is roughly 130,000 pizzas. Add a smaller older and younger segment at once a month.

Sanity-check from supply: outlets × pizzas per outlet per day. If both land in the same range, you are done.

Reported by a candidate on AmbitionBox. We link the page so you can read the full account.

What the interviewer is listening for

A clear structure, stated assumptions, clean arithmetic, and a supply-side sanity check.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

39How much paint would you need for a 10 × 10 × 10 m room? (Asked at ZS, role not stated, per AmbitionBox)Video interview: HR + guesstimatesReported · AmbitionBox
How you could answer

Clarify: paint the four walls only, or the ceiling too? Any doors and windows? One coat or two?

Four walls: 4 × 10 × 10 = 400 m². Add the ceiling: 500 m². Subtract roughly 10% for a door and windows, so about 450 m².

Coverage: assume one litre covers about 10 m² per coat. Two coats: 450 × 2 ÷ 10 = 90 litres. Add 10% for waste: about 100 litres.

Reported by a candidate on AmbitionBox. We link the page so you can read the full account.

What the interviewer is listening for

Clarifying scope, clean geometry, a coverage assumption, and coats plus waste.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

40How many people watched Ramayana or Mahabharat in the first month of the 2020 Covid lockdown? (Asked at ZS, role not stated, per AmbitionBox)Behavioural round (as labelled by the reviewer)Reported · AmbitionBox
How you could answer

Structure by TV households: India has roughly 200 million TV households (an assumption to state). Most were at home during lockdown, and the re-runs were on the national broadcaster.

Assume 40–50% of TV households tuned in at least once in the month, and about 3–4 viewers per household. That gives roughly 200M × 0.45 × 3.5 ≈ 300 million people.

Say what would change it (cable vs free-to-air reach, repeat viewers) and how you would check: published broadcast ratings data for that period.

Reported by a candidate on AmbitionBox. We link the page so you can read the full account.

What the interviewer is listening for

A household-based structure, reach and household size assumptions, and a named way to verify.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

41Given customer orders with several dishes each, find the pair of dishes that appear together in the most orders.Round 1: Python / SQLAsked at Swiggy in a Data Science intern loop · via GlassdoorJun 2026
How you could answer

In pandas: group dishes by order_id into lists, then generate every pair within each order with itertools.combinations on the sorted list (sorting makes (A, B) and (B, A) the same). Count pairs with a Counter or value_counts and take the top one.

In SQL: self-join the order_items table on order_id where a.dish_id < b.dish_id, GROUP BY the pair and ORDER BY COUNT(*) DESC.

Mention scale: orders with many items create many pairs, so filter rare dishes first. The business use: combo offers and “frequently ordered together”.

Reported by a candidate on Glassdoor. We link the page so you can read the full account.

What the interviewer is listening for

Pairs within an order, de-duplicating (A, B) vs (B, A), and a scale and business note.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

42What is a DataFrame in pandas?Python, after project deep-diveAsked at Tiger Analytics in a Senior Data Analyst loop · via GlassdoorJun 2024
How you could answer

A DataFrame is a two-dimensional table in pandas: labelled columns, each with its own data type, and an index for the rows. Think of it as a spreadsheet or SQL table in Python.

Then show you use it: read_csv to load, head and info to inspect, boolean filters to select rows, groupby with agg to summarise, merge to join, and isna with fillna or dropna for missing values.

A senior answer adds a caution: check dtypes after loading, because numbers read as text break sums silently.

Reported by a candidate on Glassdoor. We link the page so you can read the full account.

What the interviewer is listening for

A clear definition plus the everyday operations, and a practical caution.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

43Create two datasets of your own, turn them into DataFrames, merge them, then drop rows with missing values.Technical round (70 min)Asked at EY · via LeetCode DiscussJul 2022
How you could answer

Build two small dicts and wrap them in pd.DataFrame: customers (id, name, city) and orders (order_id, customer_id, amount). Include one customer with no orders and one order with a missing amount on purpose.

Merge: pd.merge(customers, orders, left_on="id", right_on="customer_id", how="left"). Explain why how="left" keeps customers without orders.

Then think before dropping. After the left merge, the customer with no orders also has a missing amount, so df.dropna(subset=["amount"]) removes them too. Say which you want: drop only orders with a missing amount (filter the orders table first, or use an inner merge), or keep the customer and fill amount with 0. Print shapes before and after.

Reported by a candidate on LeetCode Discuss. We link the page so you can read the full account.

What the interviewer is listening for

Working code, a deliberate join type, a targeted dropna, and row counts before and after.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

44How do you handle missing values and outliers in a dataset?Common data-cleaning question
How you could answer

First find out why they are missing or extreme, because the reason decides the fix. Profile each column: share missing, and whether missingness depends on something (one app version, one city).

Missing values: drop rows only when few are missing at random; otherwise fill with a sensible value (median, 0 where 0 is true, last known value for time series) and add a flag column so the fill is visible.

Outliers: check whether they are errors (a ₹10 crore order from a test account) or real (a bulk buyer). Fix or remove errors; keep real ones, but report the median alongside the mean or cap them for the analysis. Always say what you changed and how many rows it touched.

What the interviewer is listening for

Diagnosing the cause first, choosing a fix by cause, and being transparent about what changed.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

Explaining and behavioural

Analysts are judged on whether people act on their numbers. Prepare four stories with numbers: an insight that changed a decision, a number you got wrong, a stakeholder who disagreed, and a messy dataset you cleaned.

45How would you analyse a large dataset to find trends and present the insights to non-technical stakeholders?Final case study discussionAsked at Microsoft · via GlassdoorJan 2026
How you could answer

Analysis: agree the question, profile the data (size, gaps, duplicates), aggregate to the level that matters (week, region, segment), and look for changes over time and differences between segments. Check that a trend survives seasonality and a few outliers.

Presenting: lead with the answer in one sentence, then the two numbers that prove it, one chart with a title that states the finding, and the decision you recommend.

Use an example from your own work and say what the audience did next.

Reported by a candidate on Glassdoor. We link the page so you can read the full account.

What the interviewer is listening for

A structured analysis, robustness checks, an answer-first story, and a real outcome.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

46How do you validate your insights before presenting them? What is your approach to root-cause analysis?InterviewAsked at Uber · via GlassdoorApr 2026
How you could answer

Validation: reconcile totals to a trusted source (finance, a known dashboard), re-run the key number a second way, check the data for gaps or duplicates in the period, and ask whether the effect holds across segments and time. Have a colleague sanity-check anything surprising.

Root cause: confirm the change is real, split the metric into its drivers, find which driver moved, then check internal changes (releases, pricing, operations) and external ones (season, competitors), and segment until the cause is narrow enough to act on.

Give one example where validation caught an error.

Reported by a candidate on Glassdoor. We link the page so you can read the full account.

What the interviewer is listening for

Concrete validation habits, a repeatable root-cause order, and an example.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

47How do you make your colleagues trust you?Interviews with future colleaguesAsked at Uber · via GlassdoorJan 2025
How you could answer

For an analyst, trust comes from numbers that hold up and from saying what you are unsure of.

Give habits: document how each metric is defined, show the query or source behind a number, flag caveats up front, deliver when you said you would, and correct mistakes quickly and openly.

Tell one short story: a time you found an error in your own work, told people before they found it, and fixed it. That is usually the moment trust was built.

Reported by a candidate on Glassdoor. We link the page so you can read the full account.

What the interviewer is listening for

Reliability, transparency about method and uncertainty, and owning errors.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

48How do you take criticism?HRAsked at PhonePe · via AmbitionBoxDec 2024
How you could answer

Show that you separate the work from yourself. Say you ask what specifically is wrong and why, check it against the data, and change the work if they are right.

Give a real example: a manager said your dashboard was confusing, you asked which decisions they used it for, rebuilt it around those three questions, and usage went up.

If you disagreed, say how you showed the evidence calmly and accepted the final call.

Reported by a candidate on AmbitionBox. We link the page so you can read the full account.

What the interviewer is listening for

Curiosity over defensiveness, a real example, and a measurable change.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

49Have you had a conflict at work? How did you resolve it?Behavioural round (30 min)Asked at EY · via LeetCode DiscussJul 2022
How you could answer

Pick a work disagreement about substance, not personalities: for example two teams using different definitions of “active customer” and getting different numbers.

Explain what each side wanted, how you brought both definitions and the data to one meeting, and how you agreed on one definition (or showed both, clearly labelled).

End with the result: one number everyone used, and a written definition so it did not happen again.

Reported by a candidate on LeetCode Discuss. We link the page so you can read the full account.

What the interviewer is listening for

A conflict about substance, understanding both sides, a data-led resolution, and a lasting fix.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

50Tell me about yourself. (For freshers applying to data analyst roles)Common opening question
How you could answer

Keep it to about 60 seconds in three parts: present, past, next.

Present: “I am a final-year B.Com student specialising in analytics.” Past: one or two pieces of proof, such as “I analysed 1.2 million public food-delivery orders in SQL and found repeat orders drop sharply after 45-minute waits; the dashboard is on my Tableau Public”, plus an internship or a role where you owned a report. Next: why this role and company, in one sentence.

Do not list every course. Interviewers often pick one thing you mention and ask about it, so lead with the project you know best.

What the interviewer is listening for

A short present-past-next structure, real proof with a number, and a reason for this role.

Tick what your answer covered.

How did your answer compare?

Your rating decides when this question comes back for review.

Reading answers is not practice.

Answer these out loud to an AI interviewer and get feedback in minutes.

Start a mock interview
Up next · Step 6 · 4 minYour prep plan and resources
Step 6 of 6 · 4 min

Your prep plan and resources

Pick the plan that matches the time you have. Then learn the AI skills this role now expects, and go deeper with the best free resources.

Pick your plan: 7, 14 or 30 days

Tick tasks off as you go (saved on this device), and put the sessions in your calendar so they actually happen.

7 daysInterview next week0/7

45 minutes a day at 8 pm, starting tomorrow. Works with Google, Apple and Outlook calendars.

14 daysBuild the skills and the proof0/4

45 minutes a day at 8 pm, starting tomorrow. Works with Google, Apple and Outlook calendars.

30 daysRun a proper search0/5

45 minutes a day at 8 pm, starting tomorrow. Works with Google, Apple and Outlook calendars.

AI skills for a Data Analyst

Most interviews now ask how you use AI. Learn what LLMs are, practise with the free OpenAI and Anthropic courses, then build one small agent or automation you can show.

Why it matters for this role
AI now sits inside the analyst’s tools: Copilot in Power BI writes DAX and report pages (it needs paid Fabric F2+ or Premium P1+ capacity; a Pro licence alone is not enough), Gemini in BigQuery writes SQL and charts from plain English, and ChatGPT runs pandas code on files you upload. In an Alteryx survey of 1,400 analysts (vendor research), 97% said AI tools speed up their daily tasks. Learn to prompt for a first-draft query, then check it against a hand-calculated number. Interviewers still test whether you can write and debug SQL yourself.
  1. Start hereAndrej Karpathy
    Intro to Large Language Models (1-hour talk)

    The clearest plain-English explanation of what an LLM is, how it is trained and where it fails.

    Key idea: An LLM predicts the next token. Everything else (chat, tools, agents) is built on top of that.

  2. Start hereOpenAI
    OpenAI Academy: AI Foundations, Applied AI, Agents and Workflows

    Free, self-paced courses of about 60–90 minutes each, with a completion certificate (needs a ChatGPT account).

    Key idea: Use AI on your real work every day. Interviewers now ask how you already use it.

  3. Start hereAnthropic
    Anthropic Academy: AI Fluency, the Claude API, MCP and Claude Code

    Anthropic’s own courses, from working well with AI to building on the Claude API, with certificates.

    Key idea: Being fluent means knowing when to delegate to AI, how to describe the task and how to check the output.

  4. BuildAnthropic
    Prompt engineering overview (Claude docs)

    Practical techniques: clear instructions, examples, structure and letting the model think step by step.

    Key idea: Define what “good” looks like and test against it before you tweak the wording.

  5. BuildAnthropic (Dec 2024)
    Building effective AI agents

    The most cited guide to workflow vs agent patterns, written from Anthropic’s work with customers.

    Key idea: Start with the simplest thing that works. Add agent autonomy only when results show it helps.

  6. BuildOpenAI (Apr 2025)
    A practical guide to building agents (PDF)

    When to build an agent, how to design its tools and instructions, and how to add guardrails.

    Key idea: An agent is a model plus tools plus instructions. Guardrails decide whether you can trust it.

  7. Go deepern8n
    n8n Academy: build automations and AI workflows

    Hands-on courses from your first workflow to APIs and AI, without needing to be a full-time engineer.

    Key idea: Ship one small automation that saves someone an hour a week. That is your best proof of work.

All free AI and interview resources

The best resources for Data Analyst interviews

The one thing to understand
Every data analyst answer ends in a decision, not a number. Restate the business question, say how you would get and check the data, give the result in one sentence, and say what the team should do and how you would know it worked. A perfect query with no “so what” scores lower than a simple query with a clear recommendation.
CourseFree
SQLBolt

Why it matters: Interactive lessons that run in the browser. Key idea: learn SELECT, filters, joins and aggregates by typing queries, not by reading syntax.

CourseFree
Advanced SQL tutorial (formerly Mode, now ThoughtSpot)

Why it matters: Takes you to the level interview rounds expect. Key idea: subqueries and window functions answer most “per group” and “over time” questions.

ToolFree
DataLemur

Why it matters: SQL interview questions tagged by company and difficulty, with a free tutorial. Key idea: drill the patterns (top-N, latest row, retention) until they are automatic.

ToolFree
StrataScratch

Why it matters: A large bank of company interview questions in SQL and Python; free learning paths need no card. Key idea: after each query, write one sentence on what the result means.

ToolFree
HackerRank SQL (Basic) certification

Why it matters: A 30-minute, 2-question test in the format many online assessments use. Key idea: practise under a timer, because OA rounds are timed.

GuideFree
Amazon BIE interview prep (official)

Why it matters: Amazon’s own description of its analyst and BIE assessment and loop. Key idea: the online assessment has three parts (SQL Challenge, Working with SQL, Work Styles), then a 60-minute phone screen.

GuideFree
10 minutes to pandas (official docs)

Why it matters: The fastest tour of the pandas you will be asked about. Key idea: selection, missing data, merge, groupby and pivot_table cover most analyst Python rounds.

Course
Google Data Analytics Professional Certificate (Coursera)

Why it matters: A structured beginner path through spreadsheets, SQL, Tableau and analysis; $49 a month in the US after a 7-day trial, with financial aid. Key idea: finish the case-study project and put it in your portfolio.

Course
Microsoft PL-300: Power BI Data Analyst

Why it matters: The standard Power BI credential; the exam is 100 minutes and priced by country. Key idea: the skills outline (prepare, model, visualise, secure) is also a good interview syllabus.

ToolFree
Tableau Public

Why it matters: A free place to publish dashboards recruiters can open. Key idea: one clean dashboard on public data beats a list of course certificates.

Book
Storytelling with Data (Cole Nussbaumer Knaflic)

Why it matters: The best guide to the “present your findings” part of analyst interviews. Key idea: cut clutter and make the chart title state the finding.

GuideFree
Overview of Copilot for Power BI (Microsoft Learn)

Why it matters: What Copilot can do in Power BI and what it needs. Key idea: it writes DAX and report pages, but requires paid Fabric F2+ or Premium P1+ capacity.

GuideFree
BigQuery data canvas (Google Cloud docs)

Why it matters: How Gemini in BigQuery turns plain English into SQL and charts. Key idea: treat AI-written SQL as a draft and check it against a number you trust.

GuideFree
Data analysis with ChatGPT (OpenAI Help)

Why it matters: How ChatGPT runs pandas code on your files and shows it. Key idea: read the generated code; the chart is only as right as the code behind it.

Our guideFree
Learn AI: what is an LLM?

Why it matters: A short, free lesson on what AI tools can and cannot do with your data, so you can answer “how do you use AI in analysis?”.

Free · No signup to start

Practise out loud. It’s free.

A Data Analyst mock interview with an AI interviewer, with feedback on every answer.

Start a free mock interview

Prepare for another new-age role

Data Analyst: frequently asked questions

What questions are asked in a data analyst interview?

Mostly SQL (joins, window functions, top-N per group, repeat rate), Excel or Power BI (lookups, pivots, DAX, data modelling), a metric or product case (why did a number drop?), basic statistics and A/B tests, and behavioural questions about explaining numbers. Indian services firms often add guesstimates and an aptitude test.

What is the data analyst salary in India?

In 14 full-time Indian data analyst posts we opened in November 2026, pay ranged from ₹3–5 LPA to ₹20–35 LPA, with a median midpoint of ₹13.5 LPA. Levels.fyi’s India median is ₹14.6 lakh. Two Bengaluru startups posted the highest bands, for 2-year analysts.

How many rounds are there in a data analyst interview?

Usually three to five: a screen or online assessment, one or two technical rounds (SQL, Excel or Power BI), a case or manager round, and HR. Flipkart candidates reported three SQL rounds; Meta’s staff loop had six final rounds.

Is SQL enough to get a data analyst job?

SQL is the most tested skill, but most posts also ask for Excel and a BI tool such as Power BI or Tableau, and many for Python. Just as important is explaining what your query means for the business.

Do data analysts need to know AI tools?

Increasingly. Copilot in Power BI and Gemini in BigQuery write first-draft DAX and SQL. Interviewers still test whether you can write and check queries yourself, so learn to use AI for drafts and verify every number.

Can a fresher become a data analyst?

Yes. Many Indian analyst roles hire freshers through campus drives, and posts such as Newton School’s list fresher pay of ₹4–8 LPA. Two public projects on real data and solid SQL are the best way in.