Oracle interview prep · updated Oct 2026

Oracle Data Analyst Interview Questions

Data Analyst 8 questions

Data work at a company that makes databases, cloud services and finance and human resources applications means SQL is the core skill, and the data is often about money and people: invoices, ledgers, employees, cloud usage. Prepare to describe window functions and hierarchical queries in words, reconcile two finance reports that disagree, design a warehouse for sales orders, and handle numbers that change after month-end close. What to show here: strong SQL and exact numbers for finance and cloud usage. Each question below has what the interviewer is checking, an answer frame and a sample spoken answer to adapt.

Behavioral

1. Tell me about a time two finance reports that should have matched did not. How did you reconcile them?

What they are checking
Checks whether you can reconcile with method, work at the level of single records and explain the difference in plain words.
Answer frame
  1. Describe the two reports and the size of the gap.
  2. Explain how you broke the totals down to find where they diverged.
  3. Show the cause.
  4. Share what changed so it would not repeat.
Sample spoken answer

“Our sales dashboard and the finance team's month-end report differed by a small amount that nobody could explain. I did not try to explain it from the top. I broke both down by day and by customer until the difference sat in a handful of invoices. Those invoices had been credited after the dashboard's data was loaded, and the dashboard never picked up credits issued later. I documented the cause, changed the load so that late credits are applied to the right month, and added a daily check that compares the two sources and flags any gap. The result was your result.”

Red flag to avoid

Weak answers adjust one number to match the other, or stop at the total without going to the record level.

Behavioral

2. Describe a time a report that business users depended on became too slow. How did you speed it up without changing its meaning?

What they are checking
Checks whether you can improve a query's performance with care for the results staying the same.
Answer frame
  1. Describe the report and how slow it had become.
  2. Explain how you found the slow part.
  3. Show the change: indexes, a summary table, a rewritten join.
  4. Share how you proved the results were unchanged.
Sample spoken answer

“The monthly cost report for our cloud usage had grown from seconds to many minutes as the usage table grew. I looked at the execution plan and saw it scanned the whole table for each month, because the query used a function on the date column. I rewrote the filter as a date range and added a summary table that holds usage by day and service, refreshed nightly. Before switching, I ran old and new versions for three past months and compared every row. They matched. The result was your result, and the users did not notice anything except the speed.”

Red flag to avoid

Weak answers change the query and never compare the old and new results.

SQL

3. For each customer, you need a running total of their invoices over time and the rank of each invoice by amount within that customer. Describe how you would write that with window functions.

What they are checking
Checks whether you understand partitioning, ordering and frames in window functions, explained in words.
Answer frame
  1. Explain that a window function computes over a set of rows related to the current row without grouping them away.
  2. Partition by customer.
  3. For the running total, order by date and sum over rows up to the current one.
  4. For the rank, order by amount descending and use a rank function.
Sample spoken answer

“I would use window functions, because they let me keep every invoice row while computing across the customer's other rows. For the running total, I take SUM of the amount over a window partitioned by customer and ordered by invoice date, with the frame running from the first row up to the current row. Each invoice then shows the total of all earlier invoices plus itself. For the rank, I use a rank function over a window partitioned by customer and ordered by amount descending. I would say which rank function I chose, because ties are handled differently by each, and finance users will ask.”

Red flag to avoid

Weak answers reach for a group by, which loses the individual invoices, or ignore ties in the rank.

SQL

4. An employees table stores each person's manager id. Describe how you would list every employee under a given director, at any depth, with their level in the chain.

What they are checking
Checks whether you can reason about hierarchical data and recursive queries.
Answer frame
  1. Recognise the table as a tree stored by parent id.
  2. Start from the director as the first level.
  3. Join repeatedly, each step taking employees whose manager was found in the previous step, adding one to the level.
  4. Guard against loops and missing managers.
Sample spoken answer

“The table is a tree, where each row points to its parent. I would write a recursive query. The starting part selects the director with level one. The recursive part joins the employees table to the rows found so far, matching manager id to employee id, and adds one to the level. The database repeats that until no new rows appear, which gives everyone under the director at any depth. I would guard against a loop, where bad data makes someone their own ancestor, by tracking the path or setting a maximum depth. Some databases also offer a dedicated hierarchical syntax for this.”

Red flag to avoid

Weak answers join the table to itself a fixed number of times and miss deeper levels.

Metrics

5. You have daily usage records of cloud services per customer. How would you find customers whose usage is falling, so that the account team can call them before they leave?

What they are checking
Checks whether you can turn raw usage into a warning signal that is early enough and not too noisy.
Answer frame
  1. Aggregate usage per customer per week to remove daily noise.
  2. Compare recent weeks with the customer's own earlier level.
  3. Separate expected drops, such as a finished project, from silent decline.
  4. Rank by size of customer and test the signal against past churn.
Sample spoken answer

“Daily usage is noisy, so I would sum it by customer per week. Then I would compare the last few weeks against the customer's own average over earlier months, since a small customer and a large one have very different normal levels. A steady fall across several weeks matters more than one quiet week. I would look at which services fell, because turning off test machines after a project is normal, while a fall in production databases is a warning. I would rank the list by customer size and check against customers who left in the past to tune the signal.”

Red flag to avoid

Weak answers flag any week-on-week drop, which floods the account team with false alarms.

Technical

6. You are designing a data warehouse for sales orders. Which tables would you create, and what would you do when a customer moves to a different sales region?

What they are checking
Checks whether you understand star schemas and slowly changing dimensions with a concrete case.
Answer frame
  1. Create a fact table of order lines with measures and keys.
  2. Create dimension tables for customer, product, date and region.
  3. For a region change, keep history by adding a new customer row with dates of validity.
  4. Explain how reports choose the region as of the order date.
Sample spoken answer

“I would build a star schema. The fact table holds one row per order line, with the amount and quantity, and keys to dimensions: customer, product, date and salesperson. The customer dimension holds the region. When a customer moves region, I do not overwrite the old row, because past orders would then move to the new region and history would change. I add a new row for the customer with a start date and mark the old row as ended. Each fact points to the customer row that was current at order time. Reports can then show sales by region as it was, or as it is now.”

Red flag to avoid

Weak answers overwrite the region and do not see that past reports would change.

Scenario

7. You published the month-end numbers to leadership. Two days later the dashboard shows different numbers, because late entries were posted into that month. What do you do?

What they are checking
Checks whether you can handle changing financial data with honesty and a process, not by hiding the change.
Answer frame
  1. Find what changed and by how much.
  2. Tell the people who received the first numbers, with the reason.
  3. Agree a rule: a snapshot at close, and a marked restatement after.
  4. Show both versions clearly on the dashboard.
Sample spoken answer

“First I would find exactly which entries came in late and how much they moved the totals. Then I would tell the people who saw the first numbers, before they find out on their own. I would explain that postings into a closed month happen and are legitimate. For the future, I would agree with finance on a rule: the dashboard takes a snapshot when the month is reported, and later changes appear as a marked restatement, not as a silent change. The dashboard would show the reported figure and the current figure side by side, with the date of each.”

Red flag to avoid

Weak answers hope nobody notices, or freeze the dashboard so that the late postings are never shown.

Why this company

8. Why do you want to do analysis work at a company whose products are databases, cloud services and applications for finance and human resources?

What they are checking
Checks whether you like working close to SQL and business data and understand the company's products.
Answer frame
  1. Say what you enjoy about SQL and structured data.
  2. Link it to the company's products and data.
  3. Give an example from your experience.
  4. Say what you want to learn.
Sample spoken answer

“I like analysis that lives in SQL and in well-designed tables, more than in slides. Here the database is the product, and the data is about finance, people and cloud usage, which are areas where exact numbers matter and where a wrong total is noticed. In my current job I reconciled our billing data with the ledger and it taught me how much care that takes. I would like to learn how analysts here work with very large datasets, and how usage data is turned into signals for account teams.”

Red flag to avoid

Weak answers speak about dashboards in general and show no interest in SQL or in financial data.

Salary questions come last

No figures on this page: pay depends on the level, the city and the offer in front of you. When the offer comes, the free salary negotiation script helps with that part.

For the call itself

The questions above are the prep. On the real call, ClapAssist helps with the ones you did not practice.

ClapAssist is an AI interview assistant for Mac and Windows. It listens to the interview on your computer and shows you what to say, in short lines you can read while you talk. Your live interview audio and screen are never stored. Your resume and notes are saved to your account so the app fills them in on any computer. It is hidden from screen share on every plan, including Free; only you can see it.

Download with 10 free minutes
Mac and Windows · Stays out of screen share · No card