How to use this module
Scala interviews follow a stable pattern: a screen on the language (immutability, case classes, pattern matching, Option, collections), a technical round on functional programming, types and concurrency, and, for experienced roles, a design conversation that assumes either data engineering with Spark and Kafka or backend services with an effect system. The 60 questions below are grouped the same way: 25 junior, 25 mid-level, 10 senior.
- Say the answer out loud before opening it. Recognising an answer when you read it is not the same as producing it under pressure.
- Read the "what they are really testing" line. It tells you what the interviewer will follow up on, which is where most candidates lose points.
- Back every claim with code you have run. The modules these draw on, such as Case Classes & Pattern Matching, Generics & Givens and Futures & Concurrency, have examples you can paste into your editor.
given; in 2.13 an implicit val"). It shows you can work in either codebase.