Mock Interview Script¶
A mock interview only works if you treat it like the real thing. That means: no notes in front of you, answers spoken out loud (not written), and a timer running.
This is a 45-minute mock interview. Run it with a partner if possible. If you are alone, record yourself on your phone. Watching a recording of yourself answering technical questions is uncomfortable — which is exactly why it is useful.
Interview Structure¶
| Segment | Time | What Is Being Evaluated |
|---|---|---|
| Introduction and background | 5 min | Communication clarity, self-awareness |
| Technical questions | 20 min | Conceptual accuracy, ability to explain under pressure |
| Case study | 15 min | Structured thinking, business judgment, analytics reasoning |
| Candidate questions | 5 min | Curiosity, preparation, professionalism |
Segment 1 — Introduction and Background (5 min)¶
Interviewer Script¶
"Thanks for joining. Tell me about yourself and what brought you to data science."
What the Interviewer Is Evaluating¶
- Can this person communicate clearly without rambling?
- Do they know what they want and why?
- Is there evidence of actual work, not just course completions?
What a Strong Answer Includes¶
- A 60–90 second narrative (not a full biography)
- One specific project or result that demonstrates real work
- A clear statement of what kind of data science work excites you
- No apologies for being a bootcamp graduate or career changer
Template¶
I spent [time period] learning data science with a focus on [area]. During that time,
I completed a project on [topic] where I [what you did] using [tools], and achieved
[result]. I am most interested in [specific type of work — e.g., "applied ML for
operations problems" or "product analytics at a consumer company"] because [honest reason].
What a Weak Answer Looks Like¶
"I have always been interested in data and statistics. I took a bunch of courses and really enjoyed them. I am still learning but I am very passionate and a quick learner."
Warning
"I am a quick learner" and "I am passionate" are the two most common phrases in weak self-introductions. Every candidate says them. They signal nothing to an interviewer. Replace them with a specific result.
Segment 2 — Technical Questions (20 min)¶
The interviewer asks four questions. For each: the candidate answers, the interviewer probes once. Allow 4–5 minutes per question including the follow-up.
Question 1¶
Interviewer: "Walk me through what happens when a random forest makes a prediction."
What the interviewer is evaluating: Does the candidate understand ensembling — not just that it "averages trees" but why that reduces error? Can they explain it without bullet points in front of them?
What a strong answer includes: - Bootstrap sampling: each tree trains on a random subset of rows drawn with replacement - Feature subsampling: at each split, only a random subset of features is considered - Prediction: majority vote for classification, average for regression - Why it works: trees are decorrelated (they see different data and features), so averaging them reduces variance while keeping bias low
What a weak answer looks like: "A random forest uses multiple decision trees and averages them. It is better than a single tree because it reduces overfitting."
Interviewer follow-up:
"Why does limiting the features at each split help?"
Strong follow-up answer: Without feature subsampling, all trees would tend to split on the same dominant features and be highly correlated with each other. Averaging correlated predictions gives almost no variance reduction. By forcing each tree to consider different features, you make the trees diverse — and diverse errors cancel when averaged.
Question 2¶
Interviewer: "Your model has AUC 0.91 on training data and 0.72 on validation data. What do you think is happening and what do you do?"
What the interviewer is evaluating: Does the candidate recognise this as overfitting? Do they know the practical steps to fix it, not just the theory?
What a strong answer includes: - Names the problem: overfitting / high variance - Checks for data leakage first (before assuming the model is wrong) - Proposes concrete fixes: increase regularisation, reduce complexity, use more data, feature selection, early stopping - Mentions checking the learning curve
Interviewer follow-up:
"You check and there is no leakage. AUC on validation is still 0.72. What would you try first?"
Strong follow-up answer: I would tune regularisation hyperparameters (increase alpha for logistic regression, reduce max_depth and increase min_samples_leaf for tree models) using cross-validation on the training set. I would plot a learning curve to see if the gap closes with more training data — if it does, getting more data is the best fix. If the gap is large regardless of training size, the model is too complex for the feature set.
Warning
A candidate who says "I would try a different algorithm" without first diagnosing the problem is not demonstrating good ML judgment. Switching algorithms is rarely the right first step.
Question 3¶
Interviewer: "Write a SQL query to find the top 3 users by total purchase amount in each country."
What the interviewer is evaluating: Can the candidate write a window function correctly? Do they know RANK() vs ROW_NUMBER()? Do they handle ties correctly?
Strong answer:
WITH ranked_users AS (
SELECT
user_id,
country,
SUM(purchase_amount) AS total_spend,
RANK() OVER (
PARTITION BY country
ORDER BY SUM(purchase_amount) DESC
) AS spend_rank
FROM purchases
GROUP BY user_id, country
)
SELECT
user_id,
country,
total_spend,
spend_rank
FROM ranked_users
WHERE spend_rank <= 3
ORDER BY country, spend_rank;
Interviewer follow-up:
"If two users are tied for 3rd place in a country, does your query return both of them?"
Strong follow-up answer: Yes — RANK() assigns the same rank to ties and skips the next rank (so you get ranks 1, 2, 3, 3, 5). Both tied users at rank 3 would be returned. If the requirement is exactly 3 rows per country regardless of ties, I would use ROW_NUMBER() instead, which breaks ties arbitrarily.
Question 4¶
Interviewer: "How would you approach a dataset where 95% of the labels are class 0 and 5% are class 1?"
What the interviewer is evaluating: Does the candidate know why accuracy is useless here? Do they know concrete strategies — class weighting, SMOTE, threshold tuning? Do they connect metric choice to business context?
What a strong answer includes:
- Opens with: "I would not use accuracy as my metric. A model that predicts class 0 for everything achieves 95% accuracy and is useless."
- Names the right metric family: precision, recall, F1, AUC-ROC, AUC-PR (precision-recall AUC is often more informative on very imbalanced data)
- Names at least two resampling or weighting strategies: class_weight='balanced', SMOTE
- Mentions threshold tuning on the precision-recall curve
Interviewer follow-up:
"You try SMOTE and your validation F1 improves. But when you deploy, performance is worse than you expected. What might have gone wrong?"
Strong follow-up answer: The most likely cause is that SMOTE was applied to the entire dataset before splitting, which means synthetic minority samples derived from validation rows appeared in training — that is data leakage. SMOTE must be applied only to the training fold, inside a cross-validation loop or pipeline. The second possibility is that the real-world class distribution is even more extreme than 5/95 in production, making the model's learned threshold wrong.
Segment 3 — Case Study (15 min)¶
Interviewer: "A mobile app's day-1 retention dropped from 45% to 30% over the past two weeks. Nothing obviously changed in the product. Walk me through how you would investigate this."
What the interviewer is evaluating: - Does the candidate ask clarifying questions before jumping to solutions? - Do they distinguish between a data/measurement problem and a real retention problem? - Do they segment the analysis systematically? - Do they connect their analysis to a business recommendation?
Candidate guidance — what to say:
First, clarify before doing anything: - "Is this a confirmed measurement, or could it be a tracking issue? Has anyone checked whether the event that defines Day-1 retention was logging correctly during this period?" - "Is this affecting all acquisition channels equally, or is it concentrated in one?" - "Did anything change — a paid acquisition campaign, a new ad creative, a change to the onboarding flow, even a backend deployment?"
Then structure your approach: - "I would split this into two phases: first rule out measurement error, then segment the real drop to find the cause."
Then walk through the segments: - Platform: iOS vs Android vs web - Acquisition channel: organic, paid social, paid search, referral - Geography: global vs specific markets - User cohort: new vs returning users - Onboarding completion: users who complete onboarding vs those who drop off
Close with a recommendation structure: - "Within the first hour, I would confirm the metric is real and not a tracking issue. Within the first day, I would have a segmentation breakdown with a hypothesis about root cause. Within 48 hours, I would recommend a specific fix — whether that is pausing a bad acquisition campaign, rolling back a deployment, or escalating a bug report."
What a weak answer looks like: "I would build a model to predict which users will have low Day-1 retention." (This is a diagnosis problem, not a prediction problem. Modelling is not the right tool here.)
Success
The best case study answers follow a clear structure, make their reasoning explicit at each step, and end with a concrete recommendation. Interviewers do not expect perfection. They want to see how you think when a problem is ambiguous.
Segment 4 — Questions for the Interviewer (5 min)¶
These questions signal that you have thought seriously about the role and the team. Pick 2–3. Do not ask about salary or benefits in this round.
Strong questions:
- "What does the data infrastructure look like today — what does a typical data pipeline from raw source to analyst-ready table involve?"
- "How does the data science team work with the engineering team when a model goes to production?"
- "What does the team consider a successful data science project — and can you give me an example of one from the past year?"
- "Where do you see the biggest unmet data needs in the team right now?"
- "How are models monitored after deployment? Who owns that?"
Questions to avoid:
- "What does your company do?" (You should already know this)
- "How quickly can I get promoted?" (Too early)
- "How many vacation days do I get?" (Save for HR)
- "Do you have any concerns about my candidacy?" (Puts the interviewer in an awkward position; does not help you)
Self-Assessment Rubric¶
After the mock interview, score yourself on each dimension. Be honest.
| Dimension | 1 — Needs work | 3 — Developing | 5 — Strong |
|---|---|---|---|
| Clarity of self-introduction | Rambling, no clear story | Some structure, weak result | Clear narrative, specific result |
| Technical accuracy | Key concepts wrong | Mostly right, some gaps | Accurate with appropriate nuance |
| Ability to explain under pressure | Froze or gave up | Partial answer with hedging | Worked through it clearly |
| SQL correctness | Major errors | Minor errors | Correct, explained reasoning |
| Case study structure | Jumped to solution | Some structure, missing steps | Clarified, structured, analysed, recommended |
| Connecting analysis to business | Never mentioned business impact | Mentioned it at the end | Integrated throughout |
| Handling follow-up questions | Could not extend the answer | Partial extension | Extended confidently |
| Questions asked | "Do you have any concerns?" | Generic questions | Specific, well-researched questions |
Score interpretation: - 32–40: Strong candidate — focus on polish and domain depth - 20–31: Developing — identify the lowest two scores and practise those specifically - Below 20: More deliberate practice needed — use the technical questions and case studies in this session repeatedly before a real interview
Tip
Score yourself immediately after the mock, not hours later. The discomfort of scoring yourself a 2 on "case study structure" while the experience is fresh is exactly what drives the right kind of practice.