Generics, narrowing, and the type system, explained out loud.
This is a spoken, conceptual discussion, not a live-coding exercise. You explain your reasoning out loud — concepts, tradeoffs, and "what would happen and why" — while the interviewer follows up and pushes on anything vague or surface-level.
Can you explain the difference between any, unknown, and never, and when each is appropriate?
Can you explain what a generic function or type is, and walk me through a practical example of when you'd reach for one?
Can you explain what type narrowing is, and give an example using a type guard?
Can you explain why TypeScript considers two differently-named types compatible if they have the same shape?
Can you explain what Partial<T> and Required<T> do, and give an example of when you'd use each?
When would you choose an interface over a type alias, or does it not matter to you?
Can you explain what a mapped type is, and walk me through a simple example?
Tell me about a time you migrated a JavaScript codebase, or part of one, to TypeScript. What was hardest?
These are a few examples — each real session pulls 5 questions at random from a larger pool across every category above, so repeat sessions won't repeat the same set.
5 free interviews every month, any track, no card required.