Read-only companion
LLD Dojo
A fixed standard for low-level design, and 39 lessons that teach the things it measures. This copy is for reading — on a phone, on a machine with no JDK, with the app nowhere in sight.
What is here, and what stays on the laptop
Two surfaces are published: the lessons below, and the Standard they are graded against. Both are the same text the app shows.
The two practice surfaces — the ledger of attempts and the readiness view — are not published, and not published behind a password either. They are a record of one person's practice, and the safe handling of that is for it never to leave the machine it was made on. A gate is a thing that can be misconfigured once and leak permanently; an absence cannot.
The faded stage is not here, on purpose
In the app, the third stage of a lesson hands you the worked design with a few lines
replaced by // GAP: markers, then compiles your completion and runs a JUnit suite
against it. That needs javac, and a static site has no compiler — so rather than show a
control that cannot work, this page stops at the worked source.
Run the app for the drill: it is the download in the header, and it works offline once unpacked.
1 lesson is being written and is not published yet: D1. A lesson appears here only once every artifact it promises exists, so a half-written one is absent rather than thin.
Java Bridge
12 lessonsJava mechanics for a C++ developer, read first. Each one carries a coming from C++ section that says what the language does differently, rather than teaching the concept from scratch.
J1 · File and class layout — no headers, and the filename is part of the code 4 Java files · 7 min J2 · Packages, imports, classpath — and compiling by hand 2 Java files · 8 min J3 · References, null and garbage collection — nothing owns anything, and one new leak 4 Java files · 8 min J4 · Construction — final fields, no initialiser lists, and static factories 6 Java files · 8 min J5 · Interfaces vs abstract classes — default methods, and where state is allowed to live 11 Java files · 8 min J6 · equals, hashCode, toString, compareTo — and the == trap 4 Java files · 8 min J7 · Collections, mapped from the STL 6 Java files · 8 min J8 · Generics vs templates — erasure, wildcards, and no List<int> 13 Java files · 8 min J9 · Exceptions and cleanup — checked vs unchecked, and try-with-resources instead of RAII 8 Java files · 8 min J10 · Enums as real classes — constants that carry state and behaviour 6 Java files · 8 min J11 · Modern Java a C++ dev has not met — sealed, record, switch patterns, and the rest 12 Java files · 8 min J12 · Concurrency primitives, mapped — synchronized, volatile, Atomic*, and happens-before 8 Java files · 8 min