Course
Java and Python interview questions, explained
The language rules interviews probe, side by side and one language at a time: what the code really does, why, and what changed in each release.
- 3 tracks
- 36 skills
- 144 lessons
- 530 practice questions
- 28 coding problems
What you'll learn
Side by Side covers the interview toolkit in both languages at once. Then each language gets its own track. Java: numbers and strings, collections, equality and immutability, class initialization, threads and the memory model, java.util.concurrent, and the features of Java 8, 17 and 21, virtual threads included. Python: the same essentials, the GIL, threads and processes, free-threaded Python, asyncio, and what Python 3.8 through 3.14 added.
Every output a lesson shows was produced by running the code, in the same Java 21 and Python sandboxes that grade your answers. Each wrong answer is tagged with the misconception it reveals, and some skills add coding problems that only make sense in that language.
The curriculum
Every skill has a lesson, a staff-level deep dive, a quick revise page and practice questions. Click a skill to read its lesson free.
Side by Side
The interview toolkit in both languages at once - which structure, which call, and what it costs in each.
The Interview Toolkit
Java
Java on its own: the essentials interviews test, multithreading and java.util.concurrent, and what Java 8, 17 and 21 - the long-term-support releases most codebases run - added.
Java Essentials
Java Multithreading
Java Concurrency (java.util.concurrent)
Java 8 Features
Java 17 Features (9 to 17)
Java 21 Features (18 to 21)
Python
Python on its own: the essentials interviews test, threads, processes and asyncio, and what each release from 3.8 to 3.14 added.
Python Essentials
Python Threads and Processes
Python asyncio
Python 3.8 and 3.9
Python 3.10 and 3.11
Python 3.12 to 3.14
Problems locked to one language
Java-only coding problems
- An Immutable BasketFree
- Book a Meeting RoomFree
- Clean Up a Contact ImportFree
- Notification PreviewFree
- Recently Viewed ItemsFree
- Shipping Rates and LabelsFree
- A Bounded Order QueuePro
- A Bulkhead for a Fragile ServicePro
- A Lazy, Retryable ConfigPro
- A Revenue ReportPro
- A Text Cleanup PipelinePro
- A Worker That Stops on TimePro
- Consistent Request StatsPro
- Count Unique Sign-UpsPro
- Count Words Across ThreadsPro
- Fetch Partner QuotesPro
- Money and Payment FeesPro
- Payment Result MessagesPro
- Price a Basket in ParallelPro
- Rotate the CarouselPro
- Subscription Renewal TimesPro
- Top Words in Customer ReviewsPro
Python-only coding problems
- Divide Like the LedgerPro
- Fetch Every Quote at OncePro
- Mirror a 32-bit RegisterPro
- Price Tags in a SetPro
- The Last SeatsPro
- Top Pages by VisitsPro
Questions
Is this useful if I only use one language?
Yes. Set Java or Python as your language and code examples open in it. The Java and Python tracks each go deep on one language, so you can skip the other.
Does it cover Java 21 virtual threads and Python's free-threaded build?
Yes. The Java 21 module covers virtual threads and structured concurrency, and the Python track covers free-threaded Python and subinterpreters alongside the GIL, threading and multiprocessing.
What's free in the Java and Python course?
All 144 lessons and 530 practice questions are free. Pro unlocks the language-specific coding problems.
More courses
Start the Java & Python course free
No card needed. Upgrade to Pro when you want the full problem bank.
Free plan, no card · 7-day Pro trial · Cancel anytime