NVIDIA Data Analytics Interview Questions & Answers
Curated interview practice questions with answers. These are practice scenarios, not a verified list of past interview questions.
About NVIDIA hiring for Data Analytics roles
NVIDIA designs GPUs and accelerated computing platforms used in gaming, data centres, AI and automotive. It also develops software like CUDA and AI frameworks. Its India offices in Pune, Bengaluru and Hyderabad work on chip design, verification, system software and AI. It hires for software engineers, verification engineers and test engineers.
For Data Analytics roles, this NVIDIA practice set focuses most on Power BI (6), SQL (5), Python for Analysis (5), Statistics and Case Studies (4). It has 3 easy, 30 medium, 7 hard questions, so you can start easy and work up to the harder ones.
Company type
Hardware & semiconductors
Headquarters
Santa Clara, California, USA
Main India offices
Pune, Bengaluru, Hyderabad
NVIDIA Data Analytics interview process
Online assessment or technical screening
Technical round 1
Technical round 2
Technical round 3 or manager round
HR round
Typical pattern based on public candidate experiences. Rounds vary by role, team and year.
Solved for NVIDIAStart 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
What is the difference between a t-test and a z-test?
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.
02
Many reporting queries in your team use SELECT DISTINCT to remove duplicate rows. What is the risk?
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
Traffic suddenly doubled from one city, with near-zero engagement time and no conversions. What is happening and what do you do?
This is very likely bot or spam traffic, or a misfiring tag. Check the user agents, IP ranges, hostnames, screen resolutions and landing pages for that traffic. If it is bots, exclude it with filters or data segments in analytics and in your reporting layer, and inform the web team so they can block it. Then restate the affected dashboard numbers, because bots inflate sessions and pull down conversion rate.
04
You launched a dashboard a month ago and usage logs show almost nobody opens it. What do you do?
Talk to the intended users before redesigning. Find out whether they know it exists, whether it answers their real questions, whether they trust the numbers, and whether it fits their routine. Common fixes are fewer, sharper KPIs, faster loading, a scheduled email snapshot, or embedding it in a meeting that already happens. Then measure usage again. Sometimes the honest answer is that the dashboard is not needed and can be retired.
05
The CMO asks which marketing channel should lose 20% of its budget. How do you approach it?
I would compare channels on incremental return, not last-click ROAS. Gather spend, attributed conversions under two models, customer quality such as repeat rate and margin, and any lift test or mix model results. Look at diminishing returns: the last rupee in a saturated channel is worth less than the average. Then recommend cutting where marginal return is lowest, ideally phased with a holdout to confirm the impact.
06
What is the unit of randomisation in an experiment, and how do you choose it?
The unit of randomisation is what gets assigned to control or treatment: a user, a session, a device, a store or a city. Usually it should be the user, so one person always sees the same version. Session-level randomisation can show one user both versions and contaminate results. Your analysis unit should match it; if you randomise by user but analyse per page view, standard errors become too small.
07
Write Python code to extract valid 10-digit Indian mobile numbers from a messy text column.
import re
pattern = re.compile(r'(?:\+?91[\s-]?|0)?([6-9]\d{9})')
def get_mobile(text):
if not isinstance(text, str):
return None
digits = re.sub(r'[\s()-]', '', text)
m = pattern.search(digits)
return m.group(1) if m else None
df['mobile'] = df['contact'].apply(get_mobile)
08
Write SQL using LAG to compare each month's revenue with the previous month.
WITH monthly AS (
SELECT DATE_TRUNC('month', order_date) AS month,
SUM(amount) AS revenue
FROM orders
GROUP BY 1
)
SELECT month,
revenue,
LAG(revenue) OVER (ORDER BY month) AS prev_revenue,
ROUND(100.0 * (revenue - LAG(revenue) OVER (ORDER BY month))
/ NULLIF(LAG(revenue) OVER (ORDER BY month), 0), 1) AS mom_pct
FROM monthly
ORDER BY month;
09
Actual sales are at order-line level but targets are set per region per month. How do you model them together?
Keep two fact tables at their natural grains: fact_sales at order line and fact_target at region-month. Never spread targets onto order lines. Both share conformed dimensions at a common level, such as a month attribute in the date dimension and region in the geography dimension. In reports, compare them only at month and region or higher. In Power BI, relate targets to month-level or region-level tables, not to daily keys.
10
Your Power BI dataset with five years of transactions takes two hours to refresh. How would you fix it?
Incremental refresh partitions a large table by date so that each refresh reloads only recent data, for example the last 7 days, while older partitions stay untouched. You create RangeStart and RangeEnd parameters, filter the table with them in Power Query, and set a policy such as store 5 years, refresh 7 days. Refresh becomes faster and lighter on the source. Query folding must work for the filter to be pushed to the database.
11
What is referential integrity and how do orphan records appear in analytics data?
Referential integrity means every foreign key value points to an existing row in the parent table, for example every order's customer_id exists in customers. Orphan records break this rule. They appear when source systems load tables at different times, records are deleted without cascading, or IDs are formatted differently across systems. Detect them with a LEFT JOIN where the parent key is NULL, and decide whether to fix, map or flag them.
12
How do you merge two DataFrames on different column names?
Do not delete them blindly. First find out what they mean: often they are returns, cancellations or credit notes, which are valid business events. Check with the source team or a documentation note. If they are returns, keep them but report gross sales, returns and net sales separately. If some are clearly entry errors, such as a negative quantity on a new order, flag and correct them and log the rule.
14
Write a DAX measure for cumulative sales from the start of the data to the selected date.
Cumulative Sales =
VAR maxDate = MAX('Date'[Date])
RETURN
CALCULATE(
[Total Sales],
FILTER(ALL('Date'[Date]), 'Date'[Date] <= maxDate)
)
-- for a running total that resets each year use TOTALYTD([Total Sales], 'Date'[Date])
It warns that you may be modifying a temporary copy of a slice, so the change might not reach the original DataFrame, for example df[df.sales > 0]['flag'] = 1. Avoid it by using a single loc call, df.loc[df.sales > 0, 'flag'] = 1, or by calling .copy() when you intentionally create a new subset. Newer pandas versions with copy-on-write make behaviour more predictable, but clear loc assignments remain best practice.
A confidence interval gives a range of plausible values for a population parameter based on a sample. A 95 percent interval for average order value of 820 to 880 rupees means that if we repeated the sampling many times, about 95 percent of such intervals would contain the true average. Wider intervals mean more uncertainty; larger samples narrow them. Reporting the interval is more honest than reporting one number.
// treat missing sales as zero
ZN(SUM([Sales]))
// replace a missing value with a default
IFNULL([Region], 'Unknown')
// test explicitly
IF ISNULL([Discount]) THEN 0 ELSE [Discount] END
// right-click a null indicator on an axis to filter or show nulls at default position
21
Tell me about a time a dashboard you built changed a business decision.
Situation: our operations team assumed late deliveries were evenly spread. Task: I built a delivery performance dashboard. Action: I added a breakdown by courier partner and pin code cluster with a weekly trend, and reviewed it with the operations manager. Result: it showed one partner caused 60 percent of delays in two zones. The company shifted those zones to another partner, and on-time delivery rose from 84 to 92 percent in two months.
22
Write Python code for a simple difference-in-differences estimate of a store pilot.
This is a join fan-out: an order has more than one matching payment row, for example split payments or retries, so each order line is repeated and sums are inflated. Check by counting rows per key on both sides. Fix it by aggregating payments to one row per order before joining, joining at the correct grain, or using the right key. Always compare row counts and totals before and after a join.
24
What are parameters in Tableau and how do you use them?
A parameter is a single user-controlled value, such as a number, date or string, that is independent of the data. On its own it does nothing; you reference it in calculations, filters, reference lines or bins. Common uses are a Top N selector, a what-if growth rate, or a measure switcher where a CASE statement picks Sales, Profit or Quantity based on the parameter. Parameter actions let users set it by clicking a mark.
25
What is the difference between COUNT(*), COUNT(column) and COUNT(DISTINCT column)?
COUNT(*) counts all rows, including rows with NULLs. COUNT(column) counts only rows where that column is not NULL. COUNT(DISTINCT column) counts unique non-null values. For example, in an orders table, COUNT(*) gives number of orders, COUNT(coupon_code) gives orders that used a coupon, and COUNT(DISTINCT customer_id) gives number of unique buyers. Mixing these up is a common source of wrong KPIs.
26
Two tables have a many-to-many relationship and your report totals look inflated. What do you do?
Inflated totals usually mean rows are being double counted through the many-to-many path. I would first check whether a proper dimension table can sit between them, turning it into two one-to-many relationships, for example a bridge table of unique customer IDs. I would set single filter direction, test totals against the source with a simple SQL query, and use measures with DISTINCTCOUNT where needed. Many-to-many should be a deliberate choice, not a default.
Sales LY =
CALCULATE([Total Sales], SAMEPERIODLASTYEAR('Date'[Date]))
Sales YoY % =
VAR cur = [Total Sales]
VAR prev = [Sales LY]
RETURN
DIVIDE(cur - prev, prev)
-- needs a marked date table; format the measure as a percentage
29
What is the medallion architecture (bronze, silver, gold)?
Medallion architecture organises a lakehouse into three layers. Bronze holds raw data exactly as ingested, for audit and reprocessing. Silver holds cleaned, deduplicated, typed and joined data. Gold holds business-ready tables such as star schemas and aggregates used by dashboards. Each layer is built from the previous one by repeatable jobs, so if a cleaning rule changes you can rebuild silver and gold from bronze.
30
How do you calculate working days between two dates in Excel, excluding holidays?
-- A2 = start date, B2 = end date, Holidays = named range of holiday dates
=NETWORKDAYS(A2, B2, Holidays)
-- if the weekend is only Sunday (weekend code 11)
=NETWORKDAYS.INTL(A2, B2, 11, Holidays)
-- date that is 10 working days after A2
=WORKDAY(A2, 10, Holidays)
31
How would you write a short email summarising an analysis for a manager?
Use a clear subject that states the finding, such as Q3 repeat purchase rate fell 4 points, mainly in Tier 2 cities. Open with one or two sentences of the key insight and the recommendation. Follow with three bullet-style lines of supporting evidence with numbers, then any caveats about data, and a clear next step or decision needed with a date. Attach or link the detailed workings instead of pasting large tables.
A group combines dimension members into higher-level categories, such as merging small states into Others; it is static and each member belongs to one group. A set splits members into In and Out based on a selection or condition, such as top 10 customers by sales, and can be dynamic and recalculate with data. Sets can be combined, used in calculations and changed by set actions, making them more powerful for interactive analysis.
I would first agree on definitions: gross or net, including tax or returns, order date or invoice date. Then compare one small slice, such as one month and one region, in both. I check filters on the report and page, relationships that drop unmatched rows, refresh time versus the Excel extract time, and duplicate rows. Once the gap is explained, I document the definition in the report so the question does not repeat.
from pathlib import Path
import pandas as pd
def combine_excel(folder):
frames = []
for f in Path(folder).glob('*.xlsx'):
df = pd.read_excel(f)
df['source_file'] = f.name
frames.append(df)
return pd.concat(frames, ignore_index=True)
all_sales = combine_excel('monthly_reports')
Tips to crack the NVIDIA Data Analytics interview
Revise C and C++, operating systems and computer architecture, which are core to most NVIDIA engineering roles.
Learn GPU and CUDA basics, including parallel programming, threads, blocks and the GPU memory hierarchy.
Read about NVIDIA's data centre and AI platforms to understand where much of its current work is focused.
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; NVIDIA interviewers usually ask follow-ups on your first answer.
Frequently asked questions
How many rounds are there in the NVIDIA Data Analytics interview?
Candidates usually go through 5 stages: Online assessment or technical screening; Technical round 1; Technical round 2; Technical round 3 or manager 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 NVIDIA Data Analytics interview?
This practice set leans on Power BI (6), SQL (5), Python for Analysis (5), Statistics and Case Studies (4). Revise those first, then practise explaining one or two of your own projects end to end, because most NVIDIA interviewers ask you to walk through real work.
Are these the exact questions asked at NVIDIA?
No. These are curated practice questions that match the skills and difficulty usually tested in hardware & semiconductors interviews like NVIDIA's. They are not a leaked or verified list of past questions.
Where does NVIDIA hire Data Analytics professionals in India?
NVIDIA has large teams in Pune, Bengaluru, Hyderabad. Openings and locations change often, so check the NVIDIA careers page and filter by city and experience.