← PaddySpeaks
Interview Studio · Practice · Q&A Design Skill Check paddyspeaks.com/interview.app/evaluate

Loading questions…

Interview Studio · Skill Check · Quiz

Skill Check Quiz — SQL, Python & Data/System Design

Three skill-assessment pools — SQL (254 questions), Python (200 questions), and Data & System Design (275 questions). Each quiz attempt draws 20 random questions from the section pool, with options shuffled. Single-choice, multi-select, code, and open-ended formats. SQL and Python code questions run live in your browser (PGlite Postgres + Pyodide). Auto-graded. No sign-up.

▸ Section 01 · SQL

SQL Skill Check — Sample Questions

A randomized 20-question quiz drawn from a 254-question pool covering joins, aggregation, window functions, CTEs, NULL semantics, set operations, indexing, transactions, and gaps-and-islands. Code questions run in an in-browser PostgreSQL (PGlite).

  1. EASYJoinsSingle choice

    Which JOIN returns only rows that have a match in BOTH tables?

    INNER JOIN — keeps only rows where the predicate matches on both sides. LEFT/RIGHT keep unmatched rows on one side, FULL OUTER keeps unmatched on both, CROSS JOIN is a Cartesian product.

  2. EASYFilteringSingle choice

    What is the key difference between WHERE and HAVING?

    WHERE filters rows before grouping; HAVING filters groups after aggregation. SUM(amount) > 1000 works in HAVING but not in WHERE.

  3. EASYNULL SemanticsSingle choice

    What is the result of NULL = NULL in standard SQL?

    NULL (unknown). Any comparison with NULL yields NULL. Use IS NULL / IS NOT NULL for NULL checks.

  4. EASYAggregationSingle choice

    How does COUNT(*) differ from COUNT(column_name)?

    COUNT(*) counts every row in the result set; COUNT(col) counts non-NULL values of that column. Use COUNT(DISTINCT col) for unique non-NULL values.

  5. EASYSet OperationsSingle choice

    What is the difference between UNION and UNION ALL?

    UNION performs a distinct-sort to deduplicate, which can be expensive. UNION ALL concatenates without dedup — prefer it when duplicates are impossible or wanted.

  6. MEDIUMWindow FunctionsMulti-select

    Which of these are valid SQL window functions?

    ROW_NUMBER(), RANK(), LEAD(), FIRST_VALUE(), and NTILE() are valid. COUNT_DISTINCT() OVER (…) is not — standard DISTINCT is not allowed inside window aggregates in most engines.

▸ Section 02 · Python

Python Skill Check — Sample Questions

A randomized 20-question quiz drawn from a 200-question pool covering comprehensions, generators, decorators, the data model, mutable defaults, the GIL, async, the stdlib, and the data stack. Code questions run in Pyodide with auto pass/fail tests.

  1. EASYComprehensionsSingle choice

    What does [x*x for x in range(5) if x % 2] evaluate to?

    [1, 9] — the filter keeps odd x values from range(5) (i.e. 1 and 3), then squares them.

  2. EASYMutable DefaultsSingle choice

    What is printed by def f(x, acc=[]): acc.append(x); return acc after print(f(1)); print(f(2))?

    [1] then [1, 2]. The default list is evaluated once at function-definition time and shared across calls — the classic mutable-default gotcha.

  3. EASYData ModelMulti-select

    Which of these are hashable (can be used as dict keys / set elements)?

    Immutable types: tuple of ints, frozenset, str, int. list, dict, set are not hashable.

  4. EASYGeneratorsSingle choice

    List comprehension [x for x in big_iter] vs generator expression (x for x in big_iter)?

    The list materializes all elements in memory; the generator yields lazily and uses O(1) memory. Use a generator for large or infinite streams.

  5. EASYIdentity vs EqualitySingle choice

    What does is compare versus ==?

    is compares object identity (id(a) == id(b)). == calls __eq__ for value equality. Use is None, never == None.

  6. MEDIUMConcurrencySingle choice

    The Python GIL (CPython) primarily prevents which of the following?

    Two threads from executing Python bytecode in parallel. I/O-bound code still scales with threads (the GIL is released around blocking I/O); CPU-bound code needs multiprocessing or a sub-interpreter.

▸ Section 03 · Data & System Design

Data & System Design Skill Check — Sample Questions

A randomized 20-question quiz drawn from a 275-question pool covering dimensional modeling, SCDs, fact-table grain, partitioning, CDC, streaming (Kafka / Flink), idempotency, exactly-once, watermarks, and scale tradeoffs.

  1. EASYDimensional ModelingSingle choice

    In a star schema, what sits at the center?

    A fact table — measures at a single grain — surrounded by dimension tables joined to it by foreign keys. Snowflake schemas further normalize the dimensions.

  2. EASYGrainSingle choice

    What is the 'grain' of a fact table?

    The atomic level of detail represented by one row — e.g. one order line, one impression, one daily snapshot. Defining the grain first is the modeling rule of thumb.

  3. MEDIUMSCDsSingle choice

    A Slowly Changing Dimension Type 2 (SCD2) is used to:

    Preserve historical attribute values by closing the old row (valid_to) and inserting a new row with the new attributes — so queries can reconstruct the dimension state at any point in time.

  4. EASYOLTP vs OLAPSingle choice

    Which is most characteristic of an OLAP system (compared to OLTP)?

    Columnar storage, wide scans, denormalized facts, long-running analytical queries. OLTP optimizes for short, indexed point-lookup transactions.

  5. MEDIUMDenormalizationMulti-select

    When is denormalization a defensible choice?

    When a join is on the hot path and a duplicated attribute kills latency; when a column is immutable (point-in-time snapshot); when consumers need a flat shape and you control the write path. Not as a blanket replacement for normalization.

  6. MEDIUMKeysSingle choice

    Why prefer a SURROGATE key over the NATURAL key for a dimension primary key?

    Surrogates are stable when natural identifiers change, smaller and faster to index, and required for SCD2 (one natural key maps to many surrogate rows). Natural keys still live on the dimension as a unique business attribute.

How the Skill Check Works