Skip to main content
Journey Uncommon Logo
JourneyUncommon

Browse 9,481 coding interview questions

Seventeen languages, each with its own topic list and a code snippet on every question. Pick a language to read through it, a difficulty to run a mixed set, or a curated test for a timed paper.

Reading the practice bank is free and needs no account. Answering does. The correct options and the worked explanations sit behind a free sign-in so the platform stays honest about what you actually got right.

This is the practice bank. The questions we send to candidates in a recruiter test come from a separate sealed set that is never published here, and each candidate gets a different draw.

By language

TypeScript adds a structural type system on top of JavaScript. Most of the difficulty sits in what the compiler infers, not in what you wrote.

125 easy · 219 medium · 262 hard

MongoDB is a document database. Its interviews are about data modelling and index design far more than about query syntax.

99 easy · 246 medium · 244 hard

SQL

587

SQL is the query language every relational database speaks. Interviews test whether you can reason about set semantics, not just write SELECTs.

105 easy · 236 medium · 246 hard

JavaScript runs in every browser and, through Node, on most back ends too. It is the language with the widest reach and the most edge cases.

110 easy · 221 medium · 249 hard

C#

580

C# is the .NET language for services, desktop apps and games. Its interviews go deep on value versus reference semantics.

76 easy · 258 medium · 246 hard

Go

576

Go is built for concurrent network services. The runtime is small enough that interviews expect you to know how it behaves.

89 easy · 244 medium · 243 hard

HTML

574

HTML is the document layer of the web. Getting it right is most of accessibility and a surprising amount of SEO.

124 easy · 225 medium · 225 hard

Python is the default language for scripting, data work, and back-end services that value readability over raw speed.

115 easy · 211 medium · 244 hard

Rust

566

Rust enforces memory safety at compile time. Interviews mostly test whether the borrow checker's model is in your head.

75 easy · 241 medium · 250 hard

Ruby

557

Ruby is a dynamic, deeply reflective language best known through Rails. Its metaprogramming is both the draw and the trap.

50 easy · 247 medium · 260 hard

Swift is Apple's language for iOS and macOS. Reference-counting behaviour and value semantics drive most of its gotchas.

60 easy · 245 medium · 244 hard

Java

541

Java runs a very large share of enterprise back ends. Its interviews reward knowing the memory model as well as the syntax.

112 easy · 211 medium · 218 hard

React is the dominant way to build user interfaces on the web. The hard parts are re-render timing, identity, and effect cleanup.

120 easy · 218 medium · 198 hard

CSS

527

CSS decides layout and paint. Most bugs come from the cascade, stacking contexts, and containing blocks rather than from the properties themselves.

128 easy · 198 medium · 201 hard

C++

523

C++ gives direct control over memory and object lifetime. Almost every interview question is really a lifetime question.

82 easy · 235 medium · 206 hard

Node puts JavaScript on the server with a single-threaded event loop and a large streaming and process API surface.

103 easy · 216 medium · 200 hard

Kotlin is the default language for Android and a common Java replacement on the JVM. Coroutines are its defining feature.

63 easy · 218 medium · 224 hard

By difficulty

Curated timed tests

11 fixed papers with a deliberate difficulty mix, from 10 to 20 minutes each.

Start a practice run