Interview preparation · Updated
Data Engineer (AI focus) interview questions and answers
42 questions Data Engineer (AI focus) 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 26 quick quiz questions to test yourself. For a scored session with your gaps explained, use interview practice.
How a Data Engineer (AI focus) interview usually goes
- Recruiter screen
- SQL round: joins, window functions, top N per group, deduplication
- Python or Spark round: transformations, skew, performance
- Pipeline and data modelling design: batch vs streaming, idempotency, backfills, data for AI (documents, embeddings)
- Behavioural: incidents and data quality stories
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.
-
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
-
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
-
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
-
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.
-
5What's the difference between AI, machine learning, deep learning and generative AI?
💬 Easy answer
They are circles inside each other. AI is the broad goal of making computers do things that seem intelligent. Machine learning is one way to do that: instead of writing rules, we let the computer learn patterns from examples. Deep learning is machine learning with many layered neural networks, which works well for images, audio and text. Generative AI uses deep learning models, like LLMs, to create new content such as text, images or code, instead of only predicting a label.
✅ A strong answer covers
- AI ⊃ ML ⊃ deep learning; GenAI is an application of deep learning
- ML learns from data instead of hand written rules
- One example for each (spam filter, image recogniser, ChatGPT)
What they're really checking: Can you explain basics clearly without jargon? This is often the very first technical question for freshers and PMs.
📖 Learn it: What is AI? AI vs ML vs Deep Learning vs GenAI
-
6Explain 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
-
7What 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
-
8What 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
-
9Explain 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
-
10What'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
-
11What 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
-
12What'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
-
13What is a generator in Python, and why is it useful for large files?
💬 Easy answer
A generator produces values one at a time, only when asked, using yield, instead of building the whole list in memory. If I need to process a 20 GB log file, reading it into a list would crash the machine. With a generator, I read and process one line at a time, so memory stays small. Generators are also great for streaming LLM responses and for pipelines where each step pulls from the previous one.
✅ A strong answer covers
- Lazy: yields one item at a time
- Constant memory for huge data
- Examples: reading big files, streaming, batching
What they're really checking: Whether you can write code that works at real data sizes.
📖 Learn it: Python logic: if/else, loops and functions
-
14Explain 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
-
15What 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
-
16Write 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
-
17What'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.
-
18How 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
-
19What 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
-
20Explain RAG. Why would you use it?
💬 Easy answer
RAG means retrieval augmented generation. It's like an open book exam for the LLM. First, we index our documents: split them into chunks, turn each chunk into an embedding and store it in a vector database. When a user asks a question, we embed the question, retrieve the most relevant chunks, put them into the prompt with an instruction like "answer only from these sources and cite them", and the LLM writes the answer. We use it because the model doesn't know our private or recent data, and RAG gives grounded answers with sources, without retraining the model.
✅ A strong answer covers
- Two phases: indexing and answering
- Embed, retrieve, put into prompt, generate with citations
- Why: private and fresh data, fewer hallucinations, no retraining
- Mention that retrieval quality decides answer quality
What they're really checking: The most asked LLM question of 2026. Be ready for deep follow ups.
📖 Learn it: RAG: letting an LLM answer from your documents · Embeddings and vector databases: searching by meaning
-
21How do you choose a chunking strategy for RAG?
💬 Easy answer
Chunks should be big enough to hold a complete idea, but small enough to be precise. I start by respecting the document's structure: split by headings, sections or paragraphs instead of every fixed number of characters, so a table or a step list isn't cut in half. A typical starting size is a few hundred tokens with a small overlap. I attach metadata like title, section and date to each chunk, which helps filtering and citations. Then I test different sizes against an evaluation set of real questions, and keep whatever gives the best retrieval recall.
✅ A strong answer covers
- Structure aware splitting (headings, paragraphs, tables)
- Starting size plus overlap; tune by evals
- Metadata on each chunk
- Measure with retrieval recall on real questions
What they're really checking: Practical RAG experience versus tutorial knowledge.
📖 Learn it: RAG: letting an LLM answer from your documents · Embeddings and vector databases: searching by meaning
-
22In an enterprise RAG system, how do you make sure users only see documents they're allowed to see?
💬 Easy answer
The filtering must happen at retrieval, not in the prompt. When indexing, I store each chunk with access metadata, like the groups or users allowed to see it, copied from the source system. At query time, I get the user's identity and permissions from the login system and apply them as a filter in the vector search, so forbidden chunks never reach the model. I keep permissions in sync when they change in the source, and I test it with users of different roles. Asking the LLM to "not reveal" things is not a security control.
✅ A strong answer covers
- Store access control metadata with each chunk
- Filter at query time using the user's real identity
- Keep permissions in sync with source systems
- Never rely on the prompt for security
What they're really checking: A favourite enterprise question for FDE and agent roles.
📖 Learn it: RAG: letting an LLM answer from your documents · Enterprise AI: integration, security and compliance
-
23What's the difference between ETL and ELT? Which is more common today?
💬 Easy answer
ETL means extract, transform, then load: data is cleaned and reshaped before landing in the warehouse. ELT means extract, load raw data first, then transform inside the warehouse with SQL, often using dbt. ELT is more common now because cloud warehouses like BigQuery, Snowflake and Databricks are powerful and cheap to scale, and keeping raw data lets you rebuild transformations later when logic changes. ETL is still used when data must be cleaned or masked before landing, for example removing personal data for compliance.
✅ A strong answer covers
- ETL: transform before load; ELT: load raw, transform in warehouse
- ELT dominant with cloud warehouses and dbt
- Keep raw data to rebuild
- ETL when data must be masked first
What they're really checking: Modern data stack awareness.
📖 Learn it: Data pipelines: ETL, Airflow, dbt and Spark
-
24How do you design a pipeline so reruns and backfills don't double count data?
💬 Easy answer
Make every step idempotent: running it twice gives the same result as running it once. Practically, I process data by partition, like one date at a time, and write with overwrite of that partition or a MERGE on a unique key, never a blind append. I use the event date from the data, not the processing time, to decide the partition. Then a backfill of last month is just rerunning those dates. I add checks that row counts and totals match the source after the run.
✅ A strong answer covers
- Idempotency definition
- Partition by date; overwrite partition or MERGE/upsert on keys
- Event time vs processing time
- Reconciliation checks
What they're really checking: Reliability thinking; a top 2026 data engineering topic.
📖 Learn it: Data pipelines: ETL, Airflow, dbt and Spark · Data quality: catching bad data early
-
25In Spark, what's a shuffle, and how do you deal with data skew?
💬 Easy answer
Narrow transformations like filter or map work within each partition. Wide transformations like groupBy or join need rows with the same key on the same machine, so Spark moves data across the network. That's a shuffle, and it's usually the slowest part. Skew is when one key has far more rows than others, like one huge customer, so one task runs for ages while others sit idle. Fixes: broadcast the small table in a join so there's no shuffle; salt the hot key by adding a random suffix to spread it; filter or pre aggregate early; and let adaptive query execution split skewed partitions.
✅ A strong answer covers
- Narrow vs wide transformations; shuffle = network data movement
- Skew = uneven keys; one slow task
- Broadcast joins, salting, early aggregation, AQE
What they're really checking: Spark performance depth.
📖 Learn it: Data pipelines: ETL, Airflow, dbt and Spark
-
26Why use Parquet and partitioning in a data lake?
💬 Easy answer
Parquet is a columnar file format: it stores each column together and compresses it well. Analytics queries usually read a few columns, so Parquet reads much less data than CSV, and it also keeps schema and types. Partitioning splits data into folders by a column like date, so a query for last week only reads those folders, which is called partition pruning. I'd pick partition columns that queries filter on and avoid too many tiny files, which slow everything down, by compacting them regularly.
✅ A strong answer covers
- Columnar, compressed, typed
- Partition pruning on common filters
- Avoid over partitioning and small files
What they're really checking: Storage fundamentals for performance and cost.
📖 Learn it: Data pipelines: ETL, Airflow, dbt and Spark · Data modelling: designing tables for analysis
-
27What data quality checks would you put in a pipeline?
💬 Easy answer
Checks at the boundaries: when data arrives and before it's published. Schema: expected columns and types. Completeness: row counts within an expected range compared with past days, and required fields not null. Validity: values in allowed ranges or lists, like age between 0 and 120. Uniqueness: primary keys are unique. Freshness: the latest data is recent enough. Consistency: totals reconcile with the source. Tools like dbt tests or Great Expectations make this easy. Critical failures stop the pipeline; minor ones send an alert.
✅ A strong answer covers
- Schema, volume, nulls, ranges, uniqueness, freshness, reconciliation
- At ingestion and before publishing
- Block on critical, alert on minor
- Tools: dbt tests, Great Expectations
What they're really checking: Bad data silently breaks AI models; they want to see prevention.
📖 Learn it: Data quality: catching bad data early
-
28When would you choose streaming over batch processing?
💬 Easy answer
Batch processes data in chunks on a schedule, like every hour or night; it's simpler, cheaper and easier to fix. Streaming processes events continuously within seconds, using tools like Kafka and Flink or Spark Streaming. I'd choose streaming only when the business needs fast reactions: fraud detection while a payment is happening, live recommendations, or real time alerts. For daily reports or model training, batch is better. Many systems use both: streaming for real time features, batch for corrections and history.
✅ A strong answer covers
- Batch: scheduled, simpler, cheaper
- Streaming: continuous, low latency, more complex
- Choose by business latency need, with examples
- Hybrid is common
What they're really checking: Architecture judgement.
📖 Learn it: Streaming data: Kafka and real-time pipelines · Data pipelines: ETL, Airflow, dbt and Spark
-
29What is a slowly changing dimension, type 2?
💬 Easy answer
Dimensions like customer address change over time. Type 1 just overwrites the old value, so history is lost. Type 2 keeps history: when something changes, we close the old row by setting an end date and is_current = false, and insert a new row with the new value, a new start date and is_current = true. That way, a sale from last year joins to the address the customer had then. It's important for correct historical reports and for building training data that reflects what was known at the time.
✅ A strong answer covers
- Type 1 overwrites; type 2 keeps history
- Start and end dates plus a current flag
- Enables correct point in time joins, including for ML training data
What they're really checking: Data modelling basics for warehouses.
📖 Learn it: Data modelling: designing tables for analysis
-
30Explain fact and dimension tables in a star schema.
💬 Easy answer
A fact table stores events or measurements, like each order with quantity and amount, plus keys to dimensions. Dimension tables store descriptive context, like customer, product, date and store. It's called a star because the fact table sits in the middle with dimensions around it. This makes analytics queries simple and fast: "total sales by product category by month" is a join from the fact to two dimensions and a group by. Getting the grain right, meaning what one row in the fact table represents, is the most important design decision.
✅ A strong answer covers
- Facts = events and measures; dimensions = descriptive context
- Star layout simplifies analytics
- Define the grain first
What they're really checking: Modelling fundamentals.
📖 Learn it: Data modelling: designing tables for analysis
-
31Design a pipeline that processes 10,000 documents a day with an LLM, for example extracting fields from invoices.
💬 Easy answer
Ingest new documents into object storage and put a job per document on a queue. Workers pull jobs, extract text with OCR if needed, call the LLM with a structured output schema, validate the result in code and write it to a table with the document ID, model version and prompt version. Handle the LLM's rate limits with a controlled number of workers and retries with exponential backoff. Make processing idempotent by document ID, so retries don't duplicate. Send failures and low confidence results to a review queue. Track cost per document against a budget, and sample outputs regularly for an accuracy check.
✅ A strong answer covers
- Queue based, idempotent per document
- Structured output plus validation
- Rate limit handling: concurrency control, backoff retries
- Dead letter or review queue; cost and quality monitoring
What they're really checking: A 2026 favourite: classic data engineering plus LLM realities.
📖 Learn it: Data pipelines: ETL, Airflow, dbt and Spark · Calling an LLM API: keys, requests and costs
-
32How do you keep a vector index in sync when source documents are updated or deleted?
💬 Easy answer
Treat the index like any other derived dataset. Give each chunk a stable ID based on the document ID and position, and store a hash of the content. A sync job, triggered by change events or on a schedule, finds new, changed and deleted documents; for changed ones it re embeds only chunks whose hash changed and upserts them; for deleted ones it removes their chunks, so the bot never cites removed content. I also keep the embedding model version on each vector, because changing models means re embedding everything.
✅ A strong answer covers
- Stable chunk IDs and content hashes
- Incremental upserts; delete propagation
- Change data capture or scheduled sync
- Track embedding model version
What they're really checking: Production RAG data engineering.
📖 Learn it: Embeddings and vector databases: searching by meaning · Data pipelines: ETL, Airflow, dbt and Spark
-
33You 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.
-
34Design the data pipeline that feeds daily sales analytics and an ML demand forecast.
💬 Easy answer
Sources: order database via change data capture, product catalogue, and store data. Land raw data in a lake or warehouse partitioned by date. Transform with dbt into clean staging tables, then a star schema with an orders fact table and product, store and date dimensions. The ML team reads a feature table built from the same models, so analytics and ML agree. Orchestrate with Airflow, each task idempotent by date, with data quality tests between layers, and alerts if data is late or wrong. Backfills are reruns of date partitions. Document lineage and owners, so people know where numbers come from.
✅ A strong answer covers
- Sources and ingestion (CDC)
- Raw → staging → modelled layers (star schema)
- Shared feature tables for ML
- Orchestration, idempotency, quality tests, backfills, lineage
What they're really checking: End to end data architecture.
📖 Learn it: Data pipelines: ETL, Airflow, dbt and Spark · Data modelling: designing tables for analysis · Data quality: catching bad data early
🤝 Projects and behaviour
Use the STAR method: Situation, Task, Action, Result. Include a number in the result whenever you can.
-
35Walk 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
-
36Tell 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
-
37Tell 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
-
38Explain 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
-
39How 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
-
40How 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.
-
41Do 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
-
42What 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
-
What does len({'a': 1, 'b': 2, 'a': 3}) return?
- It raises an error
- 2
- 3
- 1
Show answer
2. Dictionary keys are unique. The second 'a' overwrites the first, leaving 2 keys.
-
You need to check whether 1 million IDs are in a collection of 1 million known IDs. What's the efficient approach?
- Keep the known IDs in a list and use `in`
- Sort both lists and compare index by index in a nested loop
- Convert the IDs to strings first
- 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.
-
What does df.groupby('city')['amount'].mean() return?
- The overall mean amount
- The cities sorted by amount
- One average amount per city
- 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.
Statistics & data
-
Salaries in a team are mostly around ₹8 LPA, with one executive at ₹2 crore. Which best describes a typical salary?
- The median
- The mean
- The sum divided by 2
- 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.
-
Users who turned on a new 'focus mode' spend 30% more time in the app. Can you say focus mode caused it?
- Yes, if the sample has more than 1,000 users
- No. People who opt in may already be more engaged, so run a randomised A/B test
- No, time-in-app can never be measured
- 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
SQL & data modelling
-
You want only the cities with more than 100 orders. Which clause filters those groups?
- HAVING COUNT(*) > 100
- ORDER BY COUNT(*) > 100
- LIMIT 100
- WHERE COUNT(*) > 100
Show answer
HAVING COUNT(*) > 100. WHERE filters rows before grouping. HAVING filters groups after aggregation.
-
How do you find customers who have never placed an order?
- INNER JOIN orders and keep the matches
- SELECT DISTINCT customer_id FROM orders
- GROUP BY customer_id HAVING COUNT(*) > 0
- 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
-
Joining 1M orders to a customers table returns 3M rows. What's the most likely cause?
- The database is corrupted
- Orders are counted twice by default
- Duplicate customer IDs in the customers table, so each order matches several rows
- 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
-
Which expression gives each store's running revenue total, ordered by date?
- MAX(amount) OVER (ORDER BY store_id)
- COUNT(*) OVER ()
- SUM(amount) GROUP BY store_id
- SUM(amount) OVER (PARTITION BY store_id ORDER BY sale_date)
Show answer
SUM(amount) OVER (PARTITION BY store_id ORDER BY sale_date). A window function with PARTITION BY store and ORDER BY date accumulates the sum row by row within each store.
ML fundamentals
-
Training accuracy is 98% and test accuracy is 65%. What's happening, and what's a reasonable fix?
- Underfitting, so add more layers
- Everything is fine
- Overfitting, so simplify the model, regularise or get more data
- 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.
-
A fraud model uses 'refund_issued' as a feature and scores 0.99 AUC in testing. What's the problem?
- Data leakage: refunds happen after fraud is confirmed, so this information isn't available at prediction time
- The feature needs scaling
- AUC can't exceed 0.95
- 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
-
For a churn model on a 30-column customer table, what's a strong first choice after a baseline?
- A chatbot
- Gradient-boosted trees such as XGBoost or LightGBM
- A large transformer
- 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.
Serving & MLOps
-
A model's accuracy has dropped slowly over six months with no code changes. What's the most likely cause?
- The GPU is overheating
- Too many unit tests
- A memory leak
- 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.
-
What problem does Docker mainly solve?
- 'Works on my machine' problems, by packaging the app with its exact environment
- GPU pricing
- Model accuracy
- 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.
RAG & retrieval
-
Your RAG assistant gives wrong answers. The right document exists but is never retrieved. What do you fix first?
- Switch to a bigger LLM
- Raise the temperature
- Retrieval: chunking, embeddings, hybrid search or re-ranking
- Shorten the system prompt
Show answer
Retrieval: chunking, embeddings, hybrid search or re-ranking. If the right text never reaches the prompt, no LLM can answer correctly. Measure retrieval separately from generation.
-
Company policies change every week and answers must be current. What's the right approach?
- Pre-train a new model
- Fine-tune a model every week
- RAG over the latest documents
- Put every policy in the system prompt forever
Show answer
RAG over the latest documents. RAG keeps answers current without retraining. Fine-tuning teaches style and skills, not changing facts.
Learn: 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
-
Semantic search fails to find exact product codes like 'SKU-88213'. What helps most?
- Lowering the temperature
- Removing product codes from documents
- A bigger embedding model only
- Hybrid search: combine keyword (BM25) and vector search
Show answer
Hybrid search: combine keyword (BM25) and vector search. Embeddings capture meaning but are weak on exact identifiers. Keyword search catches those, and hybrid gets both.
Learn: Embeddings and vector databases: searching by meaning
Data engineering
-
What does it mean for a pipeline to be idempotent?
- It doesn't need a schedule
- It runs only once
- Running it again for the same period gives the same result, with no duplicates
- It never fails
Show answer
Running it again for the same period gives the same result, with no duplicates. Re-runs are routine after failures, and idempotency (for example overwrite-by-partition or upserts) prevents double counting.
-
Which use case most needs streaming rather than nightly batch processing?
- A yearly HR summary
- A monthly finance report
- Blocking a fraudulent payment as it happens
- Archiving old logs
Show answer
Blocking a fraudulent payment as it happens. When decisions must happen in seconds, batch is too late.
-
Where is the cheapest place to catch bad data?
- In the CEO's dashboard
- In customer complaints
- After the model is retrained
- 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.
-
In Kafka, what does a consumer group let you do?
- Merge topics
- Delete messages after reading
- Spread a topic's partitions across several consumers, so each message is processed once by the group
- Encrypt producers
Show answer
Spread a topic's partitions across several consumers, so each message is processed once by the group. Consumers in a group share the work. Separate groups each get their own full copy of the stream.
-
Design a pipeline that keeps a RAG index fresh as documents change. open question
A strong answer covers:
- Change detection (content hashes, CDC or webhooks)
- Parsing and chunking with metadata, including permissions
- Embedding, then upserting changed chunks and deleting removed ones
- Idempotency, retries and backfills
- Quality and freshness monitoring
- Cost control (only re-embed what changed)
Show model answer
Sources emit change events through webhooks or periodic scans comparing content hashes. Changed documents are parsed, chunked with overlap and tagged with source, section, timestamp and access groups. Only changed chunks are re-embedded and upserted, and chunks from deleted documents are removed. Jobs are idempotent and keyed by document version, so retries and backfills are safe. I'd monitor freshness lag, failed parses and the share of chunks with missing metadata, and run a nightly retrieval check against a small eval set.
Learn: Data pipelines: ETL, Airflow, dbt and Spark · Embeddings and vector databases: searching by meaning · Data quality: catching bad data early
Communication
-
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
-
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.
-
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
AI system design
-
Design a 'chat with company documents' assistant for 10,000 employees. open question
A strong answer covers:
- Ingestion: parsing, chunking with metadata, and keeping the index fresh
- Permission-aware retrieval (access filters applied before the LLM)
- Hybrid search plus re-ranking
- A prompt that requires citations and says 'not found' when unsure
- Evals and a user feedback loop
- Security: PII handling, audit logs, data residency
- Latency and cost controls (caching, model choice)
Show model answer
Documents flow from SharePoint and Confluence through a parser into chunks carrying metadata: source, section, updated date and access groups. A change-detection job re-indexes only what changed. At query time I'd authenticate via SSO, filter the search by the user's groups, run hybrid keyword-plus-vector search and re-rank the top results. The prompt asks the model to answer only from the provided sources, cite them, and say when it doesn't know. I'd mask PII and log every question, retrieved documents and answer for audit. Quality comes from a 100-question eval set built with real users, plus thumbs-up/down feedback. Cost and latency are managed with response caching and a smaller model for simple questions.
Learn: RAG: letting an LLM answer from your documents · Enterprise AI: integration, security and compliance · Evaluating AI: how to know it actually works
More questions to prepare
- Batch vs streaming: when do you choose each?
- How would you design slowly changing dimensions?
- Explain partitioning and clustering in a warehouse.
- How do you backfill a year of data safely?
- What data contracts would you set with upstream teams?
- How do you monitor data freshness?
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 Data Engineer (AI focus) interview practiceAlso for Data Engineer (AI focus)
Sources
Questions were compiled from 2026 interview guides and candidate reports, then rewritten with simple answers and checked against our lessons.
- 50 AI Engineer Interview Questions: 2026 LLM Guide (Let's Data Science)
- AI Engineer Interview Questions 2026: RAG, Agents, Evals and Production Systems (PracHub)
- AI engineering interview questions (GitHub, amitshekhariitbhu)
- Machine Learning Interview Questions 2026 (Aced, formerly Exponent)
- AI/ML Engineer Interview Questions 2026 (KORE1)
- Forward Deployed Engineer Interview: The Definitive 2026 Guide (Harvard FAS Career Services)
- Palantir Forward Deployed Engineer Interview Guide (Aced)
- AI Product Manager Interview Questions 2026 (Aced, formerly Exponent)
- AI Product Manager Interview Questions 2026 Guide (Northeastern University)
- Top 31 MLOps and Deployment Interview Questions 2026 (DataInterview)
- Data Engineering Interview Questions and Answers for 2026 (Dataquest)
- Data Engineering Interview Prep 2026: What Actually Matters (DEV Community)
- AI Product Engineer Interview 2026: The New Hybrid Role (techinterview.org)
- Top 30 AI and ML Interview Questions for Freshers 2026 (FACE Prep)