15 to 30 random questions in 15 to 30 minutes, by the level you choose: types, narrowing, generics, mapped types, classes, tsconfig, modules. After you submit you get your score, your strong and weak topics, and the right answer with an explanation for every question.
Want to revise first? Read the TypeScript interview questions and answers.
The test covers 13 topics across three levels. Each attempt picks 15 to 30 questions at random, by the level you choose, so every attempt is different.
One question from each level, the way they appear in the test. A new set comes on the 1st of every month. Try it, then open the answer.
let quantity: number = "5"; Answer: A compile error: type string is not assignable to type number. TypeScript checks the value against the annotation at compile time and reports the mismatch. It never converts values for you, and annotations are removed from the JavaScript, so there is no runtime check either.
type ElementOf<T> = T extends (infer U)[] ? U : never;
type E = ElementOf<string[]>; Answer: string. infer U declares a type variable that TypeScript fills in while matching the pattern. string[] matches (infer U)[] with U = string. A type that is not an array, such as number, falls to the never branch.
type Action =
| { kind: "count"; payload: number }
| { kind: "label"; payload: string };
function run({ kind, payload }: Action) {
if (kind === "count") {
return payload.toFixed(0);
}
return payload.toUpperCase();
} Answer: number. TypeScript tracks that kind and payload were destructured from the same discriminated union, so checking kind narrows payload too. This works for const destructuring and for parameters that are never reassigned.
Take the full TypeScript mock test: 15 to 30 questions and 15 to 30 minutes, by level.
A question counts as right only when you pick exactly the right option, or all the right options where it says so; a question left blank counts as wrong. Your score is the share of the test's questions you got right (15 to 30, by level). The result also scores every topic, so you know what to revise before the interview.
Yes. The TypeScript mock test is free. You need a free CoreHRx Jobs account to start it, so your score and the topics to work on are saved.
It depends on the level: Fresher has 15 questions in 15 minutes, Intermediate has 20 questions in 20 minutes, Experienced has 30 questions in 30 minutes. They are multiple-choice questions picked at random from a larger bank of TypeScript questions at your level, so every attempt is different.
The questions cover Generics, Narrowing and Type Guards, Classes and Access Modifiers, Enums and Literal Types, Union and Intersection Types, Utility Types, Basic Types, Functions and Overloads, Interfaces and Type Aliases, Mapped and Conditional Types, Modules and Declaration Files, tsconfig and Strict Mode, Type Erasure and Runtime Behaviour. Your result shows how you did in each topic.
Fresher if you are a student or have less than a year of experience, Intermediate for 1 to 5 years at work, and Experienced for 5 years or more.
Only your best TypeScript score, and only when it is 60% or more. It shows on the job applications you send on CoreHRx. Lower scores stay private.
Yes, up to 10 tests a day. Each attempt picks questions you have not seen recently first.