intermediate

TypeScript

Practical strict typing, narrowing, generics, utility types, and React or Node typing.

Strong TypeScript answers connect static types to runtime behavior at trust boundaries. Interviewers expect you to model impossible states out of the type system, narrow `unknown` safely, and explain when generics preserve relationships between inputs and outputs.

Focus areas: basic type shapes, the type system (generics, narrowing, unions), practical strictness (`unknown`, `satisfies`), application boundaries, and tooling (`tsconfig`, declarations, CI).

Checklist:

  • Tie each concept to a concrete code example.
  • Name production trade-offs, not only syntax.
  • Use child topics for depth on each focus area.