Skip to content

Deutsche Bank Data Analytics Interview Questions & Answers

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

About Deutsche Bank hiring for Data Analytics roles

Deutsche Bank is a German global bank with corporate banking, investment banking, private banking and asset management businesses. Its India technology and operations centres in Pune, Bengaluru, Mumbai and Jaipur support global functions. It hires for software engineers, QA engineers, data engineers, business analysts and risk analysts.

For Data Analytics roles, this Deutsche Bank practice set focuses most on Python for Analysis (7), Excel (5), Power BI (5), SQL (4). It has 8 easy, 30 medium, 2 hard questions, so you can start easy and work up to the harder ones.

Company type
Banking & finance
Headquarters
Frankfurt, Germany
Main India offices
Pune, Bengaluru, Mumbai, Jaipur

Deutsche Bank Data Analytics interview process

  1. Online assessment (aptitude + coding)
  2. Technical round 1
  3. Technical round 2
  4. Managerial round
  5. HR round

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

Solved for Deutsche 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

You share a forecasting workbook and users keep overwriting formulas. How do you protect it?

Save to ▾
Show answer
Separate input cells from calculation cells and colour inputs clearly. Unlock only the input cells through Format Cells, Protection, then protect the sheet so formulas cannot be edited, and optionally hide formulas. Add data validation on inputs to block wrong values such as negative quantities. Protect workbook structure so sheets cannot be deleted, keep a version history, and add a short instructions sheet so users know where to type.
02

Many reporting queries in your team use SELECT DISTINCT to remove duplicate rows. What is the risk?

Save to ▾
Show answer
SELECT DISTINCT often hides a real problem, such as a join on the wrong key or a one-to-many join that multiplies rows. The output looks clean, but sums computed before the DISTINCT, or legitimate repeated rows, can be wrong, and DISTINCT adds a costly sort on large tables. Instead, find why duplicates appear, fix the join or aggregate the child table first, and add a uniqueness test on the key.
03

How do you detect and handle skewed data?

Save to ▾
Show answer
Check histograms and skew(), then apply log, square-root or Box-Cox transforms, or use medians and robust statistics.
04

Write SQL to count orders by week and by day of week.

Save to ▾
Show answer
-- orders per week (PostgreSQL style) SELECT DATE_TRUNC('week', order_date) AS week_start, COUNT(*) AS orders FROM orders GROUP BY 1 ORDER BY 1; -- orders by day of week (0 = Sunday) SELECT EXTRACT(DOW FROM order_date) AS dow, COUNT(*) AS orders FROM orders GROUP BY 1 ORDER BY 1;
05

What are novelty and primacy effects in experiments?

Save to ▾
Show answer
A novelty effect is when users engage more with a change simply because it is new, so the early lift fades over time. A primacy effect is the opposite: existing users resist a change at first because they are used to the old design, so results start poor and improve. Both mean short tests mislead. Run tests for at least one or two full weeks and compare new versus returning users.
06

An inner join between orders and customers returns fewer orders than the orders table has. What could be wrong?

Save to ▾
Show answer
Orphan records are child rows whose foreign key has no matching parent, such as orders with a customer_id that does not exist in the customer table. They break joins silently: an inner join drops them and totals fall short. Find them with a LEFT JOIN from the child to the parent and filter where the parent key IS NULL. Then fix the source, add an Unknown member, or report them separately.
07

Write pandas code to standardise inconsistent city names such as 'delhi ', 'New Delhi' and 'DELHI'.

Save to ▾
Show answer
city_map = { 'delhi': 'Delhi', 'new delhi': 'Delhi', 'bombay': 'Mumbai', 'mumbai': 'Mumbai', 'bengaluru': 'Bengaluru', 'bangalore': 'Bengaluru', } clean = df['city'].str.strip().str.lower().str.replace(r'\s+', ' ', regex=True) df['city_clean'] = clean.map(city_map).fillna(clean.str.title()) print(df['city_clean'].value_counts())
08

Your A/B test ends with no significant difference. How do you report it?

Save to ▾
Show answer
A flat result is still useful. Report the observed difference with its confidence interval, for example -0.3% to +0.8%, which shows the range of effects still possible. State whether the test had enough power for the planned MDE. If it did, conclude that any effect is probably small and the team can choose based on cost or simplicity. Share learnings so the same idea is not retested blindly.
09

How do you calculate a rolling average?

Save to ▾
Show answer
df['sales'].rolling(window=7).mean() gives a 7-period moving average, useful to smooth daily noise.
10

Tell me about a time you automated a manual Excel task.

Save to ▾
Show answer
Situation: our team spent about four hours every Monday copying sales exports from five branches into one summary sheet. Task: I was asked to cut that time. Action: I built a Power Query that read every file in a shared folder, cleaned headers and appended them, then a PivotTable and a few formulas produced the summary on refresh. Result: the report took ten minutes, copy-paste errors stopped, and two other teams reused the template.
11

What is a gateway in Power BI?

Save to ▾
Show answer
A bridge that lets the Service refresh data from on-premises sources securely on a schedule.
12

What is the difference between a view and a materialised view?

Save to ▾
Show answer
A view stores a query and runs it each time; a materialised view stores the result physically and must be refreshed, making reads faster.
13

How do you merge two DataFrames on different column names?

Save to ▾
Show answer
pd.merge(df1, df2, left_on='cust_id', right_on='id', how='left') joins on differently named keys.
14

DAX: calculated column vs measure?

Save to ▾
Show answer
A calculated column is computed row by row and stored in the model. A measure is computed at query time using the filter context, e.g. Total Sales = SUM(Sales[Amount]). Prefer measures for aggregations.
15

How do you connect Python to a SQL database?

Save to ▾
Show answer
Create an engine with SQLAlchemy or a driver such as psycopg2, then run pd.read_sql(query, engine) to load results into a DataFrame.
16

Numbers in an Excel column are stored as text and SUM returns zero. How do you fix it?

Save to ▾
Show answer
Signs are left-aligned numbers, green triangles, and COUNT returning less than COUNTA. Fix options: select the column and use the warning menu Convert to Number; use Data, Text to Columns and Finish; or a helper column with =VALUE(TRIM(A2)). If there are hidden characters, use =VALUE(SUBSTITUTE(TRIM(A2), CHAR(160), "")) to remove non-breaking spaces from web exports. In Power Query, simply change the column type to number.
17

Explain Matplotlib vs Seaborn.

Save to ▾
Show answer
Matplotlib is the low-level plotting library with full control; Seaborn builds on it with attractive statistical charts and simpler syntax.
18

What is broadcasting in NumPy?

Save to ▾
Show answer
Broadcasting lets NumPy perform operations on arrays of different shapes without copying data, by virtually stretching the smaller array. For example, subtracting a 1D array of column means from a 2D array centres every column in one line: X - X.mean(axis=0). Shapes are compatible when trailing dimensions are equal or one of them is 1. It is a key reason vectorised code is much faster than Python loops.
19

What is a PivotTable and when do you use it?

Save to ▾
Show answer
A tool that summarises large tables by dragging fields into rows, columns, values and filters, so you can slice sales by region or month without writing formulas.
20

Write SQL to generate a simple date dimension for 2026.

Save to ▾
Show answer
-- PostgreSQL syntax CREATE TABLE dim_date AS SELECT TO_CHAR(d, 'YYYYMMDD')::INT AS date_key, d::DATE AS full_date, EXTRACT(YEAR FROM d) AS year, EXTRACT(QUARTER FROM d) AS quarter, EXTRACT(MONTH FROM d) AS month_no, TO_CHAR(d, 'Mon') AS month_name, TO_CHAR(d, 'Dy') AS weekday, EXTRACT(ISODOW FROM d) IN (6, 7) AS is_weekend FROM GENERATE_SERIES(DATE '2026-01-01', DATE '2026-12-31', INTERVAL '1 day') AS d;
21

Customer names in your file show strange characters like 'é' instead of accented letters. What is wrong and how do you fix it?

Save to ▾
Show answer
This is an encoding mismatch: a UTF-8 file was read as a different encoding such as Latin-1 or Windows-1252. Re-read it with the right encoding, for example pd.read_csv(path, encoding='utf-8') or 'utf-8-sig' for files with a byte order mark, or set the file origin in Excel and Power Query import. Avoid re-saving through tools that change encoding, and agree on UTF-8 for all exchanges, especially for Hindi or other Indian language text.
22

Write an Excel formula to look up a price using two criteria, product and city.

Save to ▾
Show answer
=XLOOKUP(1, (A2:A500=G2) * (B2:B500=H2), C2:C500, "Not found") -- A = product, B = city, C = price -- G2 and H2 hold the product and city to find -- each condition returns TRUE/FALSE; multiplying gives 1 only where both match
23

How do you change data types and parse dates?

Save to ▾
Show answer
df['date'] = pd.to_datetime(df['date']); df['amount'] = pd.to_numeric(df['amount'], errors='coerce'); astype('category') for repeated strings.
24

What are table calculations in Tableau?

Save to ▾
Show answer
Table calculations are computed on the aggregated results already in the view, not on the underlying rows. Examples are running total, percent of total, difference from previous, rank and moving average. Their result depends on the direction and partition you set with Compute Using, for example table across or by specific dimensions. They are quick to add from Quick Table Calculation, but incorrect Compute Using settings are a frequent cause of wrong numbers.
25

What is Row-Level Security?

Save to ▾
Show answer
Rules that restrict data per user role, for example sales managers seeing only their region, defined with DAX filters and assigned in the Service.
26

What is a factless fact table? Give an example.

Save to ▾
Show answer
A factless fact table records that an event or relationship happened but has no numeric measures, only dimension keys. Examples are student attendance (student, class, date) or which products were on promotion in which store each day. You analyse it by counting rows. A promotion coverage table is useful for questions like which promoted products did not sell, by comparing it with the sales fact.
27

What is the difference between relationships, joins and data blending in Tableau?

Save to ▾
Show answer
Relationships, the default logical layer, connect tables flexibly and Tableau decides join type and level per view, avoiding duplicated measures. Joins physically merge tables into one at a fixed level, which can duplicate rows if grains differ. Blending combines data from separate data sources at the view level using a primary and secondary source, aggregating the secondary first. Prefer relationships, use joins for specific row-level needs, and blending as a last resort.
28

A junior analyst wants to load one huge flat table with every column into Power BI instead of a star schema. How do you advise them?

Save to ▾
Show answer
A flat table is quick to start and fine for a small one-off analysis. But at scale it bloats the model because repeated text attributes compress poorly, makes DAX filters and time intelligence harder, and breaks when you add a second fact like targets or returns. I would show them a star schema with one fact and a few dimensions, compare model size and measure speed, and let the results convince them.
29

Analytics shows 1,820 purchases last month but the order database shows 2,150. Which is right, and how do you explain the gap?

Save to ▾
Show answer
The order database is the source of truth for counts and revenue. Analytics usually undercounts because of ad blockers, declined cookie consent, users closing the page before the confirmation tag fires, and payment redirects that break sessions. It can also overcount from duplicate tags on page refresh. Quantify the gap per month; if it is stable around 15%, use analytics for channel mix and trends and the database for totals.
30
Save to ▾
Show answer
A data mart is a subset of the warehouse built for one department or subject, such as sales, finance or HR. It contains the facts and dimensions that team needs, often pre-aggregated and with business-friendly names. Marts make reporting faster and simpler for that team. Ideally they are built from the central warehouse using conformed dimensions, so the finance mart and the sales mart still agree on revenue.
31

What is a date table in Power BI and why should you mark it as one?

Save to ▾
Show answer
A date table has one row per day with no gaps, covering the full range of your data, plus columns like year, month, quarter and week. Marking it as a date table tells Power BI to use it for time intelligence functions such as TOTALYTD and SAMEPERIODLASTYEAR. Without it, those functions can give wrong results and auto date tables bloat the model. Relate it to every fact table's date column.
32

What is hypothesis testing in simple words?

Save to ▾
Show answer
You assume no effect (null), collect evidence and decide whether the data is surprising enough to reject that assumption at a chosen significance level.
33

What is Tableau Prep used for?

Save to ▾
Show answer
Tableau Prep is a visual tool for cleaning and shaping data before analysis. You build a flow of steps: connect inputs, clean fields, split columns, group similar values, pivot, join, union and aggregate, and see the data change at every step. The output can be an extract or published data source that dashboards use. It suits analysts who need repeatable preparation without writing SQL or Python.
34

What is the difference between a calculated field and a helper column in Excel?

Save to ▾
Show answer
A calculated field lives inside a PivotTable and works on summarised data; a helper column is a normal column of formulas that feeds the PivotTable or other formulas.
35

Import mode vs DirectQuery?

Save to ▾
Show answer
Import loads data into memory for fast visuals; DirectQuery queries the source live, giving fresh data but slower performance and some DAX limits.
36

How can a chart mislead even when the numbers are correct?

Save to ▾
Show answer
Common tricks are a truncated y-axis on bar charts, which exaggerates small differences; inconsistent scales across side-by-side charts; dual axes chosen to imply a correlation; cherry-picked time windows; cumulative charts that always rise; and area or 3D effects that distort size. Bars should start at zero, while line charts may zoom in if clearly labelled. Always check that the visual impression matches the actual magnitude.
37

Why would you publish a Tableau data source separately instead of embedding it in each workbook?

Save to ▾
Show answer
A published data source lives on Tableau Server or Cloud and can be reused by many workbooks. Calculations, joins, field names and extract refresh schedules are defined once, so every report uses the same revenue logic and the database is queried once per refresh instead of once per workbook. You can certify it and set permissions. Embedded sources are fine for a quick personal analysis but drift over time.
38

What is the difference between melt and pivot?

Save to ▾
Show answer
melt converts wide data to long format; pivot converts long data to wide, and they are used to reshape data for analysis or charts.
39

Your pandas script takes 40 minutes on 10 million rows. How do you speed it up?

Save to ▾
Show answer
First profile to find the slow step instead of guessing. Common fixes: replace row-wise apply and loops with vectorised operations, convert repeated strings to category dtype, downcast numeric types, read only needed columns with usecols, and filter early. Push heavy joins and aggregations into SQL. If it is still slow, use a columnar engine such as DuckDB or Polars, or store intermediate data as Parquet instead of CSV.
40

What is the difference between a t-test and a z-test?

Save to ▾
Show answer
Both compare means. A z-test assumes the population standard deviation is known or the sample is large, so the normal distribution applies. A t-test estimates standard deviation from the sample and uses the t-distribution, which has heavier tails for small samples. In practice analysts mostly use t-tests: one-sample, independent two-sample (Welch's version if variances differ) or paired, for before-after measurements on the same users.

Tips to crack the Deutsche Bank Data Analytics interview

  • Revise Java, SQL and OOP, which appear commonly in Deutsche Bank technology interviews.
  • Learn the trade lifecycle and basics of foreign exchange and fixed income for domain questions.
  • Read about Deutsche Bank's focus on cloud transformation and its partnership with Google Cloud.
  • 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; Deutsche Bank interviewers usually ask follow-ups on your first answer.

Frequently asked questions

How many rounds are there in the Deutsche Bank Data Analytics interview?

Candidates usually go through 5 stages: Online assessment (aptitude + coding); Technical round 1; Technical round 2; 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 Deutsche Bank Data Analytics interview?

This practice set leans on Python for Analysis (7), Excel (5), Power BI (5), SQL (4). Revise those first, then practise explaining one or two of your own projects end to end, because most Deutsche Bank interviewers ask you to walk through real work.

Are these the exact questions asked at Deutsche Bank?

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

Where does Deutsche Bank hire Data Analytics professionals in India?

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

Data Analytics questions for similar companies