What you get back

A real report, with invented figures. This is the page a hiring team reads when a candidate finishes, and the PDF they forward to whoever is making the decision.

Back
GeekCoders CodeArena
CandidateA. Candidatecandidate@example.com
68%Above the mark · 60% to pass
PositionSenior Data Engineer
AssessmentSenior DE screen — SQL and PySpark
Hiring teamNorthwind Data
Submitted4 Sep 2026, 11:19 UTC
Time spent1 hour 17 minutes of 90 min
Questions3 of 5 solved
How this was gradedEvery verdict comes from running the candidate’s own code against hidden datasets in a sandbox with no network access. Runtime, memory and shuffle counts are measured on that run, not estimated. Nobody scored anything by hand.

Where the score sits

060% pass mark100

The pass mark is Northwind Data’s, set when the assessment was built. A score is how somebody did on one paper against one mark — what the role needs is yours to judge, and this document does not make a recommendation.

Against everyone else who sat this paper

3of 9 who submitted
64%cohort median
88%best so far
4above the mark

A place in a cohort is not a ranking of people — it is where one attempt fell among the attempts made so far, and the cohort grows. It is most useful in the other direction: a question nobody solved says something about the paper.

By technology

1
SQL100%
2 of 2 solved
2
PySpark58.3%
1 of 2 solved
3
Data Modelling0%
0 of 1 solved · 1 not attempted

Question by question

Question 1MediumSolved100%
Month-over-month revenue growth
SQL · answered in SQL · 8 of 9 candidates solved this
Runtime184 msMemory42 MBRows read1,240,000
Question 2HardSolved100%
Deduplicate a late-arriving event stream
SQL · answered in SQL · 5 of 9 candidates solved this
Runtime910 msMemory58 MBRows read4,800,000
Question 3HardSolved70%
Join on a skewed customer key
PySpark · answered in PYSPARK · 3 of 9 candidates solved this
Runtime41,300 msMemory1,820 MBRows read62,000,000Shuffles3Partitions200
Question 4MediumWrong answer35%
Incremental merge into a Delta table
PySpark · answered in PYSPARK · 4 of 9 candidates solved this
Runtime6,100 msMemory640 MBRows read900,000Shuffles1Partitions8
Question 5MediumNot attempted—
Model a customer's address history
Data Modelling · 0 of 9 candidates solved this

Multiple choice 2 of 3 right

✓
A nightly job reads yesterday’s partition and the count is short. Where do you look first?

Warehouse design · Chose B — Late-arriving data outside the partition window

✗
Which of these cause a shuffle?

Spark · Chose A — groupBy

✓
A slowly changing dimension of type 2 keeps the previous row.

Modelling · Chose A — True

Session signals

4× left the tab2× pasted3× switched window

Counts, not conclusions. A tab switch may be a second monitor, a notification or a phone call; a paste may be the candidate’s own earlier work. Everything here is defeatable by anyone determined — a second machine or a printed sheet leaves no trace at all — so an unremarkable list is not evidence of anything.