Five questions, one per area of the syllabus. Nothing is recorded, no account needed. At the end you'll see a predicted band — likely to pass, borderline, or not ready yet — plus the correct answer and a short explanation for each question.
Question 1 of 5·Modules and declaration files
What does `declare module "vendor-analytics" { export function track(event: string): void; }` accomplish?
Question 2 of 5·Generics
What is the key distinction between a generic type parameter and the type any, as a way of writing flexible, reusable code?
Question 3 of 5·Third-party types and tsconfig strictness
What is a realistic risk of having both a package's own bundled types and a separately installed @types/package-name for the same package?
Question 4 of 5·Unions, intersections and narrowing
What is a literal type union like `"left" | "right" | "up" | "down"` stricter about than the plain type string?
Question 5 of 5·unknown, any, and type guards
Given `let value: any = fetchSomething(); value.whatever.deeply.nested();`, what happens at compile time?
5 questions left
This diagnostic is a self-assessment. It doesn't grant any entitlement to the paid sitting, nothing is saved against your account, and refreshing starts fresh. The paid exam is 50 questions in 120 minutes at 70% — denser and harder than what you just saw.