C
Capital One SQL Interview Prep

Capital One SQL Interview
Questions

Capital One is a card issuer and a bank, and its data-analyst screen runs on CodeSignal — a timed mix of dataset questions and written SQL. Practice the SQL that screen is described as testing — joins at the right grain, GROUP BY, CTEs, window functions — on card-transaction data — accounts, merchants, transactions, chargebacks — with an AI tutor when you get stuck.

Practice on Card Data — Free See the 6 Challenges ↓

6 card-data challenges

5 play free

Card ledger

200 accounts · 2,165 transactions

AI tutor

Step-by-step hints

The CodeSignal Screen

What the Capital One data analyst CodeSignal screen asks

As described publicly in September 2026 — candidate reports and dated prep guides, not Capital One itself. Where the reports disagree, this page says so rather than picking a number.

📋

The format

A CodeSignal assessment of about 70 minutes with around 14 to 15 questions. Most are multiple-choice over provided CSV or Excel datasets — you can answer them in Excel, Python, R or SQL — plus one or a few written SQL questions. Candidate reports differ on the exact split, so prepare for more than one.

🎯

The SQL it names

Joins (INNER and LEFT), GROUP BY aggregation with COUNT, SUM, AVG, MIN and MAX, CTEs and subqueries, window functions — ROW_NUMBER, RANK, DENSE_RANK, LAG, LEAD, SUM OVER — and date filtering by day, week, month, quarter and rolling window. The written question is described as summarising data, not reciting syntax.

🔧

What costs points

On dataset questions the answer is a number, so a join that duplicates rows or a GROUP BY at the wrong level is simply wrong — there is no partial credit for a query that runs. Drill the grain: one row per what? Then the fan-out: does this join multiply the thing I am summing? The six challenges below are chosen for exactly those two mistakes.

Sources: candidate reports on Blind (December 2021, November 2022, June 2025) and interview-prep guides dated August 2025 to February 2026. Capital One does not publish the screen's format; treat every specific above as candidate-reported, and expect it to change.

Practice the SQL half under the clock: a 70-minute, six-question CodeSignal-style SQL mock on the same card-transaction ledger — a join with a fan-out trap, grain, CASE buckets, a CTE, a window function and a date filter. Pro.

Start the 70-minute SQL mock →

Background first? What the CodeSignal data analyst screen actually asks — candidate reports, 2021–2026

Practice Set Composition

What the Capital One practice set actually covers

The 25 challenges tagged Capital One in the SQL Quest bank, with every raw challenge tag resolved to the 9 canonical skills. Each share is the portion of those 25 challenges that exercise the skill — a challenge exercises several, so the shares do not sum to 100%. This is the composition of the practice set on this page, not a measurement of Capital One’s interview.

Practice Questions

Six card-data challenges, one per shape

From the SQL Quest Banking track · a card-transactions ledger, 200 accounts · 5 play free, 1 is Pro

Four tables — accounts, merchants, transactions, chargebacks — joined on account_id, merchant_id and txn_id: the account-and-transaction shape the screen is described as using, on a synthetic card ledger with no real PII. Easy to Hard; each blurb is the bank's own solution shape, and every challenge shows its solution once solved.

1 · Aggregate at the right grain 2 challenges

One row per what? Say it before you type GROUP BY. The first is the opening question on every card screen — spend per account per month; the second adds the share-of-total the dataset questions keep asking for, where 100 instead of 100.0 rounds every share to zero.

2 · Join without fan-out 1 challenge

Three tables, and the last join is optional. A merchant with no disputes must still count its transactions, so chargebacks come in on a LEFT JOIN — and then COUNT(*) counts every transaction as a dispute. This is the dataset question in its purest form: which COUNT, at which grain.

3 · CTEs and subqueries 1 challenge

Chain the steps instead of nesting them. "Which accounts did NOT do X" is the anti-join: put the accounts that did X in a CTE, LEFT JOIN to it, keep the rows where the join found nothing. NOT EXISTS is the same question as a subquery.

4 · Window functions 2 challenges

Top-N per group and the rolling window — the two window shapes every analyst screen keeps. The top-N is Medium and free; the rolling 30-day frame is Hard and on Pro, and it is the one where ROWS BETWEEN 30 PRECEDING is the classic wrong answer. Month-over-month with LAG (challenge 282, free) is the same ledger's third window.

These six are the Capital One cut of the Banking track: 57 challenges in all — 27 on FDIC BankFind data plus 30 on a synthetic card ledger — 43 of them free. The other nineteen card-analytics challenges on the same tables (signup-month cohorts, ticket-size mix, month-over-month growth, first-to-second latency, the fan-out two one-to-many joins produce, COUNT(*) versus COUNT(DISTINCT), the NULL that COUNT skips, RANK on ties, percent-of-parent, running totals, a self-join and a decile cut computed from the data) go further into the same shapes; card fraud is Capital One's business, so once those are cold, the ledger's velocity rule and impossible-travel check are the natural next step.

Open the Banking Track — Free to Start →

Frequently Asked

Ready for the
Capital One SQL screen?

No signup required. No credit card. Open the Banking track and start with the monthly-spend question right now.

Launch SQL Quest — It's Free ⚡

Works on Chrome, Firefox, Safari, Edge · No plugins · No downloads

Card fraud is the other half of the job. Read SQL for fraud analytics — velocity checks, rolling windows and self-joins — or go straight to the fraud-analytics challenge set on a transaction ledger.

Interviewing at more than one bank? The same patterns carry: JPMorgan · Morgan Stanley · Wise · Revolut — or the full company-by-company interview guide.