Data analyst is one of the fastest-growing job titles in India in 2026, with demand from product companies (Flipkart, Swiggy, Razorpay, Meesho), e-commerce and fintech startups, and traditional BFSI companies moving toward data-driven decision making. Interviews combine SQL, Python (pandas), statistics, and business case thinking. This guide covers the high-frequency interview questions across each domain.
SQL Questions in Data Analyst Interviews
Must-know SQL for data analyst interviews: (1) Joins: INNER JOIN (only rows where both tables match), LEFT JOIN (all rows from left table, NULL for non-matching right), RIGHT JOIN (all from right, NULL for non-matching left), FULL OUTER JOIN (all rows from both, NULL where no match). 'Write a query to find customers who have never placed an order': SELECT c.customerid, c.name FROM customers c LEFT JOIN orders o ON c.customerid = o.customerid WHERE o.customerid IS NULL. (2) GROUP BY and HAVING: GROUP BY aggregates rows by one or more columns; HAVING filters on aggregated values (equivalent to WHERE but for aggregate functions). 'Find products with more than 100 sales in Q1 2025': SELECT productid, COUNT(*) as sales FROM orders WHERE orderdate BETWEEN '2025-01-01' AND '2025-03-31' GROUP BY productid HAVING COUNT(*) > 100. (3) Window functions: ROWNUMBER() OVER (PARTITION BY ... ORDER BY ...): unique sequential number within each partition. RANK() OVER (...): same rank for ties, skips subsequent ranks. DENSERANK() OVER (...): same rank for ties, no skipped ranks. LAG(column, 1) OVER (ORDER BY ...): value from the previous row. LEAD(column, 1) OVER (...): value from the next row. (4) CTEs (Common Table Expressions): WITH keyword defines a temporary named result set. Useful for breaking complex queries into readable steps. 'Find the top product in each category by revenue': WITH ranked AS (SELECT productid, category, SUM(price) AS revenue, RANK() OVER (PARTITION BY category ORDER BY SUM(price) DESC) AS rk FROM orderitems GROUP BY productid, category) SELECT * FROM ranked WHERE rk = 1.
Python and Pandas Questions for Data Analyst Interviews
Python questions in data analyst interviews: (1) Data loading and basic exploration: pd.readcsv(), df.head(), df.shape, df.dtypes, df.describe(), df.info(). 'What is the difference between df.describe() and df.info()?' (describe(): summary statistics for numeric columns: count, mean, std, min, 25th/50th/75th percentile, max; info(): data types, non-null counts, memory usage; use info() to identify missing values and column types). (2) Data cleaning: missing values: df.isnull().sum() (count missing per column); df.fillna(value) (fill with a constant); df.fillna(df.mean()) (fill with column mean); df.dropna() (drop rows with any missing value). Duplicates: df.duplicated().sum() (count duplicates); df.dropduplicates(inplace=True). Type conversion: df['column'].astype(int), pd.todatetime(df['datecolumn']). (3) GroupBy and aggregation: df.groupby('category')['revenue'].agg(['sum', 'mean', 'count']). df.groupby(['category', 'region'])['revenue'].sum().reset_index(). 'What is the difference between transform() and agg() in groupby?' (agg() reduces each group to a scalar value, returning a smaller dataframe; transform() returns a series of the same length as the input, with each row replaced by the aggregated value of its group — useful for adding a 'group total' column to the original dataframe without losing rows). (4) Merging: df1.merge(df2, on='key', how='left') is equivalent to SQL LEFT JOIN; outer, inner, right options match the SQL join types.
Statistics and Probability Questions in Data Analyst Interviews
Statistics interview questions: (1) 'What is the central limit theorem and why is it important for data analysis?' (CLT: the distribution of sample means approaches a normal distribution as sample size increases, regardless of the population distribution; this allows us to make inferences about a population from a sample; it justifies using normal-distribution-based statistical tests even when the underlying data is not normally distributed, as long as the sample size is sufficiently large (typically n >= 30)). (2) 'When is the mean a misleading measure of central tendency?' (when data is skewed or has outliers; example: average income in India would be pulled up significantly by a few billionaires, making the mean much higher than what most people earn; in skewed distributions, median is more representative; always look at both mean and median and the difference between them (if large, the distribution is skewed)). (3) 'What is a p-value in hypothesis testing?' (the probability of getting your observed results (or more extreme) if the null hypothesis is true; a p-value of 0.03 means there is a 3% chance of seeing these results by random chance alone; if p < 0.05 (the typical significance threshold), we reject the null hypothesis). (4) 'What is the difference between Type I error and Type II error?' (Type I error (false positive): rejecting the null hypothesis when it is actually true; in A/B testing, concluding a feature is better when it is not; Type II error (false negative): failing to reject the null hypothesis when it is false; concluding a feature makes no difference when it actually does; the trade-off: reducing Type I error (using stricter significance thresholds) increases Type II error (missing real effects)). (5) A/B testing basics: control group vs treatment group, random assignment, minimum detectable effect, statistical significance, sample size calculation.
Practise data analyst interviews with HireStepX's AI voice interviewer. Get scored feedback on your SQL explanations, case study structure, and analytical reasoning. First 2 sessions free.
Practice freeData Analyst Case Study Questions in India
Common case study patterns: (1) Metric drop root cause analysis. Question: 'Daily active users on Swiggy dropped 12% yesterday. How would you investigate?' Expected structure: (a) First ask: is this real? Check data pipeline for errors or logging issues. (b) Segment the drop: is it mobile or web? New users or returning? A specific city or nationwide? Specific time of day? (c) Check if there was a product change, push notification campaign, or marketing change that day. (d) Form 3 hypotheses: app crash on a specific OS version, bad push notification that drove uninstalls, a competitor campaign. (e) Check external: social media sentiment, competitor activity, news events. (f) Prioritise hypotheses by ease of investigation and probability. (2) Metric definition question. 'How would you measure the health of Razorpay's payment success rate?' (not just one metric: consider success rate (transactions completed / transactions initiated), latency (p50, p90, p99 transaction time), error rate broken down by error type (card declined, timeout, gateway error), partial failure rate (payment initiated but not confirmed)). (3) Estimation. 'Estimate how many Swiggy Instamart orders happen in Mumbai per day' (same structure as PM estimation: population, segment by likely users, estimate frequency, calculate, sanity check against known numbers).
Frequently asked questions
Explore more