What each data analyst interview stage tests, from the SQL round to the metrics case and take-home, with two worked examples and a two-week plan.
A data analyst interview checks three things across its stages: whether you can get the right numbers out of messy tables, whether you can reason about what a number means for the business, and whether you can explain the answer to someone who does not write SQL. Employers that publish their analyst hiring processes use different mixes of recruiter screens, technical or case-study interviews, take-home tasks and interviews with stakeholders about how you work, so ask your recruiter which stages you will face. If your interview is close, go straight to the worked metrics case and SQL question further down, then use the two-week plan to fill the gaps.
What Meta, GitLab and Monzo say about hiring for data roles
Meta's guide is for a data science role rather than a data analyst job: its Data Scientist, Product Analytics tech screen is one 45-minute interview that "combines technical coding and a case study". It assesses four areas: programming, determining goals and success metrics, data analysis and research design. Candidates work from table descriptions and sample rows in CoderPad, where "written code will not be executed", and SQL, Python or R are all accepted. Because querying and business reasoning share the same 45 minutes, you cannot prepare them as separate skills.
GitLab's handbook lists its data analyst hiring steps in order: a short questionnaire, a screening call with a recruiter, a first interview with a leader from the Data team, then individual interviews with a Data team member, a business division team member and an executive leader. Its requirements ask for "fluency in SQL" covering multi-table joins, grouping and aggregation, common table expressions and conditional filters, plus fluency in a business intelligence tool ("we use Tableau"). One of the three final interviews is with a business division team member, so expect questions about working with people outside the data team.
Monzo's data hiring post, which covers data analysts among other data roles, describes a 30-minute recruiter call, an initial call with behavioral and "maybe some light technicals questions" where you talk through a project, then a role-specific take-home with no time limit, and final interviews made up of a case study and a business fit and collaboration interview with people such as a product manager, business analyst or engineer. Monzo says it gives guidance on the output it wants but leaves some things intentionally vague so it can "see the decisions that you make along the way", and it may hold a follow-up interview to talk through your solution.
The UK government's data analyst role profile describes the job rather than the interview, but its skills list includes data preparation, data visualisation, "communicating between the technical and non-technical" and delivering business impact through data. Put that next to GitLab's request for clear status updates to stakeholders and Monzo's collaboration interview, and explaining data to non-specialists looks like a core skill rather than a soft extra.
The skill behind each data analyst interview stage
Recruiter screen
The recruiter checks that your experience matches the role and that the logistics work. Monzo describes this call as a check that the role you applied for is the best fit for you. Prepare a two-minute account of your analysis work that names the tools you used and one decision your analysis changed, because that is the evidence the later rounds will test.
SQL round
This round checks whether you can turn a plain-language question into a correct query and explain each step. Expect joins, aggregation, filtering and common table expressions, which match GitLab's SQL requirements listed above, plus window functions, a common addition for ranking and running totals. Meta's guide says its interviewers look at "dataset merging, data filtering for insights, handling missing data", and its tips are to read the table description and sample rows carefully, ask when something is unclear, and think out loud. For practice problems, our SQL questions pitched at three years of experience covers these patterns.
Spreadsheet or BI tool task
When the job description names a spreadsheet or BI tool, as GitLab's names Tableau, be ready to use it in a live task or a take-home and to answer questions about it. In a spreadsheet, the PivotTable is the workhorse, and Microsoft notes that its source data should sit in columns with a single header row, so tidy the data first. In a BI tool, expect questions about calculations that respond to filters: Power BI measures are written in DAX and their results "change as you interact with your reports", and Tableau's level of detail expressions (FIXED, INCLUDE and EXCLUDE) let you compute values at a level other than the one shown in the view. Our pages on Excel questions for data analysts, Power BI and Tableau go tool by tool.
Metrics or product case
Meta splits this into metric definition, where you choose a success metric for a feature, and metric analysis, where "Metric X moved Y% in the last N days" and you explain what might be causing it. Its tips are to define the metric precisely, including the time window, and to avoid answers that would fit any metric movement. Monzo's case study is document-based instead: you receive context about a use case, can ask questions, then prepare and discuss your approach. The worked case below shows the metric analysis version.
Take-home assignment
A take-home tests judgment more than speed. Monzo's take-home has no textbook-style questions and, as described above, leaves some things intentionally vague, so the assumptions you write down are part of what is assessed, not a disclaimer to hide at the end. Ask the recruiter how long candidates are expected to spend and whether you will present the work, which the take-home section below covers.
Behavioral and stakeholder interviews
GitLab puts you in front of a business division team member and an executive, and Monzo runs a business fit and collaboration interview with colleagues from outside data, such as a product manager, business analyst or engineer. Prepare stories about a stakeholder who disagreed with your numbers, a time you found an error in your own analysis, and a request you pushed back on or reshaped. Our behavioral interview guide shows how to structure those stories so the result and your own part in it are clear.
Worked metrics case (illustrative): weekly active users fell 8%
The prompt is our own example: "Weekly active users dropped 8% last week compared with the week before. What do you check first?" A strong answer moves from whether the number is real, to where the drop sits, to what to do.
First, pin down the definition and the baseline. Ask what counts as active (any event, or a meaningful action such as a session or purchase) and compare the drop with the same week last year and with the previous several weeks, because a holiday week can produce a fall like this on its own.
Second, rule out a data problem before building a story. A drop concentrated on a single day suggests logging, a broken event after an app release, or a pipeline that loaded partial data, while a drop spread across the week suggests real behavior.
Third, decompose the metric. Weekly active users are the sum of users retained from last week, new users and returning users who had lapsed, so find which part fell. A fall in new users points to acquisition, such as paused campaigns or a ranking change, while a fall in retained users points to the product experience.
Fourth, segment the part that fell by platform, app version, country and acquisition channel. Suppose, for illustration, that new users were flat, retained users fell 12% and almost all of that fall came from one Android version released on Tuesday. That is now a specific hypothesis, such as a login or crash bug in that release, that the team can check against crash logs and support tickets.
Finally, size it and recommend an action: roll back or fix the release, add an alert on that segment, and name a counter metric to watch so the fix does not hide another problem. A strong answer keeps this order, checking the data before explaining it, and ties each hypothesis to the product, which is the specificity Meta's guide asks for when it warns that an answer that could apply to any other metric movement is likely not specific enough.
Worked SQL question (illustrative): day-7 retention by signup date
The prompt, also our own example: you have signups(user_id, signup_date) with one row per user and events(user_id, event_date) with many rows per user, both dates of type date. Return day-7 retention for each signup date, where a user counts as retained if they had any event exactly seven days after signing up. The query below uses PostgreSQL syntax, where adding an integer to a date adds that many days.
WITH day7_active AS (
SELECT DISTINCT s.user_id
FROM signups AS s
JOIN events AS e
ON e.user_id = s.user_id
AND e.event_date = s.signup_date + 7
)
SELECT
s.signup_date,
COUNT(*) AS signups,
COUNT(d.user_id) AS retained_day7,
ROUND(100.0 * COUNT(d.user_id) / COUNT(*), 1) AS day7_retention_pct
FROM signups AS s
LEFT JOIN day7_active AS d
ON d.user_id = s.user_id
WHERE s.signup_date < CURRENT_DATE - 7
GROUP BY s.signup_date
ORDER BY s.signup_date;What an interviewer probes is the decisions behind the query as well as the syntax:
- You confirm the definition before writing, because "on day 7" and "within 7 days" give different numbers, and Meta's guide notes that retention can be defined in many ways.
- You use
DISTINCTin the common table expression, so a user with several events on day 7 is counted once. - You use a
LEFT JOIN, so every signup stays in the denominator and a signup date with no retained users still appears with zero. - You filter out recent cohorts whose seventh day has not finished yet, which would otherwise make retention look like it is falling.
- You multiply by
100.0first, because PostgreSQL truncates division between integers, and both counts are integers.
A common follow-up is a running total. Adding SUM(COUNT(*)) OVER (ORDER BY s.signup_date) AS cumulative_signups to the select list works because PostgreSQL evaluates window functions after grouping, so an aggregate can sit inside a window function, and an ORDER BY in the window produces a running sum.
Presenting a take-home with the conclusion first
Assume the reviewer reads your first page carefully and skims the rest, so put the answer where they will see it in the first minute. The structure we recommend runs in this order:
- Open with the answer in one or two sentences, with the key number, for example which segment drives the decline and by how much.
- Follow with your recommendation and how confident you are in it, including what would change your mind.
- Show two or three charts that support the answer, each with a title that states the finding rather than the variable names.
- List the assumptions you made where the brief was vague, and the data checks you ran, such as duplicates, missing values and date ranges.
- Close with what you would do next with more time or data, and put code or the notebook in an appendix.
This order matters most in the follow-up conversation, because an interviewer who interrupts at minute two has already heard your conclusion. Practise a three-minute version and a ten-minute version of the same story, since you will not know which one the room wants.
A two-week plan to prepare for a data analyst interview
Week one builds the technical base:
- Work through timed SQL problems for about 45 minutes a day, mixing joins, aggregation, CTEs and window functions, and narrate each step as you would to an interviewer.
- Rebuild one retention or funnel query from scratch without notes, then change its definition and adjust the query.
- Build one small dashboard or PivotTable analysis in the tool named in the job description.
- Write down two metric definitions for a product you use, with time windows and a counter metric for each.
Week two turns it into answers you can say out loud:
- Run three metric analysis cases aloud, following the order of checking the data, decomposing, segmenting and recommending.
- Do one practice take-home from a public dataset and write it up with the conclusion first, then present it to a friend in ten minutes.
- Prepare four behavioral stories about stakeholders, errors and pushback, and time each one to about two minutes.
- Read the company's product pages and job description, and prepare questions about how the team uses its data.
Our list of data analyst interview questions is useful for spot-checking gaps in week two. If you are interviewing with Mercor, our Mercor data analyst interview guide covers that process, and if the role leans toward pipelines and modeling, our data engineer interview guide explains how those rounds differ.
Run a mock metrics case with Verve AI
In the metrics case and the take-home follow-up you have to keep your reasoning in order while someone interrupts with questions, and that is hard to rehearse on paper. Verve AI's AI Mock Interview can run a session from its Data & Analytics question bank, from your own custom questions or from a LinkedIn job description, with an AI recruiter asking the questions and your answers transcribed as you go, followed by "a detailed performance report with personalized feedback and scoring". Keep it to rehearsal: Meta's tech screen guide asks candidates to "not use any unauthorized outside assistance during interviews" and lists "using AI tools, like ChatGPT" as outside assistance.
FAQ
What is the data analyst interview process?
It varies by employer, so ask the recruiter. GitLab publishes a questionnaire, a recruiter screen, a Data team leader interview, then interviews with a Data team member, a business team member and an executive. Monzo publishes a recruiter call, an initial call, an untimed take-home, and finals made up of a case study and a collaboration interview, while Meta's tech screen for its Data Scientist, Product Analytics role combines coding and a case study in 45 minutes.
Is the data analyst technical interview mostly SQL?
GitLab requires fluency in SQL and Meta accepts SQL, Python or R in its coding portion, while Monzo's post names no language, and none of them tests querying alone. Meta's 45-minute screen also covers success metrics, data analysis and research design, and GitLab asks for fluency in business intelligence tools (it uses Tableau) as well as SQL. Expect to explain what your query result means, not just to produce it.
Do I need Python for a data analyst interview?
Not always. Meta accepts SQL, Python or R in its tech screen and says it does not assess you on a specific language, and GitLab's data analyst requirements name SQL and Tableau but not Python. Check the job description, and if Python is listed, practise basic data manipulation in pandas as well as SQL.
How long should a data analyst take-home assignment take?
Employers handle this differently, and Monzo says it sets no time limit, so ask the recruiter how long candidates are expected to spend and whether you will present it. Spend the time you have on a clear conclusion, stated assumptions and data checks rather than on extra charts. Lead the write-up with that conclusion, as in the structure above, so a reviewer who only reads the first page still sees your answer.
Sources
- Meta Data Science, Product Analytics tech screen (one 45-minute interview combining "technical coding and a case study"; four areas: programming, goals and success metrics, data analysis, research design; table descriptions and sample rows; "dataset merging, data filtering for insights, handling missing data"; SQL, Python or R accepted, not assessed on a specific language; CoderPad, "written code will not be executed"; tips to read tables carefully, ask for clarification, think out loud; metric definition vs metric analysis, "Metric X moved Y% in the last N days"; define retention precisely with time bounds; avoid generic answers; counter metrics; rule on "unauthorized outside assistance" including "using AI tools, like ChatGPT"). The guide PDF is linked from this page: https://www.metacareers.com/DS-prep-initial/
- GitLab data analyst job description (hiring steps: questionnaire, recruiter screening call, first interview with a Data team leader, individual interviews with a Data team member, a business division team member and an executive leader; "fluency in SQL" with multi-table joins, grouping and aggregation, CTEs, conditional filters; BI tool fluency, "we use Tableau"): https://handbook.gitlab.com/job-description-library/marketing/enterprise-data/data-analyst/
- Monzo data hiring process (covers data analysts; 30-minute recruiter call; initial call with behavioral and "maybe some light technicals questions" and talking through a project; role-specific take-home with no time limit and no textbook questions, details vague to "see the decisions that you make along the way", possible follow-up interview; final case study with a context document and questions; business fit and collaboration interview with product manager, business analyst or engineer): https://monzo.com/blog/2022/03/21/data-hiring-at-monzo
- UK government data analyst role (skills including data preparation and linkage, data visualisation, "communicating between the technical and non-technical", delivering business impact through data): https://understand-digital-data-roles-skills.service.gov.uk/role/data-analyst
- PostgreSQL window functions (rows keep identity; ORDER BY in the window gives a running sum; window functions run after grouping, so aggregates can be used inside them): https://www.postgresql.org/docs/current/tutorial-window.html
- PostgreSQL date arithmetic (date + integer adds days,
date '2001-09-28' + 7gives2001-10-05): https://www.postgresql.org/docs/current/functions-datetime.html - PostgreSQL division (for integral types, division truncates the result towards zero): https://www.postgresql.org/docs/current/functions-math.html
- Microsoft PivotTable (source data in columns with a single header row): https://support.microsoft.com/en-us/office/create-a-pivottable-to-analyze-worksheet-data-a9a84538-bfe9-40a9-a8e9-f99134456576
- Power BI measures (written in DAX; results "change as you interact with your reports"): https://learn.microsoft.com/en-us/power-bi/transform-model/desktop-measures
- Tableau level of detail expressions (FIXED, INCLUDE, EXCLUDE; compute values at the data source level and the visualization level): https://help.tableau.com/current/pro/desktop/en-us/calculations_calculatedfields_lod.htm
- Verve AI Mock Interview (Data & Analytics question bank, custom questions, LinkedIn job description, AI recruiter, transcription, report wording): https://docs.vervecopilot.com/features/mock-interview
Ryan, CEO of Verve AI
Interview Guides








