The most-asked data analysis interview questions — SQL, Python, statistics and dashboards — with clear, honest answers. Read them, then practise out loud in a free AI mock interview.
Practise these in a free AI mock interviewINNER JOIN returns only rows that match in both tables. LEFT JOIN returns every row from the left table plus matches from the right, with NULLs where there is no match. Use LEFT JOIN when you must keep all records from the main table even if they have no related row.
First understand why they are missing. Then either drop rows/columns (if few and non-critical) or impute — mean/median for numbers, mode or an "Unknown" category for text, forward-fill for time series. Always document your choice, since imputation can bias results.
Correlation means two variables move together; causation means one actually drives the other. Ice-cream sales and drownings rise together in summer but neither causes the other. Confusing them leads to wrong business decisions.
It is the probability of seeing your result (or a more extreme one) if there were truly no real effect. A small p-value (say < 0.05) suggests the effect is unlikely to be random chance. It does not tell you the size or importance of the effect.
Use a window function: RANK() OVER (PARTITION BY region ORDER BY revenue DESC), then keep rows where the rank is 3 or less. Window functions rank within each group without collapsing rows like GROUP BY would.
WHERE filters individual rows before grouping; HAVING filters groups after GROUP BY aggregation. Use WHERE for raw conditions (age > 25) and HAVING for aggregate conditions (SUM(sales) > 1000).
Bar charts compare values across categories (sales by product). Line charts show a trend over a continuous axis, usually time (revenue by month). Using a line for unordered categories misleads the viewer.
Load with read_csv, inspect via info()/describe(), drop exact duplicates, standardise column names, fix data types (dates, numbers), handle missing values, trim/normalise strings, and validate ranges — all in a reproducible script.
A Common Table Expression (WITH ... AS) is a named temporary result you reference in the main query. It makes complex queries readable, lets you build them step by step, and is required for recursive queries.
Lead with the decision or insight, not the method. Use one clear chart, plain language, and a concrete recommendation. Keep the technical detail ready for follow-up questions, but do not open with it.
All rank rows within a partition. ROW_NUMBER gives every row a unique number even for ties. RANK gives ties the same rank but skips the next number (1, 1, 3). DENSE_RANK gives ties the same rank without skipping (1, 1, 2).
GROUP BY collapses rows into one per group for aggregation. PARTITION BY, used with a window function, computes across a group but keeps every individual row, so you can show a total or rank next to each row.
Spot them with box plots, the IQR rule or z-scores. Then decide if they are errors or real: fix or drop genuine mistakes, cap extreme values, transform the data (e.g. log), or use robust measures like the median. Never delete real values just because they are inconvenient.
When the data is skewed or has outliers — like income or house prices. The mean gets pulled by extreme values, while the median (the middle value) better represents a typical case.
You split users into two groups, show each a different version, and compare a key metric. With enough sample size, a statistical test tells you whether the difference is real or just chance before you roll out the winner.
A primary key uniquely identifies each row in a table (unique, not null). A foreign key points to another table's primary key, linking the tables and keeping the data consistent.
ETL extracts data, transforms it, then loads it into the warehouse. ELT loads the raw data first and transforms it inside the warehouse. ELT suits modern cloud warehouses that can transform at scale.
Define the goal, choose one primary metric tied to it (activation, retention, conversion), add guardrail metrics, compare against a control or baseline, and check the difference is statistically significant before concluding.
Normalization rescales values to a fixed range like 0 to 1. Standardization rescales to a mean of 0 and standard deviation of 1. Both put features on comparable scales; which you use depends on the algorithm and the data.
First notice it — one class is rare. Then resample (oversample the minority or undersample the majority), use class weights, or judge the model with precision, recall and F1 instead of plain accuracy, which can be misleading.
loc selects by label (row and column names); iloc selects by integer position. df.loc[0] uses the index label 0, while df.iloc[0] always means the first row regardless of its label.
A Type I error is a false positive — seeing an effect that is not really there. A Type II error is a false negative — missing an effect that is real. Reducing one often increases the other.
Break it down by region, product, channel and time to find where the drop is concentrated. Rule out data issues first, then look for real causes — a bug, a price change, seasonality, a competitor — and confirm with the business.
SQL for querying, Python with pandas (or R) for analysis, Excel for quick tasks, and a BI tool like Power BI or Tableau for dashboards — increasingly alongside AI assistants that speed up routine steps.
Keep the work in scripts or notebooks rather than manual clicks, version-control the code, document data sources and assumptions, parameterise inputs, and avoid one-off edits so anyone can rerun it and get the same result.
Knowing the answers isn’t enough — say them out loud
Practise these Data Analysis questions in a free AI mock interview: answer by voice, get instant feedback on your strengths and the gaps to fix.
Admissions open · free to apply
Attended a masterclass or have a friend's referral code? You get ₹15,000 off. Fill this and our team takes it from here — pay by cash or online.