Autodesk Data Analytics Interview Questions & Answers
Curated interview practice questions with answers. These are practice scenarios, not a verified list of past interview questions.
About Autodesk hiring for Data Analytics roles
Autodesk is a software company known for design and engineering products such as AutoCAD, Revit, Fusion and Maya. Architects, engineers, manufacturers and media professionals use its tools for design, simulation and visual effects. In India it has development and operations centres that hire software engineers, quality engineers, data analysts and technical support roles.
For Data Analytics roles, this Autodesk practice set focuses most on Dashboards and KPIs (7), Python for Analysis (6), SQL (6), Tableau (4). It has 1 easy, 30 medium, 9 hard questions, so you can start easy and work up to the harder ones.
Company type
Product
Headquarters
San Francisco, USA
Main India offices
Bengaluru, Pune
Autodesk Data Analytics interview process
Online coding assessment
Technical round 1 (DSA)
Technical round 2 (design or C++/domain)
Hiring manager round
HR round
Typical pattern based on public candidate experiences. Rounds vary by role, team and year.
Solved for AutodeskStart 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
Write Python code to test whether conversion differs between control and treatment.
from statsmodels.stats.proportion import proportions_ztest, proportion_confint
conversions = [1180, 1295] # control, treatment
visitors = [30000, 30100]
z, p = proportions_ztest(conversions, visitors)
print(f'z = {z:.2f}, p = {p:.4f}')
for c, n in zip(conversions, visitors):
low, high = proportion_confint(c, n, method='wilson')
print(f'rate {c/n:.3%} 95% CI {low:.3%} to {high:.3%}')
02
Write pandas code to calculate customer acquisition cost and payback period in months for each channel.
SELECT
s.campaign_id,
COUNT(DISTINCT s.user_id) AS delivered,
COUNT(DISTINCT o.user_id) AS opened,
COUNT(DISTINCT c.user_id) AS clicked,
ROUND(100.0 * COUNT(DISTINCT o.user_id) / COUNT(DISTINCT s.user_id), 1) AS open_rate,
ROUND(100.0 * COUNT(DISTINCT c.user_id) / COUNT(DISTINCT s.user_id), 1) AS ctr
FROM email_sends s
LEFT JOIN email_opens o ON o.campaign_id = s.campaign_id AND o.user_id = s.user_id
LEFT JOIN email_clicks c ON c.campaign_id = s.campaign_id AND c.user_id = s.user_id
WHERE s.status = 'delivered'
GROUP BY s.campaign_id;
04
A senior stakeholder insists the data supports their conclusion, but your analysis does not. How do you handle it?
Stay respectful and focus on evidence, not opinions. Ask what they are seeing that leads to their view, as they may know context you lack. Walk through your method transparently, show the specific numbers, and test their hypothesis together on a cut they suggest. If the data still disagrees, present both views with their assumptions to the decision maker. Never adjust the analysis to fit a preferred answer.
05
Write pandas code to calculate monthly revenue from an orders DataFrame.
Simpson's paradox happens when a trend in several groups reverses when the groups are combined, because group sizes differ. Example: a new sales process has higher conversion in both small and large stores, yet overall conversion looks lower because it was mostly rolled out to large stores, which convert worse in general. The lesson is to check segments and confounding variables before concluding from aggregate numbers.
ROW_NUMBER gives a unique sequence. RANK gives ties the same rank and skips the next (1, 1, 3). DENSE_RANK gives ties the same rank without gaps (1, 1, 2).
08
Average delivery time improved by 4 minutes, but customer complaints about late deliveries went up. How do you investigate?
An average can improve while the tail gets worse. I would look at the distribution: median, 90th and 95th percentiles and the share of orders beyond the promised time. Then break it down by city, time slot and restaurant to see where late orders cluster. Also check whether promised times changed, whether complaint tracking changed and whether a few very fast orders pulled the mean down.
09
An A/B test is flat overall but significant for mobile users in Tier 2 cities. Do you ship it only for that segment?
Not straight away. Slicing results into many segments makes a chance finding likely, so this is a hypothesis, not a conclusion. Check whether the segment was planned in advance, how many segments were examined, and whether there is a plausible reason, such as slower networks benefiting from a lighter page. If it still looks promising, run a follow-up test targeted at that segment with enough sample to confirm it.
10
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)
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.
Keep a cleaning log or README listing each rule, why it exists and its impact, for example removed 1,240 test orders flagged by email domain. Code-based cleaning in SQL, Python or Power Query steps is itself documentation if steps are named clearly. Record counts before and after each major step. This lets reviewers trust the numbers, helps a colleague rerun the work, and answers the question why your total differs from the raw file.
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.
15
Write SQL to calculate daily active users and the DAU/MAU stickiness ratio.
WITH dau AS (
SELECT CAST(event_ts AS DATE) AS day,
COUNT(DISTINCT user_id) AS dau
FROM events
GROUP BY CAST(event_ts AS DATE)
)
SELECT d.day,
d.dau,
(SELECT COUNT(DISTINCT e.user_id)
FROM events e
WHERE CAST(e.event_ts AS DATE) BETWEEN d.day - INTERVAL '29 days' AND d.day) AS mau,
ROUND(100.0 * d.dau / (SELECT COUNT(DISTINCT e.user_id)
FROM events e
WHERE CAST(e.event_ts AS DATE) BETWEEN d.day - INTERVAL '29 days' AND d.day), 1) AS stickiness_pct
FROM dau d
ORDER BY d.day;
16
Write SQL to find users who logged in on at least 3 consecutive days.
WITH d AS (
SELECT DISTINCT user_id, CAST(login_time AS DATE) AS dt
FROM logins
),
g AS (
SELECT user_id, dt,
dt - CAST(ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY dt) AS INT) AS grp
FROM d
)
SELECT DISTINCT user_id
FROM g
GROUP BY user_id, grp
HAVING COUNT(*) >= 3;
-- gaps and islands: consecutive dates share the same grp value
17
How do you implement row-level security in Tableau?
The scalable approach is an entitlement table mapping usernames to allowed values, such as region managers to their regions. Relate or join it to the data, then add a calculated filter like USERNAME() = [Username] and apply it as a data source filter on the published source so it cannot be removed. For small cases, user filters or group-based functions like ISMEMBEROF work. Test by viewing as different users before release.
A good model is a governed core plus self-service on top. The central team builds certified datasets with agreed metric definitions and a small set of official dashboards for key KPIs. Business users then build their own views on those certified datasets, not on raw extracts. This gives speed and flexibility without twenty versions of revenue. Training, naming conventions and periodic clean-up of unused content keep it healthy.
20
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.
21
What is an action title and why should you use one?
An action title states the insight of a chart or slide as a sentence instead of a label. Instead of Monthly Sales by Region, write South region drove 70 percent of the decline since July. Busy executives may read only the titles, so each one should carry the message and, ideally, the so-what. The chart below then proves the title. Read only your titles in order: they should tell the whole story.
22
Which KPIs would you include in an HR attrition dashboard?
Core KPIs: headcount, monthly and annualised attrition rate, voluntary versus involuntary split, and early attrition within the first 90 days or first year. Breakdowns by department, location, manager, tenure band, performance rating and salary band show where it concentrates. Add hiring metrics such as time to fill and offer acceptance rate, and exit reasons from exit interviews. Protect privacy by hiding very small groups.
23
Your pandas script shows SettingWithCopyWarning and a new column does not update. What is happening and how do you fix it?
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.
24
A manager asks for a dashboard that refreshes every minute. How do you decide the right refresh frequency?
Match refresh to how quickly decisions are made. A monthly board pack needs daily refresh at most, while a warehouse dispatch board may need 15-minute or live updates. Faster refresh costs more in source load, licensing and complexity, and can show incomplete data. Ask how quickly someone will act on a change, check when upstream systems finish loading, and always display the last refreshed time on the dashboard.
25
Write Python code to calculate the sample size per group for a conversion test with a 4% baseline and a 10% relative lift.
Brand search ROAS is usually inflated because people searching the brand name were already looking for you and would often click the free organic result anyway. Before increasing spend, I would propose an incrementality test, such as pausing brand ads in some matched cities or time periods and measuring the drop in total brand-search orders. The incremental ROAS is often far lower, so the extra budget may work better elsewhere.
27
Write pandas code to find the top 2 products by revenue in each region.
Confirm data accuracy first → break down by region, product, channel and customer segment → compare with seasonality and last year → check pricing, stock-outs, marketing changes and funnel conversion → present the root causes with clear charts.
A ratio like conversion rate or average order value can move because the numerator or the denominator changed, so always show both components nearby. Ratios can look dramatic on small bases, such as 2 of 4 users. They also cannot be averaged across segments; you must divide total numerator by total denominator, otherwise small segments get too much weight. Counts are simpler but need context like trends or targets.
31
After joining orders to payments, your revenue total doubles. What went wrong?
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.
32
A stakeholder wants a 40-column crosstab in Tableau that looks exactly like their Excel sheet. How do you handle it?
I would ask what they do with it. If they export and work on it in Excel, a crosstab view with a download option or a scheduled extract is fine, and Tableau should not fight Excel. If they actually scan it for exceptions, I would suggest a summary view with highlights and a drill-down to the detail table. Often both: a short visual summary on top and the detailed table on a second tab.
33
Your Top 10 products filter in Tableau ignores the category filter. Why, and how do you fix it?
A context filter is applied before other dimension filters and before FIXED LOD calculations, creating a smaller dataset the rest of the view works on. Use it when a Top N filter should operate within a selected category, for example top 10 products within Electronics, or when a FIXED LOD must respect a filter. Add a filter to context from its right-click menu; it turns grey. Too many context filters can hurt performance.
34
Explain FIXED, INCLUDE and EXCLUDE LOD expressions in Tableau.
Level of Detail expressions compute aggregates at a level different from the view. FIXED computes at the dimensions you specify regardless of the view, for example { FIXED [Customer] : SUM([Sales]) } for lifetime sales per customer. INCLUDE adds a dimension to the view's level, such as average of per-customer sales by region. EXCLUDE removes a dimension, useful for comparing each month to the yearly total. FIXED ignores normal dimension filters unless they are context filters.
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;
37
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])
38
Your scheduled Python report failed silently and nobody noticed for a week. How do you make it reliable?
Add logging to a file or central log, wrap the main steps in try and except that send an alert by email or chat on failure, and exit with a non-zero code so the scheduler marks the job failed. Add data checks, such as row counts above a minimum and no missing dates, before sending output. Use a proper scheduler or orchestrator with retries, and include the data date in every report.
39
Write SQL to show each category's percentage share of total revenue.
SELECT category,
SUM(amount) AS revenue,
ROUND(100.0 * SUM(amount)
/ SUM(SUM(amount)) OVER (), 2) AS pct_share
FROM sales
GROUP BY category
ORDER BY revenue DESC;
-- SUM(SUM(amount)) OVER () is the grand total across all groups
40
How do you merge two DataFrames on different column names?
pd.merge(df1, df2, left_on='cust_id', right_on='id', how='left') joins on differently named keys.
Tips to crack the Autodesk Data Analytics interview
Revise C++ or another core language, object-oriented design and data structures, since many desktop products use C++ codebases.
If you know geometry, graphics or 3D concepts, mention projects that use them, as they suit many Autodesk product teams.
Try AutoCAD or Fusion student versions to understand the products and speak about them from real experience.
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; Autodesk interviewers usually ask follow-ups on your first answer.
Frequently asked questions
How many rounds are there in the Autodesk Data Analytics interview?
Candidates usually go through 5 stages: Online coding assessment; Technical round 1 (DSA); Technical round 2 (design or C++/domain); Hiring 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 Autodesk Data Analytics interview?
This practice set leans on Dashboards and KPIs (7), Python for Analysis (6), SQL (6), Tableau (4). Revise those first, then practise explaining one or two of your own projects end to end, because most Autodesk interviewers ask you to walk through real work.
Are these the exact questions asked at Autodesk?
No. These are curated practice questions that match the skills and difficulty usually tested in product interviews like Autodesk's. They are not a leaked or verified list of past questions.
Where does Autodesk hire Data Analytics professionals in India?
Autodesk has large teams in Bengaluru, Pune. Openings and locations change often, so check the Autodesk careers page and filter by city and experience.