Real schemas, big data
Hidden datasets up to 50M rows, so a naive answer times out instead of passing.
Browse problems →SQL, PySpark and Databricks questions asked at Amazon, Adobe and Deloitte, graded on hidden datasets with runtime and shuffle metrics.
6,433+ engineers already learn with GeekCoders
from pyspark.sql import DataFrame, functions as Ffrom pyspark.sql.window import Window def solve(customers: DataFrame) -> DataFrame: w = (Window.partitionBy("customer_id") .orderBy(F.desc("updated_at"), F.desc("source_id"))) return (customers .withColumn("rn", F.row_number().over(w)) .filter(F.col("rn") == 1) .drop("rn"))Most practice sites train you for a round data teams stopped running. Here is what changes on CodeArena.
You solve it at your desk, then freeze when they ask why you joined that way.
Every accepted answer shows how it ran, and Pro adds optimisation feedback on what it would do at scale: the “why” interviewers ask about.
Optimisation feedback →Practice sites give you three rows of data. Interviews are about skew, nulls and 50 million rows.
Hidden test datasets go up to 50M rows, with skewed keys and nulls. A naive answer times out instead of quietly passing.
Hidden datasets →“Accepted” doesn’t tell you whether your answer shuffled twice and collected to the driver.
The verdict reports runtime, peak memory, shuffle stages and partitions on every submission.
Run metrics →The posting asks for Databricks and window functions. You’re grinding tree traversal.
GeekMatch AI reads a real posting against your resume, names the gaps, and points you at the questions that close them.
GeekMatch AI →The same tools and data shapes your next team uses, not toy inputs.
Hidden datasets up to 50M rows, so a naive answer times out instead of passing.
Browse problems →Runtime, memory, shuffle stages and partitions on every submission.
Try a problem →Prep sets for Amazon, Adobe, Deloitte and more, by experience band.
All company sets →Timed exams that issue a credential anyone can verify, with one-click LinkedIn.
View a sample credential →Timed, graded on the server, and verifiable by anyone you send the link to.
Apache IcebergAssociateIssued by GeekCoders. Not vendor certifications.

CodeArena turns the GeekCoders course questions into problems you can run and get graded on.
Upgrade only when you want unlimited grading and the exams.
No. Questions are tagged by experience band. The lowest starts at joins, grouping and reading a file in Python; the highest is distributed systems, cost and governance. You pick the band, not us.
It grades SQL, Python, PySpark, Spark, Databricks and data modelling against hidden datasets in a real sandbox, and reports runtime, memory and shuffle stages alongside the verdict.
Every published question with its schema, worked example and public tests, the editor, and a verdict. Free includes 20 graded submissions a month against the hidden datasets. Nothing is deleted when you run out — grading pauses until the month turns over.
No. It is our exam and our credential, issued by GeekCoders and verifiable on a public page. It is not affiliated with or endorsed by Databricks, Snowflake, Microsoft or the Apache Software Foundation.
You can, and it will pass. It will also report the same runtime and shuffle count to you that it would to an interviewer, and the round you are preparing for ends with somebody asking you to explain it.