Interview preparation · Updated

ML Engineer interview questions and answers

53 questions ML Engineer candidates are asked in 2026, in the order a real interview usually goes, each with an easy answer you can study and say out loud. Then 27 quick quiz questions to test yourself. For a scored session with your gaps explained, use interview practice.

How a ML Engineer interview usually goes

  1. Recruiter screen
  2. Coding round: Python data structures, sometimes an ML algorithm from scratch (logistic regression, k means)
  3. ML fundamentals: bias and variance, metrics, overfitting, feature engineering
  4. ML system design: recommendation, fraud or ranking system end to end
  5. Behavioural and project deep dive

Based on 2026 candidate reports. Companies vary, so use this as a map.

👋 Opening: about you

Almost every interview starts here. These answers set the tone, so prepare them word for word and practise them out loud.

  1. 1Tell me about yourself.

    💬 Easy answer

    Use present, past, future, in about 60 to 90 seconds. Present: "I'm a Java backend developer with four years at a fintech company, where I build payment APIs." Past: "Over the last year I moved towards AI. I built a document question answering app with RAG and an evaluation set, and I used an LLM to classify support tickets at work, which cut manual triage by about 30%." Future: "Now I want to do this full time as an AI engineer, and this role fits because you build LLM features on top of real backend systems, which is exactly where my strengths meet."

    ✅ A strong answer covers

    • Present: current role and one concrete thing you do
    • Past: the 1 or 2 experiences that lead to this role, with a number
    • Future: why this role and this company is the logical next step
    • Keep it under 2 minutes; don't recite your whole resume

    What they're really checking: Can you tell a clear, relevant story about yourself? It's also a test of communication: structure and confidence matter more than detail.

    📖 Learn it: Landing the AI role: resume, applications and interviews

  2. 2Why do you want to move into AI, and why this particular role?

    💬 Easy answer

    Give a real reason and connect it to evidence. "In my testing work I kept seeing the same problem: thousands of test cases written and checked by hand. When I tried an LLM to draft test cases, it saved hours, but it also made mistakes I had to catch. That got me interested in building AI systems that are actually reliable. I've since completed projects in RAG and evaluation. I'm applying for this role because it focuses on shipping AI features to users, and my background in quality and testing directly helps with evaluating AI output."

    ✅ A strong answer covers

    • A specific moment or problem that sparked the interest (not "AI is the future")
    • Proof you've acted on it: courses finished, projects built
    • How your previous experience transfers to this role
    • Why this role, not just AI in general

    What they're really checking: Is your interest genuine and backed by action? Interviewers worry about people chasing hype who will lose interest.

    📖 Learn it: Landing the AI role: resume, applications and interviews · Building a portfolio project that gets interviews

  3. 3Why do you want to work here?

    💬 Easy answer

    Show you've done homework. Mention one thing about their product, one thing about how they work, and link both to you. "I've used your app for expense reports, and I noticed the receipt scanning recently got much better, so I read your engineering blog about it. I like that your team publishes how you evaluate models, because I care about measuring AI quality. And since you serve small businesses in India, my experience building for that market would help from day one."

    ✅ A strong answer covers

    • Something specific about their product or users
    • Something about their team, values or engineering approach
    • Why you fit: a direct link to your skills
    • Avoid answers that fit any company ("great culture", "big brand")

    What they're really checking: Have you researched the company, and are you likely to stay?

    📖 Learn it: Landing the AI role: resume, applications and interviews

  4. 4You haven't had an AI job title yet. Why should we hire you over someone who has?

    💬 Easy answer

    Don't be defensive. Turn the gap into a strength. "That's fair. What I bring is production experience: I've spent five years shipping and supporting real systems, handling incidents and working with stakeholders. Many AI projects fail at exactly that stage, after the demo. On the AI side, I've built two end to end projects with evaluation, which I can show you. So you'd get someone who learns fast and already knows how to make software work in production."

    ✅ A strong answer covers

    • Acknowledge it calmly in one sentence
    • Name the transferable strengths (production, domain, communication)
    • Show evidence of AI skills: projects, results, code
    • End with what you'll deliver, not what you lack

    What they're really checking: How do you handle a tough question about a weakness? Calm, honest and evidence based beats defensive.

    📖 Learn it: Building a portfolio project that gets interviews · Landing the AI role: resume, applications and interviews

🧱 Fundamentals

Short concept questions to check your basics. Answer in 3 to 5 sentences, with one example.

  1. 5Explain supervised, unsupervised and reinforcement learning, with an example of each.

    💬 Easy answer

    Supervised learning learns from examples that have the right answer, called labels. For example, emails marked spam or not spam, so the model learns to predict spam. Unsupervised learning has no labels; it finds structure by itself, like grouping customers into segments by behaviour. Reinforcement learning learns by trial and error with rewards, like a game playing agent or a robot that gets a reward when it does the task well. LLMs also use reinforcement learning from human feedback to make answers more helpful.

    ✅ A strong answer covers

    • Supervised = labelled data, predicts a known target
    • Unsupervised = no labels, finds groups or patterns
    • Reinforcement = actions, rewards, learning by trial and error
    • A real example for each

    What they're really checking: Basic vocabulary and whether you can give examples on the spot.

    📖 Learn it: How machines learn: features, labels and training · Two kinds of prediction: regression and classification

  2. 6What is overfitting, and how do you prevent it?

    💬 Easy answer

    Overfitting is when a model memorises the training data, including its noise, so it scores very well on training data but badly on new data. It's like a student who memorises last year's answers but can't solve a new question. You spot it when training accuracy is high and validation accuracy is much lower. To prevent it: get more data, use a simpler model, add regularisation, use cross validation, stop training early, and for neural networks use dropout.

    ✅ A strong answer covers

    • Definition: good on training data, poor on unseen data
    • How to detect: compare train vs validation scores
    • At least three fixes: more data, simpler model, regularisation, early stopping, dropout
    • Mention underfitting as the opposite

    What they're really checking: The single most asked ML concept. They want the detection method, not only the definition.

    📖 Learn it: Train/test split and overfitting

  3. 7What is the bias variance trade off?

    💬 Easy answer

    Bias is error from a model that's too simple, so it misses real patterns. That's underfitting. Variance is error from a model that's too sensitive to the training data, so small changes in the data change it a lot. That's overfitting. Making a model more complex usually lowers bias but raises variance. The goal is the sweet spot where total error on new data is lowest, which we find using validation data. For example, a straight line through curved data has high bias; a very deep decision tree has high variance.

    ✅ A strong answer covers

    • Bias = too simple, underfits
    • Variance = too sensitive, overfits
    • Complexity trades one for the other; pick by validation error
    • An example of each

    What they're really checking: Whether you understand why models fail, not just how to train them.

    📖 Learn it: Train/test split and overfitting

  4. 8Why do we split data into training, validation and test sets?

    💬 Easy answer

    The training set is what the model learns from. The validation set is used while building, to compare models and tune settings like depth or learning rate. The test set is kept locked away until the very end to get an honest estimate of how the model will do on new data. If you tune on the test set, you slowly overfit to it and your final number becomes too optimistic. For time based data, split by time, so you train on the past and test on the future.

    ✅ A strong answer covers

    • Train = learn, validation = choose and tune, test = final honest check
    • Never tune on the test set
    • Split by time for time series; split by user or group to avoid leakage

    What they're really checking: Experiment discipline. Many candidates forget the role of the validation set.

    📖 Learn it: Train/test split and overfitting

  5. 9What is data leakage? Give an example.

    💬 Easy answer

    Leakage is when information that won't be available at prediction time sneaks into training, so the model looks great in testing and then fails in production. A classic example: predicting whether a customer will cancel, and including a feature like "refund issued", which only happens after they cancel. Another is scaling features using statistics from the whole dataset before splitting, so the test set influences training. To avoid it, ask for each feature: would I know this value at the moment I make the prediction? And do all preprocessing inside the training split.

    ✅ A strong answer covers

    • Definition: future or target information in the training features
    • A concrete example (post outcome feature, preprocessing before split, duplicate rows across splits)
    • Symptom: suspiciously high scores
    • Prevention: point in time features, pipelines fitted on train only

    What they're really checking: A favourite for experienced ML candidates, because it shows real world scars.

    📖 Learn it: Train/test split and overfitting · Feature engineering: turning raw data into useful inputs

  6. 10Explain precision and recall. When would you prefer one over the other?

    💬 Easy answer

    Precision: of everything the model flagged as positive, how many were really positive. Recall: of all the real positives, how many the model caught. For a cancer screening test or fraud detection, missing a real case is very costly, so we prefer high recall, even if we get some false alarms. For a spam filter, putting a real email into spam is annoying, so we prefer high precision. F1 score combines both when you need one number, and you can move between them by changing the decision threshold.

    ✅ A strong answer covers

    • Precision = correctness of positive predictions
    • Recall = coverage of actual positives
    • Choose based on which mistake costs more, with an example
    • Threshold controls the trade off; F1 balances them

    What they're really checking: Whether you can connect a metric to a business cost.

    📖 Learn it: Measuring models: accuracy, precision and recall

  7. 11Your model is 99% accurate, but the business says it's useless. How is that possible?

    💬 Easy answer

    Probably the classes are imbalanced. If only 1% of transactions are fraud, a model that always says "not fraud" is 99% accurate and catches zero fraud. Accuracy hides that. I'd look at the confusion matrix, precision and recall for the rare class, and metrics like PR AUC. Then I'd check the business goal: maybe they need to catch 80% of fraud while keeping false alarms low enough for the review team to handle, and I'd tune the threshold for that.

    ✅ A strong answer covers

    • Class imbalance makes accuracy misleading
    • Use confusion matrix, precision, recall, PR AUC
    • Tie the metric to the business goal and capacity
    • Fixes: threshold tuning, class weights, resampling

    What they're really checking: Can you think beyond the headline number? Very common in 2026 interviews.

    📖 Learn it: Measuring models: accuracy, precision and recall

  8. 12What is regularisation? What's the difference between L1 and L2?

    💬 Easy answer

    Regularisation adds a penalty for large weights to the loss, which keeps the model simpler and reduces overfitting. L2, also called ridge, penalises the square of weights, so it shrinks all weights smoothly towards zero but rarely to exactly zero. L1, also called lasso, penalises the absolute value, which pushes some weights to exactly zero, so it also does feature selection. In neural networks we also use dropout and weight decay, which is L2 in practice.

    ✅ A strong answer covers

    • Penalty on weight size added to the loss
    • L2 shrinks smoothly; L1 makes some weights exactly zero
    • Strength is a hyperparameter tuned on validation data

    What they're really checking: Standard ML theory; they may follow up with why L1 creates zeros.

    📖 Learn it: Train/test split and overfitting · Gradients and gradient descent: how models improve

  9. 13What's the difference between a random forest and gradient boosting?

    💬 Easy answer

    Both combine many decision trees. A random forest trains lots of deep trees independently on random samples of rows and features, then averages their votes. That reduces variance and is hard to break. Gradient boosting trains small trees one after another, where each new tree fixes the errors of the ones before it. Boosting, like XGBoost or LightGBM, usually gives the best accuracy on tabular data but needs more careful tuning and can overfit if you add too many trees.

    ✅ A strong answer covers

    • Forest = parallel trees, averaged, reduces variance
    • Boosting = sequential trees correcting errors, reduces bias
    • Boosting is often the strongest for tables; forests are robust defaults

    What they're really checking: Practical model knowledge for tabular data, which is still most industry ML.

    📖 Learn it: Decision trees, random forests and boosting

  10. 14Explain gradient descent in simple words. What does the learning rate do?

    💬 Easy answer

    Imagine you're on a hill in fog and want to reach the bottom. You feel which way the ground slopes and take a step downhill, again and again. Gradient descent does the same with the model's error: the gradient tells us which direction increases the error, so we move the weights a small step in the opposite direction. The learning rate is the step size. Too big and you overshoot and bounce around; too small and training is very slow. In practice we use mini batches and optimisers like Adam.

    ✅ A strong answer covers

    • Loss = how wrong the model is; gradient = direction of steepest increase
    • Update weights opposite to the gradient
    • Learning rate = step size, with the risk of too big or too small
    • Mention mini batch SGD or Adam

    What they're really checking: Do you understand how models actually learn?

    📖 Learn it: Gradients and gradient descent: how models improve

  11. 15How does an LLM generate text?

    💬 Easy answer

    An LLM is a neural network, a transformer, trained on huge amounts of text to predict the next token, which is a word or piece of a word. When you send a prompt, it's split into tokens, the model calculates probabilities for every possible next token, picks one, adds it to the text, and repeats until it's done. Settings like temperature control how random that choice is. Because it predicts plausible text rather than looking up facts, it can confidently produce wrong answers, which we call hallucinations.

    ✅ A strong answer covers

    • Trained to predict the next token
    • Generates one token at a time in a loop
    • Temperature controls randomness
    • Explains why hallucinations happen

    What they're really checking: Basic GenAI literacy, asked for nearly every role now.

    📖 Learn it: What is an LLM? Tokens, context and temperature

  12. 16What are embeddings, and what are they used for?

    💬 Easy answer

    An embedding is a list of numbers that represents the meaning of a piece of text, an image or an item. Things with similar meaning get vectors that are close together. So "how do I reset my password" and "forgot login" end up near each other even though they share no words. We use embeddings for semantic search, RAG, recommendations, clustering and finding duplicates. They're stored in a vector database, which can quickly find the nearest vectors using cosine similarity.

    ✅ A strong answer covers

    • Numbers that capture meaning; similar meaning = close vectors
    • Uses: semantic search, RAG, recommendations, dedup
    • Similarity measured with cosine; stored in a vector index

    What they're really checking: Core building block for any LLM role.

    📖 Learn it: Embeddings and vector databases: searching by meaning · Vectors and matrices: the language of AI

  13. 17What's the difference between a list, tuple, set and dictionary in Python? When would you use each?

    💬 Easy answer

    A list is an ordered, changeable collection; good for sequences you add to, like rows to process. A tuple is ordered but can't be changed; good for fixed records like coordinates, and it can be a dictionary key. A set holds unique items with very fast membership checks; good for removing duplicates or checking "have I seen this ID?". A dictionary maps keys to values with fast lookup; good for things like user ID to user details. Checking membership in a set or dict is O(1) on average, but O(n) in a list.

    ✅ A strong answer covers

    • List: ordered, mutable
    • Tuple: ordered, immutable, hashable
    • Set: unique, fast membership
    • Dict: key to value, fast lookup; mention O(1) vs O(n)

    What they're really checking: Python fluency, plus whether you think about performance.

    📖 Learn it: Lists and dictionaries: storing many values

  14. 18Explain INNER JOIN vs LEFT JOIN with an example.

    💬 Easy answer

    An INNER JOIN returns only rows that match in both tables. A LEFT JOIN returns every row from the left table, plus matches from the right; where there's no match, the right side columns are NULL. Example: customers and orders. An inner join gives only customers who have ordered. A left join from customers gives all customers, and those with NULL order IDs are the ones who never ordered, which is a common way to find inactive customers.

    ✅ A strong answer covers

    • Inner = only matching rows
    • Left = all left rows, NULLs where no match
    • Use a left join plus IS NULL to find missing matches
    • Watch for duplicate rows when the join key isn't unique

    What they're really checking: The most common SQL basic. A mention of the duplicate row trap stands out.

    📖 Learn it: SQL JOINs: combining tables

  15. 19What are window functions? Explain ROW_NUMBER, RANK and DENSE_RANK.

    💬 Easy answer

    Window functions calculate something across related rows without collapsing them like GROUP BY does. For example, a running total or each employee's salary rank within their department, using OVER (PARTITION BY department ORDER BY salary DESC). With ties: ROW_NUMBER gives unique numbers 1, 2, 3 even for ties, so add a tie breaker column to make it deterministic. RANK gives ties the same number and then skips, like 1, 1, 3. DENSE_RANK gives ties the same number without gaps, like 1, 1, 2. LAG and LEAD let you compare a row with the previous or next one.

    ✅ A strong answer covers

    • Compute over a window of rows, keeping every row
    • PARTITION BY groups, ORDER BY sets order
    • ROW_NUMBER vs RANK vs DENSE_RANK on ties
    • Uses: top N per group, running totals, LAG and LEAD for changes

    What they're really checking: Window functions are the core of most data SQL rounds in 2026.

    📖 Learn it: SQL basics: asking a database questions · SQL JOINs: combining tables

  16. 20Write a query to get the top 3 products by revenue in each category.

    💬 Easy answer

    I'd rank products within each category and then filter. First, in a subquery or CTE, compute revenue per product and add DENSE_RANK() OVER (PARTITION BY category ORDER BY revenue DESC) AS rnk. Then select rows WHERE rnk <= 3. I'd say out loud how I handle ties: DENSE_RANK keeps all tied products, which could return more than 3 rows; if they want exactly 3, I'd use ROW_NUMBER with a tie breaker like product ID.

    ✅ A strong answer covers

    • CTE to aggregate revenue per product
    • Window rank partitioned by category
    • Filter rank ≤ 3 in the outer query (you can't filter a window function in WHERE directly)
    • State how ties are handled

    What they're really checking: A classic SQL task. Explaining tie handling shows maturity.

    📖 Learn it: SQL basics: asking a database questions

  17. 21What's the difference between correlation and causation? How would you prove causation?

    💬 Easy answer

    Correlation means two things move together; causation means one actually causes the other. Ice cream sales and drownings are correlated because both rise in summer, not because ice cream causes drowning. In products, users who use a new feature might retain better simply because they were already more engaged. To show causation, the best tool is a randomised A/B test: randomly give the feature to half the users, so the only systematic difference is the feature, then compare outcomes.

    ✅ A strong answer covers

    • Correlation ≠ causation; hidden third factors (confounders)
    • Selection bias: who opts in is different
    • Randomised experiment is the gold standard

    What they're really checking: Statistical thinking for decisions; critical for PMs and analysts.

    📖 Learn it: Correlation vs causation, and sampling bias · Metrics and A/B testing for AI features

🛠️ Role skills

The technical heart of the interview for this role. Interviewers go deeper with follow up questions, so understand the why, not just the definition.

  1. 22How do you approach feature engineering for a new problem?

    💬 Easy answer

    I start from the domain: what would a human expert look at to make this decision? For predicting late loan payments, that's things like income to EMI ratio, past late payments and recent changes in spending. Then I clean and encode: handle missing values, one hot encode categories, scale numbers if the model needs it, and create time based features like "days since last purchase". I check every feature for leakage and measure value with validation scores and feature importance. Usually a few good domain features beat many random ones.

    ✅ A strong answer covers

    • Start with domain knowledge and the decision being made
    • Clean, encode, scale, create ratios and time features
    • Check each feature for leakage
    • Validate importance with experiments

    What they're really checking: Practical modelling sense. Domain driven features impress more than tool lists.

    📖 Learn it: Feature engineering: turning raw data into useful inputs

  2. 23How do you handle an imbalanced dataset, like 1% fraud?

    💬 Easy answer

    First, choose the right metric: precision, recall, PR AUC, not accuracy. Then options: use class weights so mistakes on the rare class cost more; resample, either undersample the majority or oversample the minority (SMOTE), only on the training data; and tune the decision threshold to hit the recall or precision the business needs. Also make sure the validation split keeps the same ratio, using a stratified split. Often, getting more examples of the rare class or better features helps most.

    ✅ A strong answer covers

    • Right metric first
    • Class weights, resampling (train only), threshold tuning
    • Stratified splits
    • More data or better features for the rare class

    What they're really checking: A follow up to the accuracy question; very common.

    📖 Learn it: Measuring models: accuracy, precision and recall

  3. 24How do you deal with missing values?

    💬 Easy answer

    First I ask why they're missing, because that changes the fix. If income is missing because people didn't want to share it, the fact that it's missing may itself be a signal. Options: drop rows if very few are missing; fill with the median or most common value; fill using a model or a group average; or add a "was missing" flag column alongside the filled value. Tree models like XGBoost can handle missing values natively. Whatever I do, I fit the filling logic on the training data only.

    ✅ A strong answer covers

    • Understand why it's missing first
    • Drop, impute (median, mode, model), or add a missing flag
    • Fit imputation on train only to avoid leakage

    What they're really checking: Data cleaning judgement, not just a pandas command.

    📖 Learn it: Pandas: working with tables of data · Feature engineering: turning raw data into useful inputs · Data quality: catching bad data early

  4. 25How do you choose which model to use?

    💬 Easy answer

    I start with a simple baseline, like logistic regression or even a rule, so I know what "good" means. For tabular data, I'd then try gradient boosting because it's usually strongest. For images, text or audio, I'd use pretrained deep learning models or an LLM. Then I consider constraints: latency, cost, how much data I have, and whether the result must be explainable, for example in lending. I pick the simplest model that meets the target on validation data, because it's easier to maintain.

    ✅ A strong answer covers

    • Start with a baseline
    • Data type guides the family (tables → boosting; text/images → pretrained deep models)
    • Constraints: latency, interpretability, data size, cost
    • Simplest model that meets the goal

    What they're really checking: Engineering judgement over chasing the fanciest model.

    📖 Learn it: Two kinds of prediction: regression and classification · Decision trees, random forests and boosting

  5. 26What is cross validation and when would you not use standard k fold?

    💬 Easy answer

    K fold cross validation splits training data into k parts, trains on k minus 1 and validates on the remaining part, rotating through all parts. Averaging gives a more reliable estimate than a single split, which matters with small data. I wouldn't use plain k fold for time series, because it lets the model see the future; I'd use time based splits instead. And if one user has many rows, I'd use group k fold so the same user isn't in both training and validation.

    ✅ A strong answer covers

    • Rotate validation folds; average the scores
    • Useful for small datasets and tuning
    • Time series → forward chaining splits
    • Grouped data → group k fold

    What they're really checking: Knowing when the standard tool breaks.

    📖 Learn it: Train/test split and overfitting

  6. 27How would you implement logistic regression from scratch?

    💬 Easy answer

    I'd explain the steps, then code them in NumPy. One, initialise weights and bias to zeros. Two, compute z = X·w + b and the prediction p = sigmoid(z). Three, the loss is binary cross entropy. Four, the gradient is simple: dw = Xᵀ(p − y) / n and db = mean(p − y). Five, update w and b by subtracting learning rate times the gradient, and loop for some epochs. I'd add a check that the loss goes down, clip probabilities to avoid log of zero, and test on a tiny dataset where I know the answer.

    ✅ A strong answer covers

    • Sigmoid of a linear combination
    • Binary cross entropy loss
    • Gradient = Xᵀ(p − y)/n
    • Update loop; sanity checks for numerical stability

    What they're really checking: ML coding rounds in 2026 often ask for algorithms from scratch, not just library calls.

    📖 Learn it: Gradients and gradient descent: how models improve · Two kinds of prediction: regression and classification

  7. 28You've trained a model. How do you get it into production?

    💬 Easy answer

    First, save the model together with its preprocessing, as one pipeline, with a version number in a model registry. Then wrap it in an API, for example with FastAPI, with input validation. Package it in a Docker image and deploy it behind a load balancer, on Kubernetes or a managed service. Before full rollout, test it in shadow mode or as a canary on a small share of traffic. Then monitor latency, errors, input drift and the business metric, with an easy way to roll back to the previous version.

    ✅ A strong answer covers

    • Package model and preprocessing together, versioned
    • API with validation; containerise
    • Gradual rollout: shadow or canary
    • Monitoring and rollback

    What they're really checking: Do you think beyond the notebook?

    📖 Learn it: Serving a model as an API with FastAPI · Docker: packaging your app so it runs anywhere · MLOps: experiment tracking and model registries · Training vs inference: how ML runs in production

  8. 29What is training serving skew, and how do you prevent it?

    💬 Easy answer

    It's when the data the model sees in production is computed differently from the data it was trained on, so the model quietly performs worse. For example, in training "average spend" was computed over 30 days in SQL, but the live service computes it over 7 days in Python. Prevention: use one shared feature pipeline or a feature store for both training and serving, log the features used at prediction time and compare them with training data, and add tests that run the same input through both paths.

    ✅ A strong answer covers

    • Definition and a concrete example
    • Cause: two different code paths for features
    • Fix: shared pipeline or feature store, logging, comparison tests

    What they're really checking: Production ML maturity.

    📖 Learn it: Training vs inference: how ML runs in production · Monitoring models: drift and silent failures

  9. 30When would you use prompting, RAG or fine tuning?

    💬 Easy answer

    I go in order of cost. First, prompting: clear instructions and examples solve many problems and take hours, not weeks. If the model needs knowledge it doesn't have, like our policies or recent data, I use RAG, because it's easy to update and gives citations. I'd fine tune when the problem is behaviour, not knowledge: a very specific output style or format, a narrow task done at huge volume where a small fine tuned model is cheaper and faster, or domain language the model handles poorly. Often the best system combines RAG with a lightly fine tuned model.

    ✅ A strong answer covers

    • Prompting first: fastest and cheapest
    • RAG for knowledge, especially changing or private data
    • Fine tuning for behaviour, format, cost at scale
    • They can be combined

    What they're really checking: Judgement about cost and fit; asked for PMs too.

    📖 Learn it: Prompting: giving clear instructions to an LLM · RAG: letting an LLM answer from your documents · Fine-tuning and LoRA: specialising a model · AI literacy for decisions: build vs buy, cost and limits

  10. 31How do you evaluate an LLM application?

    💬 Easy answer

    I start by defining what good looks like for the task, then build an evaluation set of real examples, say 50 to 200 to start, covering common cases, edge cases and known failures. For each, I decide how to score: exact checks with code where possible, like valid JSON or the right category; for open answers, a rubric scored by humans or by an LLM judge that I've checked against human ratings. For RAG I measure retrieval and answer quality separately. I run this suite on every prompt or model change, like unit tests, and I also watch real usage: thumbs down, edits and escalations.

    ✅ A strong answer covers

    • Define "good" first, then build a dataset from real cases
    • Code checks where possible; rubric and LLM judge where needed
    • Separate retrieval and generation metrics for RAG
    • Run on every change; add online signals from users

    What they're really checking: Interviewers in 2026 say evals separate strong candidates from the rest.

    📖 Learn it: Evaluating AI: how to know it actually works

  11. 32Explain self attention. Why do we divide by the square root of d_k?

    💬 Easy answer

    Each token creates three vectors: a query, "what am I looking for?", a key, "what do I contain?", and a value, "what do I pass on?". For each token, we compare its query with every key using a dot product, which gives relevance scores. Softmax turns the scores into weights, and the output is a weighted sum of the values. So each token builds a new representation by looking at the others. We divide by the square root of d_k because dot products grow with dimension; without scaling, softmax becomes very peaked and its gradients become tiny, which slows training.

    ✅ A strong answer covers

    • Q, K, V vectors from each token
    • Scores = Q·Kᵀ, softmax, weighted sum of V
    • Scaling keeps softmax from saturating
    • Multi head = several attentions in parallel learning different relations

    What they're really checking: The classic research and ML question; they want the intuition and the math.

    📖 Learn it: Transformers and attention: how LLMs read

  12. 33What is LoRA, and why is it popular?

    💬 Easy answer

    LoRA, low rank adaptation, fine tunes a big model by freezing the original weights and learning a small update for some weight matrices, written as the product of two thin matrices, A and B. Because the rank is small, you train maybe less than 1% of the parameters, which needs far less GPU memory and storage. You can keep one base model and swap small LoRA adapters for different tasks. QLoRA goes further by keeping the base model in 4 bit precision, so you can fine tune large models on a single GPU.

    ✅ A strong answer covers

    • Freeze base weights; learn low rank update A·B
    • Far fewer trainable parameters and memory
    • Swappable adapters per task
    • QLoRA: quantised base for even less memory

    What they're really checking: Practical fine tuning knowledge.

    📖 Learn it: Fine-tuning and LoRA: specialising a model

  13. 34What are vanishing gradients, and what fixed them in modern networks?

    💬 Easy answer

    In deep networks, gradients are multiplied through many layers during backpropagation. If those factors are below one, the gradient shrinks to nearly zero by the time it reaches early layers, so they stop learning. Fixes that made deep networks work: activations like ReLU instead of sigmoid; residual or skip connections, which give gradients a direct path back; normalisation layers like LayerNorm; careful weight initialisation; and optimisers like Adam. Transformers rely heavily on residual connections and LayerNorm.

    ✅ A strong answer covers

    • Gradients shrink through many layers
    • ReLU, residual connections, normalisation, good initialisation
    • Link to transformers' design

    What they're really checking: Deep learning fundamentals.

    📖 Learn it: Neural networks: layers that learn · Gradients and gradient descent: how models improve

  14. 35What's the difference between data drift and concept drift? How do you detect them without labels?

    💬 Easy answer

    Data drift is when the inputs change, like a new customer segment or a sensor recalibrated, while the relationship to the outcome is the same. Concept drift is when the relationship itself changes, like fraudsters changing tactics, so the same inputs now mean something different. Without fresh labels, I monitor input feature distributions against a training baseline using statistics like PSI or KS tests, watch the distribution of predictions and confidence scores, and track proxy business signals such as complaints or manual overrides. When labels arrive later, I compute real performance by time window.

    ✅ A strong answer covers

    • Data drift = inputs change; concept drift = relationship changes
    • Monitor feature and prediction distributions (PSI, KS)
    • Proxy signals while labels are delayed
    • Measure true performance when labels arrive

    What they're really checking: A core MLOps topic in nearly every loop.

    📖 Learn it: Monitoring models: drift and silent failures

  15. 36What would you monitor for a model in production?

    💬 Easy answer

    Four layers. System health: latency, error rates, throughput, CPU, GPU and memory. Data: missing values, schema changes, feature distributions compared with training. Model: prediction distribution, confidence, and real accuracy when labels arrive. Business: the metric the model exists for, like fraud losses or conversion. Each alert should map to an action, like "page on call" or "retrain", otherwise people ignore alerts. I'd use something like Prometheus and Grafana for system metrics and a drift tool like Evidently for data.

    ✅ A strong answer covers

    • System, data, model and business layers
    • Baseline comparisons
    • Alerts tied to actions
    • Example tools

    What they're really checking: End to end ownership of models in production.

    📖 Learn it: Monitoring models: drift and silent failures

  16. 37Click through rate dropped 20% overnight, but input distributions look normal. Model drift or a bug?

    💬 Easy answer

    A sudden overnight drop smells like a bug or a change, not slow drift. I'd check, in order: did anything deploy, like a new model, feature pipeline or front end change? Is logging or the metric itself broken, for example clicks not being recorded? Are features arriving late or as defaults, which might not show in aggregate distributions? Is it all users or one platform, region or app version? I'd compare with a holdout or previous model if available. Only if everything checks out would I consider concept drift, like a holiday or competitor event, and retrain.

    ✅ A strong answer covers

    • Sudden = suspect change or bug first
    • Check deploys, logging, delayed or default features
    • Segment by platform, region, version
    • Then consider real drift

    What they're really checking: Calm, systematic incident debugging.

    📖 Learn it: Monitoring models: drift and silent failures · Data quality: catching bad data early

  17. 38How would you containerise a model and serve it on Kubernetes?

    💬 Easy answer

    Write a small API, for example FastAPI, that loads the model once at startup and exposes a predict endpoint and a health check. Write a Dockerfile with a slim base image, pinned dependencies and the model either baked in or downloaded from a registry at start. On Kubernetes, create a Deployment with several replicas and resource requests and limits, readiness and liveness probes on the health endpoint, a Service in front, and a Horizontal Pod Autoscaler based on CPU or request rate. For GPUs, request nvidia.com/gpu resources and use GPU node pools.

    ✅ A strong answer covers

    • API with model loaded once; health endpoint
    • Dockerfile: slim image, pinned versions
    • Deployment, Service, probes, resource limits
    • Autoscaling; GPU requests if needed

    What they're really checking: Hands on deployment skills.

    📖 Learn it: Docker: packaging your app so it runs anywhere · Kubernetes: running containers at scale · Serving a model as an API with FastAPI

  18. 39What does CI/CD look like for machine learning?

    💬 Easy answer

    Like normal CI/CD, plus data and models. CI: on every code change, run unit tests, data validation tests and a quick training run on a sample to catch errors. Training pipelines run on a schedule or when new data arrives, log parameters and metrics to an experiment tracker, and register the model in a registry. CD: a new model is promoted only if it beats the current one on a fixed evaluation set and passes checks like bias and latency, then it's rolled out gradually with canary or shadow deployment, with automatic rollback if metrics drop.

    ✅ A strong answer covers

    • Tests for code and data; small training smoke test
    • Tracked, reproducible training and a model registry
    • Promotion gates on fixed evals
    • Gradual rollout with rollback

    What they're really checking: Process maturity.

    📖 Learn it: MLOps: experiment tracking and model registries · Monitoring models: drift and silent failures

  19. 40How do you make model training reproducible?

    💬 Easy answer

    Version everything that affects the result: the code with git, the data with a snapshot or tool like DVC, the environment with a Docker image and pinned packages, and the configuration and hyperparameters in a tracked config file. Set random seeds. Log every run, with its code commit, data version, parameters, metrics and the resulting model, in an experiment tracker like MLflow. Then anyone can rerun or explain a model months later, which also matters for audits.

    ✅ A strong answer covers

    • Version code, data, environment and config
    • Seeds
    • Experiment tracking linking all of it to the model

    What they're really checking: Engineering discipline.

    📖 Learn it: MLOps: experiment tracking and model registries · Git and GitHub: saving and sharing your work

  20. 41What steps do you follow in a machine learning project, from start to finish?

    💬 Easy answer

    One, understand the problem and the success metric with the people who need it. Two, collect the data and explore it: size, missing values, distributions and obvious errors. Three, clean the data and create features. Four, split into training, validation and test sets. Five, train a simple baseline, then better models, comparing them on validation data. Six, evaluate the final model once on the test set and check its mistakes. Seven, deploy it, for example as an API or a Streamlit app. Eight, monitor it and retrain when data changes.

    ✅ A strong answer covers

    • Problem and metric first
    • Data exploration and cleaning
    • Baseline, then improvement on validation
    • Test once, deploy, monitor

    What they're really checking: Do you see the whole life cycle, not just model.fit()?

    📖 Learn it: How machines learn: features, labels and training · Train/test split and overfitting · Training vs inference: how ML runs in production

  21. 42You get a new dataset. How do you explore it?

    💬 Easy answer

    I start with the shape and column types, then look at the first few rows to understand what each column means. Next, missing values per column, duplicates, and basic statistics like mean, median, minimum and maximum, which reveal impossible values like negative ages. I plot distributions with histograms and count the categories. Then I look at relationships: how each feature relates to the target, and correlations between features. I write down surprises and questions for the data owner, because many problems are understood only by asking.

    ✅ A strong answer covers

    • Shape, types, sample rows
    • Missing values, duplicates, summary stats, outliers
    • Distributions and relationships with the target
    • Note questions for the data owner

    What they're really checking: Practical data sense; freshers are often asked to describe this step by step.

    📖 Learn it: Pandas: working with tables of data · Averages and spread: mean, median, variance

🏗️ Design and case questions

Open questions with no single right answer. Clarify first, then structure your answer, then talk about trade offs, measurement and failure cases.

  1. 43How would you build a spam email classifier?

    💬 Easy answer

    Clarify: what counts as spam, and which mistake is worse? Usually marking a real email as spam is worse, so precision matters. Data: emails labelled spam or not. Features: start with text turned into numbers, using TF IDF, plus simple signals like number of links or the sender's history. Model: a baseline with logistic regression or naive Bayes, which works well for text, then compare with a fine tuned small language model if needed. Evaluate with precision and recall on a test set, and pick a threshold that keeps false positives very low. Deploy it as a service, collect "not spam" corrections from users, and retrain regularly because spammers change tactics.

    ✅ A strong answer covers

    • Clarify which mistake is worse
    • Text features (TF IDF) plus extra signals
    • Simple baseline first
    • Precision focused threshold; feedback and retraining

    What they're really checking: A classic fresher design question: a full, simple pipeline with good reasoning.

    📖 Learn it: Two kinds of prediction: regression and classification · Measuring models: accuracy, precision and recall · Feature engineering: turning raw data into useful inputs

  2. 44Design a recommendation system for an e commerce site with 2 million products.

    💬 Easy answer

    Clarify: where recommendations appear, the goal (clicks, purchases), latency budget and data available. Use two stages. Candidate generation: quickly narrow 2 million products to a few hundred, using collaborative filtering or two tower embeddings plus simple sources like popular in category. Ranking: a more detailed model, like gradient boosting or a neural ranker, scores candidates using user, product and context features, then business rules handle stock and diversity. Cold start: new users get popular and contextual items; new products use content features like category and text embeddings. Evaluate offline with recall and NDCG, then online with an A/B test on purchases. Serve with precomputed embeddings and a feature store for fresh features.

    ✅ A strong answer covers

    • Clarify goal and latency
    • Two stage: candidate generation, then ranking
    • Cold start for users and items
    • Offline metrics, then A/B test; serving with feature store

    What they're really checking: Classic ML system design.

    📖 Learn it: Embeddings and vector databases: searching by meaning · Feature engineering: turning raw data into useful inputs · Metrics and A/B testing for AI features

  3. 45Design a real time fraud detection system with a 150 ms latency budget.

    💬 Easy answer

    Clarify the cost of missed fraud versus false declines, and the review team's capacity. Features: real time features like the number of transactions from this card in the last 10 minutes, computed from a stream, plus historical features from a feature store; accept that some features are slightly stale to meet latency. Model: gradient boosting, fast and strong on tabular data, with a threshold chosen for the business trade off, and a middle band sent to manual review. Serving: a low latency service with features cached in memory or Redis, and a fallback rule if the model is slow. Labels arrive late through chargebacks, so monitor drift and retrain regularly, and keep rules for brand new fraud patterns.

    ✅ A strong answer covers

    • Clarify costs of each error type
    • Streaming plus stored features; staleness trade off
    • Fast model, threshold with review band
    • Low latency serving with fallback; delayed labels, drift, retraining

    What they're really checking: Latency, features and business trade offs together.

    📖 Learn it: Streaming data: Kafka and real-time pipelines · Measuring models: accuracy, precision and recall · Monitoring models: drift and silent failures

🤝 Projects and behaviour

Use the STAR method: Situation, Task, Action, Result. Include a number in the result whenever you can.

  1. 46Walk me through a project you're proud of.

    💬 Easy answer

    Use STAR and go deep on your own decisions. "Situation: our support team was overwhelmed with repeated questions. Task: I wanted to build an assistant that answers from our help docs. Action: I built a RAG pipeline, but the first version answered only 60% of test questions correctly. I created an evaluation set of 80 real questions, found that most failures came from chunks splitting tables, switched to structure aware chunking and added reranking. Result: correct answers rose to 86%, and in a pilot it resolved about a quarter of tickets without an agent." Be ready for "why did you choose that?" at every step.

    ✅ A strong answer covers

    • STAR structure
    • Your personal decisions and trade offs
    • A problem you hit and how you solved it
    • A measurable result; what you'd do differently

    What they're really checking: Ownership, depth and honesty. Most interviews spend 10 to 20 minutes here.

    📖 Learn it: Building a portfolio project that gets interviews

  2. 47Tell me about a time something you built failed.

    💬 Easy answer

    Pick a real failure with a lesson, not a fake one. "I shipped a classification model that looked great offline, with 92% accuracy, but within two weeks users complained. I had split data randomly, and the same customers appeared in both training and test, so the score was too optimistic. I owned it with my manager, re split by customer, got a realistic 81%, and improved features to reach 86%. Since then, I always ask how the data is grouped before splitting, and I add a review of the evaluation setup to my checklist."

    ✅ A strong answer covers

    • A real failure where you were responsible
    • What you did immediately
    • The root cause, honestly
    • The lasting change in how you work

    What they're really checking: Ownership and learning. Blaming others is a red flag.

    📖 Learn it: Train/test split and overfitting

  3. 48Tell me about a disagreement with a teammate or stakeholder.

    💬 Easy answer

    Show you disagree with data and respect. "A product manager wanted to launch our AI reply feature to all customers. I was worried because our tests showed it sometimes made up refund policies. Instead of just saying no, I showed five real examples and the error rate from our eval set, and proposed launching to 10% of tickets with agent approval first. We agreed on criteria to expand. Two weeks later the error rate was below our threshold and we expanded. We kept a good relationship because we focused on the shared goal."

    ✅ A strong answer covers

    • Situation and both perspectives fairly
    • You used evidence, not authority
    • A compromise or experiment
    • Outcome and the relationship afterwards

    What they're really checking: Collaboration and influence.

    📖 Learn it: Explaining AI to non-technical people

  4. 49Explain a technical concept to me as if I'm not technical.

    💬 Easy answer

    Pick something from your work and use an everyday analogy. For example, explaining RAG: "Imagine a very smart new employee who has read a lot but knows nothing about our company. If you ask them a policy question, they might confidently guess. RAG is like giving them the right pages of our policy manual before they answer, and asking them to point to the page. So answers are based on our actual documents, and you can check them." Then check understanding: "Does that make sense?"

    ✅ A strong answer covers

    • Everyday analogy
    • No jargon, or jargon explained
    • Why it matters to the listener
    • Check understanding

    What they're really checking: Communication, essential for FDE, PM and senior roles.

    📖 Learn it: Explaining AI to non-technical people

  5. 50How do you keep up with the fast changes in AI?

    💬 Easy answer

    Be specific and show you filter noise. "I follow a few high quality sources instead of everything: release notes from the main model providers, a couple of newsletters, and papers when something important comes up. But mostly I learn by building: when something new appears, like a new tool calling feature, I try it on a small project within a week and write a short note about what worked. I also review what changed in our own evals when we upgrade models, which teaches me more than reading headlines."

    ✅ A strong answer covers

    • Specific sources, not "everything"
    • Learning by building
    • A recent example
    • Filtering hype from what matters

    What they're really checking: Learning habits in a fast field.

    📖 Learn it: Building a portfolio project that gets interviews

  6. 51How do you use AI coding assistants in your work, and how do you make sure the code is right?

    💬 Easy answer

    Be honest and responsible. "I use AI assistants daily for boilerplate, tests, unfamiliar libraries and explaining code. But I treat the output like code from a new colleague: I read every line before accepting it, I make sure there are tests, I check security sensitive parts like authentication and SQL myself, and I never paste secrets or confidential data into tools that aren't approved. It makes me faster, but I'm still responsible for what I ship."

    ✅ A strong answer covers

    • Where it helps you most
    • Review, tests and verification
    • Security and confidentiality
    • You remain accountable

    What they're really checking: Asked in most 2026 engineering loops: productive and responsible.

    📖 Learn it: AI safety in products: hallucinations, prompt injection and guardrails

❓ Closing: your questions and salary

The last five minutes matter. Good questions show you're serious; a calm salary answer protects your offer.

  1. 52Do you have any questions for us?

    💬 Easy answer

    Always say yes and ask two or three real questions. Good ones: "What would success look like for this role in the first 6 months?", "What's the biggest challenge the team is facing with AI right now?", "How do you evaluate model or feature quality before shipping?", "How is the team split between building new features and maintaining existing ones?", and "What do people who do well here have in common?". Avoid asking about leave or salary in a technical round, and don't ask things that are on their website.

    ✅ A strong answer covers

    • Ask 2 or 3 thoughtful questions
    • About success, challenges, how they work
    • Show interest in quality and impact
    • Avoid basic or purely self focused questions

    What they're really checking: Curiosity and seriousness. "No questions" can cost you.

    📖 Learn it: Landing the AI role: resume, applications and interviews

  2. 53What are your salary expectations?

    💬 Easy answer

    Research first, using sites like Glassdoor, AmbitionBox, levels.fyi and people in similar roles, then give a range based on the role, not on your current pay. "Based on my research for this role and level in Bangalore, and my experience, I'm looking at a range of ₹22 to ₹28 lakh fixed. I'm flexible depending on the overall package, and I'm most interested in the role itself." If they insist on your current salary, you can share it, but steer back to the market range for the new role. Never accept or reject on the spot; ask for the offer in writing.

    ✅ A strong answer covers

    • Research market ranges for the new role
    • Give a range anchored on the role, not current pay
    • Mention flexibility on the overall package
    • Get the offer in writing before deciding

    What they're really checking: Confidence and preparation. A calm, researched range protects your offer.

    📖 Learn it: Landing the AI role: resume, applications and interviews

🧪 Quick quiz: test yourself

Short questions by skill area. Try each one before you open the answer.

Python & coding

  1. What does len({'a': 1, 'b': 2, 'a': 3}) return?

    1. It raises an error
    2. 2
    3. 3
    4. 1
    Show answer

    2. Dictionary keys are unique. The second 'a' overwrites the first, leaving 2 keys.

    Learn: Lists and dictionaries: storing many values

  2. You need to check whether 1 million IDs are in a collection of 1 million known IDs. What's the efficient approach?

    1. Keep the known IDs in a list and use `in`
    2. Sort both lists and compare index by index in a nested loop
    3. Convert the IDs to strings first
    4. Put the known IDs in a set and use `in`
    Show answer

    Put the known IDs in a set and use `in`. Membership checks in a set are O(1) on average, but O(n) in a list. With a list this becomes about a trillion comparisons.

    Learn: Lists and dictionaries: storing many values

  3. What does df.groupby('city')['amount'].mean() return?

    1. The overall mean amount
    2. The cities sorted by amount
    3. One average amount per city
    4. A count of rows per city
    Show answer

    One average amount per city. groupby splits the rows by city, then mean() averages 'amount' within each group, giving a Series indexed by city.

    Learn: Pandas: working with tables of data

Statistics & data

  1. Salaries in a team are mostly around ₹8 LPA, with one executive at ₹2 crore. Which best describes a typical salary?

    1. The median
    2. The mean
    3. The sum divided by 2
    4. The maximum
    Show answer

    The median. One extreme value pulls the mean up a lot. The median, the middle value, isn't affected by outliers.

    Learn: Averages and spread: mean, median, variance

  2. Users who turned on a new 'focus mode' spend 30% more time in the app. Can you say focus mode caused it?

    1. Yes, if the sample has more than 1,000 users
    2. No. People who opt in may already be more engaged, so run a randomised A/B test
    3. No, time-in-app can never be measured
    4. Yes, the difference is large
    Show answer

    No. People who opt in may already be more engaged, so run a randomised A/B test. This is self-selection: the opt-in group differs from everyone else. Only random assignment isolates the feature's effect.

    Learn: Correlation vs causation, and sampling bias · Metrics and A/B testing for AI features

  3. What does a 95% confidence interval for a model's accuracy mean?

    1. There's a 95% chance the model is correct on any given input
    2. 95% of the test set was used
    3. If we repeated the evaluation on many fresh samples, about 95% of the intervals built this way would contain the true accuracy
    4. Accuracy is at least 95%
    Show answer

    If we repeated the evaluation on many fresh samples, about 95% of the intervals built this way would contain the true accuracy. A confidence interval describes the procedure's long-run coverage of the true value, not a per-prediction probability.

    Learn: Probability and distributions

SQL & data modelling

  1. You want only the cities with more than 100 orders. Which clause filters those groups?

    1. HAVING COUNT(*) > 100
    2. ORDER BY COUNT(*) > 100
    3. LIMIT 100
    4. WHERE COUNT(*) > 100
    Show answer

    HAVING COUNT(*) > 100. WHERE filters rows before grouping. HAVING filters groups after aggregation.

    Learn: SQL basics: asking a database questions

  2. How do you find customers who have never placed an order?

    1. INNER JOIN orders and keep the matches
    2. SELECT DISTINCT customer_id FROM orders
    3. GROUP BY customer_id HAVING COUNT(*) > 0
    4. LEFT JOIN orders and keep rows where the order id IS NULL
    Show answer

    LEFT JOIN orders and keep rows where the order id IS NULL. A LEFT JOIN keeps every customer. Those with no match have NULL order columns.

    Learn: SQL JOINs: combining tables

  3. Joining 1M orders to a customers table returns 3M rows. What's the most likely cause?

    1. The database is corrupted
    2. Orders are counted twice by default
    3. Duplicate customer IDs in the customers table, so each order matches several rows
    4. The join should have been a LEFT JOIN
    Show answer

    Duplicate customer IDs in the customers table, so each order matches several rows. A join multiplies rows when the key isn't unique on one side. Check uniqueness before you join.

    Learn: SQL JOINs: combining tables · Data quality: catching bad data early

ML fundamentals

  1. Training accuracy is 98% and test accuracy is 65%. What's happening, and what's a reasonable fix?

    1. Underfitting, so add more layers
    2. Everything is fine
    3. Overfitting, so simplify the model, regularise or get more data
    4. The test set is wrong, so delete it
    Show answer

    Overfitting, so simplify the model, regularise or get more data. A large train/test gap means the model memorised the training data. Reduce its complexity, regularise, or add data.

    Learn: Train/test split and overfitting

  2. A fraud model is 99% accurate, and 1% of transactions are fraud. What's your first reaction?

    1. Increase the epochs
    2. Accuracy is the only metric that matters
    3. Great, ship it
    4. Compare against the baseline and check precision and recall, because predicting 'not fraud' for everything also scores 99%
    Show answer

    Compare against the baseline and check precision and recall, because predicting 'not fraud' for everything also scores 99%. With rare classes, accuracy is misleading. Precision and recall show whether fraud is actually being caught.

    Learn: Measuring models: accuracy, precision and recall

  3. A fraud model uses 'refund_issued' as a feature and scores 0.99 AUC in testing. What's the problem?

    1. Data leakage: refunds happen after fraud is confirmed, so this information isn't available at prediction time
    2. The feature needs scaling
    3. AUC can't exceed 0.95
    4. Nothing, it's a strong feature
    Show answer

    Data leakage: refunds happen after fraud is confirmed, so this information isn't available at prediction time. Features must only use information available at the moment of prediction. Otherwise test scores are inflated.

    Learn: Feature engineering: turning raw data into useful inputs

  4. For a churn model on a 30-column customer table, what's a strong first choice after a baseline?

    1. A chatbot
    2. Gradient-boosted trees such as XGBoost or LightGBM
    3. A large transformer
    4. K-means clustering
    Show answer

    Gradient-boosted trees such as XGBoost or LightGBM. Boosted trees are usually the most accurate, fastest and most explainable option for tabular data.

    Learn: Decision trees, random forests and boosting

  5. Why use k-fold cross-validation?

    1. It gives a more reliable performance estimate by averaging over several train/validation splits
    2. It replaces the need for a test set entirely
    3. It trains the final model faster
    4. It removes the need for features
    Show answer

    It gives a more reliable performance estimate by averaging over several train/validation splits. One split can be lucky or unlucky. Averaging across folds reduces that variance.

    Learn: Train/test split and overfitting

Serving & MLOps

  1. A model's accuracy has dropped slowly over six months with no code changes. What's the most likely cause?

    1. The GPU is overheating
    2. Too many unit tests
    3. A memory leak
    4. Data or concept drift: the real world changed, so monitor the inputs and retrain
    Show answer

    Data or concept drift: the real world changed, so monitor the inputs and retrain. Models are frozen snapshots of the past. When the input data or its relationships change, quality degrades silently.

    Learn: Monitoring models: drift and silent failures

  2. In a model API, where should the model be loaded?

    1. Once at startup, then reused for every request
    2. Only during testing
    3. Inside the predict function, on every request
    4. In the browser
    Show answer

    Once at startup, then reused for every request. Loading can take seconds. Doing it per request makes every request slow.

    Learn: Serving a model as an API with FastAPI

  3. What problem does Docker mainly solve?

    1. 'Works on my machine' problems, by packaging the app with its exact environment
    2. GPU pricing
    3. Model accuracy
    4. Writing SQL
    Show answer

    'Works on my machine' problems, by packaging the app with its exact environment. A container image carries the code, runtime and libraries, so the app runs the same everywhere.

    Learn: Docker: packaging your app so it runs anywhere

  4. What's the main benefit of a model registry?

    1. Versioned, approved models with stages, so deployments are traceable and rollback is instant
    2. Automatic feature engineering
    3. Free GPUs
    4. Faster training
    Show answer

    Versioned, approved models with stages, so deployments are traceable and rollback is instant. You always know which model is in production and can switch back to the previous version in one step.

    Learn: MLOps: experiment tracking and model registries

Deep learning

  1. Training loss jumps around wildly and never settles. What do you try first?

    1. Add more output classes
    2. Remove the validation set
    3. Increase the learning rate
    4. Decrease the learning rate
    Show answer

    Decrease the learning rate. Steps that are too large overshoot the minimum. A smaller learning rate, or a warm-up schedule, stabilises training.

    Learn: Gradients and gradient descent: how models improve

  2. What does self-attention compute in a transformer?

    1. The order in which to read files
    2. The learning rate per layer
    3. For each token, how much to draw on every other token, giving context-aware representations
    4. A compressed copy of the dataset
    Show answer

    For each token, how much to draw on every other token, giving context-aware representations. Queries and keys produce attention weights, and the values are mixed by those weights, so each token's meaning depends on its context.

    Learn: Transformers and attention: how LLMs read

  3. Why keep a validation set separate from the test set?

    1. To tune hyperparameters without biasing the final test estimate
    2. Because test sets are illegal to reuse
    3. To speed up inference
    4. To make the model bigger
    Show answer

    To tune hyperparameters without biasing the final test estimate. If you tune against the test set, it stops being an unbiased estimate of real-world performance.

    Learn: Train/test split and overfitting · Reading and reproducing research papers

  4. Vanishing gradients in deep networks are most associated with…

    1. Large batch sizes only
    2. Using too much data
    3. Using GPUs
    4. Saturating activations like sigmoid in many stacked layers, and are eased by ReLU, residual connections and normalisation
    Show answer

    Saturating activations like sigmoid in many stacked layers, and are eased by ReLU, residual connections and normalisation. Repeatedly multiplying small derivatives shrinks gradients towards zero. Modern architectures add shortcuts and normalisation to fix this.

    Learn: Neural networks: layers that learn

Data engineering

  1. Where is the cheapest place to catch bad data?

    1. In the CEO's dashboard
    2. In customer complaints
    3. After the model is retrained
    4. Early in the pipeline, with automated checks that fail the run
    Show answer

    Early in the pipeline, with automated checks that fail the run. The earlier you catch it, the fewer downstream systems it pollutes.

    Learn: Data quality: catching bad data early

Communication

  1. Tell me about yourself and why you're moving into this AI role. open question

    A strong answer covers:

    • Current role and years of experience in one or two lines
    • 2–3 transferable skills that matter for this AI role
    • A concrete AI project, with a measurable result
    • Why this specific role fits you (not just 'AI is hot')
    • What you'll bring to the team in the first months
    Show model answer

    I'm a backend engineer with 8 years in fintech, building payment APIs that handle about 2 million requests a day. Over the last six months I've been moving into LLM engineering: I built a support-triage agent with tool calling and an eval suite, which raised correct routing from 71% to 89% on 200 real tickets. This role fits because it combines what I'm already good at, reliable APIs and production debugging, with the agent work I enjoy most. In the first months I'd bring production discipline: tracing, evals and cost controls for your agents.

    Learn: Landing the AI role: resume, applications and interviews

  2. Walk me through an AI or ML project you built end to end. open question

    A strong answer covers:

    • The problem and who it was for
    • The data: source, size and cleaning
    • The approach, and why you chose it over alternatives
    • How you evaluated it, with numbers
    • How it was deployed or used
    • What failed, and what you'd improve next
    Show model answer

    I built a policy assistant for branch staff who spent about 25 minutes a day searching PDFs. I indexed 140 policy documents with chunking and metadata, used hybrid search, and required citations with a 'not found' rule. I chose RAG over fine-tuning because the policies change monthly. On a 60-question eval set built with staff, correct-and-cited answers went from 68% to 90% after I added re-ranking. It's deployed as an internal web app. The main failure was tables in PDFs; next I'd add table-aware parsing.

    Learn: Building a portfolio project that gets interviews

  3. Tell me about a time something you built failed. What did you do? open question

    A strong answer covers:

    • The situation, briefly (STAR format)
    • Your own responsibility, without blaming others
    • How you diagnosed it, step by step
    • The outcome, with numbers if possible
    • What you changed so it doesn't happen again
    Show model answer

    Our nightly data pipeline silently loaded duplicate orders for three days, inflating revenue on a dashboard by 12%. I owned that pipeline. I traced it to a retry that re-appended a partial load, so the job wasn't idempotent. I fixed the data, switched the load to overwrite-by-partition, and added a uniqueness check that fails the run. Since then we've had no duplicate incidents, and I now design every pipeline to be safely re-runnable.

    Learn: Landing the AI role: resume, applications and interviews

ML system design

  1. Design a fraud-detection system for UPI payments. open question

    A strong answer covers:

    • Requirements: latency budget (e.g. under 100 ms), volume, the cost of a miss vs a false alarm
    • Features: real-time (amount vs the user's usual, velocity) and historical, with no leakage
    • Model choice (e.g. gradient boosting) and threshold set by business cost
    • Serving: a low-latency API plus a streaming feature store
    • Monitoring: drift, delayed fraud labels as feedback, and retraining
    • A human review queue for borderline cases
    Show model answer

    I'd start from requirements: decisions in under 100 ms at peak volume, and an explicit cost for missed fraud vs blocking a genuine payment. Features combine real-time signals, such as amount versus the user's usual, transactions in the last 10 minutes and a new device or payee, with historical aggregates from a feature store, all computed only from data available at payment time. A gradient-boosted model fits tabular signals well. I'd set the threshold to minimise expected cost and send a middle band to manual review. It would be served behind a low-latency API with streaming feature updates. I'd monitor input drift and precision and recall as chargeback labels arrive weeks later, and retrain on a schedule.

    Learn: Feature engineering: turning raw data into useful inputs · Measuring models: accuracy, precision and recall · Monitoring models: drift and silent failures

More questions to prepare

  • How do you choose a classification threshold?
  • Explain regularisation (L1 vs L2).
  • How would you handle a heavily imbalanced dataset?
  • How do you debug a model that performs well offline but badly in production?
  • When would you use deep learning over boosted trees?
  • How do you version data and models?

Practise with a score and gap analysis

Answer these as a timed practice session. Multiple-choice answers are scored automatically, open answers are self-checked against key points, and your report links the exact lessons for every gap.

Start ML Engineer interview practice

Also for ML Engineer

Sources

Questions were compiled from 2026 interview guides and candidate reports, then rewritten with simple answers and checked against our lessons.