Discover real pass rates, solve times, and the exact silent bugs that trip candidates up across 190+ relational database questions. Calibrated against thousands of live coding attempts.
SQL & Python Interview Problems
Real candidate coding submissions
Overall candidate solve benchmark
Stumbles on edge cases & joins
Ranked by candidate fail rate on first-attempt grading. Learn the subtle traps before your interview.
Silent Bug: Operating on a DataFrame slice without `.copy()`, producing `SettingWithCopyWarning`, or using `.apply(axis=1)` with custom Python functions...
Silent Bug: Operating on a DataFrame slice without `.copy()`, producing `SettingWithCopyWarning`, or using `.apply(axis=1)` with custom Python functions...
Silent Bug: Attempting to filter window function output directly inside the WHERE clause (e.g., WHERE ROW_NUMBER() OVER (...) <= 3). Because SQL execute...
Silent Bug: Operating on a DataFrame slice without `.copy()`, producing `SettingWithCopyWarning`, or using `.apply(axis=1)` with custom Python functions...
Silent Bug: Operating on a DataFrame slice without `.copy()`, producing `SettingWithCopyWarning`, or using `.apply(axis=1)` with custom Python functions...
Silent Bug: Attempting to filter window function output directly inside the WHERE clause (e.g., WHERE ROW_NUMBER() OVER (...) <= 3). Because SQL execute...
Silent Bug: Attempting to filter window function output directly inside the WHERE clause (e.g., WHERE ROW_NUMBER() OVER (...) <= 3). Because SQL execute...
Silent Bug: Operating on a DataFrame slice without `.copy()`, producing `SettingWithCopyWarning`, or using `.apply(axis=1)` with custom Python functions...
Silent Bug: Operating on a DataFrame slice without `.copy()`, producing `SettingWithCopyWarning`, or using `.apply(axis=1)` with custom Python functions...
Silent Bug: Operating on a DataFrame slice without `.copy()`, producing `SettingWithCopyWarning`, or using `.apply(axis=1)` with custom Python functions...
Analyze where candidates stumble most across Window Functions, Joins, NULL semantics, and GROUP BY.
ROW_NUMBER, RANK, DENSE_RANK, NTILE, LAG, LEAD, and running totals with PARTITION BY.
Filtering window calculations in WHERE instead of a CTE (evaluation order violation).
Fact-to-dimension lookups, hierarchical self-joins, anti-joins, and complex 3+ table chains.
Silent row dropping with INNER JOIN instead of LEFT JOIN when records have 0 relations.
Three-valued boolean logic, COALESCE fallbacks, NOT IN with NULLs, and deduplication.
NOT IN subquery returning 0 rows due to NULL values in the subquery result set.
Multi-column grouping, conditional aggregations, and post-aggregation group filtering.
Placing aggregate conditions in WHERE, or omitting selected columns from GROUP BY.
SUM, COUNT, AVG, MIN, MAX calculations and DISTINCT cardinality handling.
Using COUNT(*) instead of COUNT(DISTINCT col) after joins, leading to inflated counts.
Multi-stage CTE pipelines, correlated subqueries, and nested analytical derived tables.
Repeated WITH keywords instead of comma-separated chains, or un-aliased derived tables.
Grouping, merging, vectorization, boolean masking, and index manipulations in Python.
Using iterative for-loops or slow .apply() calls instead of vectorized operations.
Search across questions, inspect failure rate distributions, and jump into deep-dive diagnostics.
Unlike static question banks with arbitrary difficulty labels, Topfolio continuously measures real candidate execution patterns, runtime SQL errors, and time-to-first-correct-submission across our live in-browser coding sandbox.
Candidate queries execute against real relational databases (PostgreSQL engine). Submissions are graded by comparative result-set diffing and runtime execution logs.
To prevent low-volume sample skew, pass rates are calibrated using Bayesian priors conditioned on question difficulty and structural syntax requirements.
We analyze non-crashing flawed queries (such as accidental Cartesian row multiplication, NULL filtering drops, and tie-breaking ambiguity) to diagnose why candidates get rejected.
We monitor solution reveal ratios to quantify candidate abandonment and pinpoint the exact logical hurdles where engineers seek external hints.