Skip to content

Kotak Mahindra Bank Data Science Interview Questions & Answers

Curated interview practice questions with answers. These are practice scenarios, not a verified list of past interview questions.

About Kotak Mahindra Bank hiring for Data Science roles

Kotak Mahindra Bank is a major Indian private sector bank offering retail banking, corporate banking, wealth management, credit cards and digital banking through products like Kotak 811. The wider Kotak group also includes securities, asset management and insurance businesses. It hires for relationship management, operations, risk, analytics and technology roles across its offices and branches.

For Data Science roles, this Kotak Mahindra Bank practice set focuses most on Deep Learning and NLP (8), Machine Learning (7), Statistics and Probability (4), A/B Testing & Experimentation (4). It has 5 easy, 34 medium, 1 hard questions, so you can start easy and work up to the harder ones.

Company type
Banking & finance
Headquarters
Mumbai, India
Main India offices
Mumbai, Bengaluru

Kotak Mahindra Bank Data Science interview process

  1. Online assessment or resume screening
  2. Functional or technical interview
  3. Managerial round
  4. HR round

Typical pattern based on public candidate experiences. Rounds vary by role, team and year.

Solved for Kotak Mahindra BankStart practicing
3 QUESTIONS FREESign up to unlock the full question bank and track your progress.Unlock every question and answer, then continue practising company-wise and package-wise.
3 questions free Unlock the rest in seconds
01

How do one-stage and two-stage object detectors differ?

Save to ▾
Show answer
Two-stage detectors, like Faster R-CNN, first propose candidate regions and then classify and refine each one, which gives strong accuracy, especially for small objects, but is slower. One-stage detectors, like YOLO and SSD, predict boxes and classes directly over a dense grid in a single pass, making them fast enough for real-time video. Modern one-stage models have closed most of the accuracy gap, so they dominate edge and video use cases.
02

What is a system prompt in an LLM application?

Save to ▾
Show answer
A system prompt is the instruction message placed before user messages that sets the model's role, tone, rules and output format, for example 'You are a support assistant; answer only from the provided policy and reply in JSON'. It shapes every response in the conversation. Keep it clear and specific, version it like code, and do not rely on it alone for security, since users can try to override it through prompt injection.
03

Write NumPy code to compute the Dice coefficient between a predicted and a true binary mask.

Save to ▾
Show answer
import numpy as np def dice(pred, true, eps=1e-7): pred = pred.astype(bool) true = true.astype(bool) inter = np.logical_and(pred, true).sum() return (2 * inter + eps) / (pred.sum() + true.sum() + eps) # Dice = 2|A and B| / (|A| + |B|); 1 means perfect overlap
04

Your model performance degrades every few months. Would you retrain on a fixed schedule or based on triggers?

Save to ▾
Show answer
Scheduled retraining, like monthly, is simple and predictable but may be too late after a sudden change or wasteful when nothing changed. Trigger-based retraining runs when monitoring shows drift or a performance drop, which reacts faster but needs reliable monitoring. Many teams combine both: a regular schedule plus triggers for big shifts. Either way, a retrained model must pass the same evaluation gate before replacing the current one.
05

Explain Bayes' theorem with an example.

Save to ▾
Show answer
P(A given B) = P(B given A) x P(A) / P(B). In a medical test it converts test accuracy and disease prevalence into the real chance a positive result means disease.
06

What is the minimum detectable effect (MDE) in experiment design?

Save to ▾
Show answer
The MDE is the smallest true effect your test can reliably detect given the sample size, baseline rate, significance level and power. If baseline conversion is 5 percent and your MDE is 10 percent relative, you can detect a move to 5.5 percent but will likely miss smaller lifts. Choose the MDE from business value: the smallest change worth shipping. A smaller MDE needs a much larger sample, roughly growing with one over MDE squared.
07

The business asks you to pick a decision threshold for a churn model. How do you choose it?

Save to ▾
Show answer
The default 0.5 is rarely right. I would get the cost of each outcome: the value of saving a churner, the cost of a retention offer, and the team's capacity to contact customers. Then I compute expected profit or precision and recall at many thresholds on validation data and pick the one that maximises value within capacity. I would also check that the chosen threshold stays stable over recent months.
08

What is an autoencoder and what is it used for?

Save to ▾
Show answer
A network that compresses inputs into a small latent code and reconstructs them; used for denoising, dimensionality reduction and anomaly detection.
09

What are naive and seasonal naive forecasts, and why should you always compute them?

Save to ▾
Show answer
A naive forecast predicts that the next value equals the last observed value. A seasonal naive forecast predicts the value from the same period last season, such as last Monday for next Monday. They take seconds to build and are surprisingly hard to beat on many business series. Always report your model's error relative to these baselines; if a complex model cannot beat seasonal naive, it is not adding value.
10

Why do we use activation functions? Why is ReLU popular?

Save to ▾
Show answer
Activations add non-linearity so networks can learn complex patterns. ReLU (max(0, x)) is cheap and reduces vanishing gradients compared with sigmoid/tanh; Leaky ReLU avoids 'dead' neurons.
11

Write Python code to compute the haversine distance between customer and store locations.

Save to ▾
Show answer
import numpy as np def haversine_km(lat1, lon1, lat2, lon2): lat1, lon1, lat2, lon2 = map(np.radians, [lat1, lon1, lat2, lon2]) dlat, dlon = lat2 - lat1, lon2 - lon1 a = np.sin(dlat / 2) ** 2 + np.cos(lat1) * np.cos(lat2) * np.sin(dlon / 2) ** 2 return 6371 * 2 * np.arcsin(np.sqrt(a)) df['dist_km'] = haversine_km(df.cust_lat, df.cust_lon, df.store_lat, df.store_lon)
12

How do you work with domain experts to find good features?

Save to ▾
Show answer
Situation: on an insurance claims model, my first features gave average results. Task: improve fraud detection. Action: I sat with two claim investigators for a day and asked what made them suspicious. They mentioned claims filed soon after policy start and repeated garage names. I turned these into features and checked them with the team. Result: recall at the same precision rose by 12 points. Experts often know signals the data hides.
13

What is Bayesian A/B testing and how are its results reported?

Save to ▾
Show answer
Bayesian A/B testing starts with a prior on each variant's metric, updates it with observed data and produces a posterior distribution. Instead of a p-value, you report things like the probability that treatment beats control, say 94 percent, and the expected loss if you choose the wrong variant. Business teams find this easier to interpret. Priors must be chosen sensibly, and continuous monitoring still needs discipline about decision rules.
14

Write SQL to find duplicate emails in a users table.

Save to ▾
Show answer
SELECT email, COUNT(*) AS cnt FROM users GROUP BY email HAVING COUNT(*) > 1 ORDER BY cnt DESC;
15

How do you design an A/B test?

Save to ▾
Show answer
Define the hypothesis and one primary metric, calculate sample size from the baseline, minimum detectable effect, α and power, randomise users, run for full business cycles, check for sample-ratio mismatch, then test both statistical and practical significance.
16

What is stacking in ensemble learning?

Save to ▾
Show answer
Training a meta-model on the predictions of several base models, often using cross-validated predictions to avoid leakage.
17

What is subword tokenisation like BPE or WordPiece?

Save to ▾
Show answer
Subword tokenisers split text into frequent pieces between characters and full words. Byte Pair Encoding starts from characters and repeatedly merges the most frequent pairs. WordPiece, used by BERT, is similar but chooses merges by likelihood. Rare words like unhappiness become un, happi, ness, so there are no unknown words and the vocabulary stays around 30,000 to 100,000. Token counts also decide LLM cost and context use.
18

Write Python code to compute a 95% bootstrap confidence interval for the mean.

Save to ▾
Show answer
import numpy as np def bootstrap_ci(x, n_boot=10000, seed=42): rng = np.random.default_rng(seed) x = np.asarray(x) means = [rng.choice(x, size=len(x), replace=True).mean() for _ in range(n_boot)] return np.percentile(means, [2.5, 97.5]) print(bootstrap_ci([12, 15, 9, 20, 14, 11, 18]))
19

How do you use groupby with multiple aggregations?

Save to ▾
Show answer
df.groupby('region').agg(total=('sales','sum'), avg=('sales','mean')) gives named aggregations per group in one pass.
20

What is Naive Bayes and why is it called naive?

Save to ▾
Show answer
It applies Bayes' theorem assuming features are independent given the class. The assumption is rarely true but the model is fast and works well for text.
21

Training a transformer on a GPU fails with an out-of-memory error. What can you do?

Save to ▾
Show answer
Reduce the batch size and use gradient accumulation to keep the same effective batch. Shorten the maximum sequence length. Turn on mixed precision training with float16 or bfloat16. Use gradient checkpointing, which saves memory by recomputing activations. Freeze some layers or switch to a smaller model, or use parameter-efficient fine-tuning like LoRA. Also make sure no old tensors stay on the GPU between runs.
22

Pearson vs Spearman correlation?

Save to ▾
Show answer
Pearson measures linear relationships on continuous data; Spearman uses ranks, so it captures monotonic relationships and is less sensitive to outliers.
23

How do you tune hyperparameters?

Save to ▾
Show answer
Use grid search, random search or Bayesian optimisation with cross-validation, starting with a coarse random search and narrowing the promising ranges.
24

Write Python code to calculate the sample size per group needed to detect a lift from 5 percent to 5.5 percent conversion.

Save to ▾
Show answer
from statsmodels.stats.power import NormalIndPower from statsmodels.stats.proportion import proportion_effectsize baseline, target = 0.05, 0.055 effect = proportion_effectsize(target, baseline) # Cohen's h n = NormalIndPower().solve_power( effect_size=effect, alpha=0.05, power=0.8, ratio=1.0, alternative='two-sided' ) print(round(n)) # about 31,000 users per group
25

Write Python code to evaluate a forecasting model with expanding-window time series cross-validation.

Save to ▾
Show answer
import numpy as np from sklearn.model_selection import TimeSeriesSplit from sklearn.metrics import mean_absolute_error tscv = TimeSeriesSplit(n_splits=5, test_size=28) scores = [] for tr, te in tscv.split(X): model.fit(X.iloc[tr], y.iloc[tr]) pred = model.predict(X.iloc[te]) scores.append(mean_absolute_error(y.iloc[te], pred)) print(np.mean(scores), scores)
26

How do you pivot data in Pandas?

Save to ▾
Show answer
pd.pivot_table(df, index='region', columns='month', values='sales', aggfunc='sum') reshapes long data into a summary matrix; melt() does the reverse.
27

Pandas: find customers whose monthly spend increased for three consecutive months.

Save to ▾
Show answer
m = (df.assign(month=df['date'].dt.to_period('M')) .groupby(['customer_id', 'month'])['amount'].sum() .reset_index() .sort_values(['customer_id', 'month'])) m['up'] = (m.groupby('customer_id')['amount'].diff() > 0).astype(int) # three rises in a row = three consecutive increases m['streak'] = (m.groupby('customer_id')['up'] .rolling(3).sum().reset_index(level=0, drop=True)) result = m.loc[m['streak'] == 3, 'customer_id'].unique()
28

A deep network you built from scratch does not learn at all; the loss stays flat from the first epoch. Could weight initialisation be the reason?

Save to ▾
Show answer
If weights start too large, activations and gradients explode; if too small, they vanish, and training stalls. If all weights are equal, every neuron learns the same thing. Good schemes keep the variance of activations stable across layers: Xavier or Glorot initialisation for tanh and sigmoid, and He initialisation for ReLU. Frameworks use sensible defaults, but it matters when building custom layers or very deep networks.
29

L1 vs L2 regularisation?

Save to ▾
Show answer
L1 (Lasso) adds absolute weights and can shrink some to zero, giving feature selection. L2 (Ridge) adds squared weights and shrinks them smoothly without removing features.
30

What is the randomisation unit in an experiment, and why does it matter?

Save to ▾
Show answer
The randomisation unit is what you assign to variants: a user, a session, a device, a page view or even a city. Choosing user-level keeps each person's experience consistent and avoids contamination. The analysis unit should match the randomisation unit, because if you randomise by user but analyse by page view, observations are correlated and standard errors come out too small, producing false positives. Use the delta method or bootstrap when they differ.
31

A 10 million row DataFrame with a city column is using too much memory. How can the category dtype help?

Save to ▾
Show answer
The category dtype stores each unique value once and keeps small integer codes for every row. For a column like city with 50 unique values in 10 million rows, this can cut memory by more than 90 percent and speed up groupby and sorting. It helps when a column has low cardinality. It does not help for unique IDs or free text, and adding new categories later needs extra handling.
32

Why is cross-entropy preferred over MSE for classification in neural networks?

Save to ▾
Show answer
Cross-entropy measures how far predicted probabilities are from the true class and strongly penalises confident wrong predictions. With a softmax or sigmoid output, it gives large, useful gradients when the model is wrong. MSE with sigmoid outputs gives very small gradients when predictions saturate, so learning slows down. Use binary cross-entropy for two classes, categorical cross-entropy for many classes, and MSE for regression targets.
33

What is the bias–variance trade-off?

Save to ▾
Show answer
Bias is error from overly simple assumptions (underfitting). Variance is sensitivity to the training data (overfitting). More model complexity lowers bias but raises variance — aim for the lowest total error using cross-validation and regularization.
34

How do you get reliable JSON output from an LLM?

Save to ▾
Show answer
Use the provider's structured output or JSON schema mode when available, which constrains the output to your schema. Otherwise, describe the exact schema in the prompt with an example, and use low temperature. Always parse and validate the response in code, for example with Pydantic, and on failure retry with the error message included. Keep schemas small and flat, and use enums for fields with fixed values.
35

What is normalisation, and why are analytics tables often denormalised?

Save to ▾
Show answer
Normalisation splits data into related tables to remove redundancy, so each fact is stored once, which suits transactional systems with many updates. Analytics workloads mostly read large volumes, and joins across many tables are slow and error-prone. So warehouses often use denormalised, wide tables or star schemas that repeat some attributes. The trade-off is more storage and the need to keep copies consistent through pipelines.
36

Your daily sales forecast badly misses the Diwali spike every year. How do you fix it?

Save to ▾
Show answer
The model is treating Diwali as noise because the festival moves on the calendar and a fixed yearly seasonality does not align. Add explicit holiday features: a flag for Diwali and a few days before and after, since buying starts early. Include other regional festivals and sale events too. Models like Prophet or gradient boosting with holiday features handle this well. Then backtest specifically on past festive periods to confirm the fix.
37

What is transfer learning?

Save to ▾
Show answer
Reusing a model pretrained on a large dataset and fine-tuning it on a smaller task-specific dataset, saving data, time and compute.
38

What is batch normalisation?

Save to ▾
Show answer
It normalises layer inputs per mini-batch and then rescales them, stabilising and speeding up training and allowing higher learning rates.
39

What is the difference between ROW_NUMBER, RANK and DENSE_RANK?

Save to ▾
Show answer
All three number rows within a window ordered by some column. ROW_NUMBER gives unique numbers even for ties: 1, 2, 3. RANK gives tied rows the same rank and skips the next numbers: 1, 1, 3. DENSE_RANK gives ties the same rank without gaps: 1, 1, 2. Use ROW_NUMBER to pick exactly one row per group, and DENSE_RANK for questions like the second highest distinct salary.
40

What is calibration of a classifier?

Save to ▾
Show answer
Calibration checks whether predicted probabilities match real frequencies (e.g. 70% predictions are right about 70% of the time). Fix with Platt scaling or isotonic regression.

Tips to crack the Kotak Mahindra Bank Data Science interview

  • Revise banking basics such as types of accounts, loans, interest rates, KYC and the role of the RBI.
  • For technology and analytics roles, prepare SQL, Excel and one programming language, with examples from your projects.
  • Read about Kotak's digital banking efforts like Kotak 811 and recent banking news to discuss them in interviews.
  • Keep a one-minute story ready for every project on your CV: problem, your part, tools, result.
  • Practise the hard questions on this page aloud; Kotak Mahindra Bank interviewers usually ask follow-ups on your first answer.

Frequently asked questions

How many rounds are there in the Kotak Mahindra Bank Data Science interview?

Candidates usually go through 4 stages: Online assessment or resume screening; Functional or technical interview; Managerial round; HR round. The exact rounds change with the role, team, location and your experience, so confirm the process with the recruiter.

Which topics should I prepare for the Kotak Mahindra Bank Data Science interview?

This practice set leans on Deep Learning and NLP (8), Machine Learning (7), Statistics and Probability (4), A/B Testing & Experimentation (4). Revise those first, then practise explaining one or two of your own projects end to end, because most Kotak Mahindra Bank interviewers ask you to walk through real work.

Are these the exact questions asked at Kotak Mahindra Bank?

No. These are curated practice questions that match the skills and difficulty usually tested in banking & finance interviews like Kotak Mahindra Bank's. They are not a leaked or verified list of past questions.

Where does Kotak Mahindra Bank hire Data Science professionals in India?

Kotak Mahindra Bank has large teams in Mumbai, Bengaluru. Openings and locations change often, so check the Kotak Mahindra Bank careers page and filter by city and experience.

Data Science questions for similar companies