Skip to content

Interview prep

Every article in this journal ends with an “Interview angles” section that covers the questions relevant to that topic. This section pulls the most common questions into focused prep guides with two things:

  1. Summary table at the top for quick scanning before an interview
  2. Full answers below with the context that separates a good answer from a great one

The tech-specific articles go deeper on each concept. The interview section gives you the condensed, interview-ready version.

At the senior level, interviewers test four things — and most engineers only prepare for three of them.

Depth of understanding. Not “can you use useState” but “do you know why React re-renders when state changes and what happens under the hood.” Surface-level answers get you through screening. Depth gets you through onsite rounds.

Tradeoff thinking. Every technical decision has costs. “I’d use Redux” is a weak answer. “I’d use Zustand here because the state is localized to this feature and Redux’s boilerplate isn’t justified for this scale” shows you think about tradeoffs.

Real experience. Interviewers can tell the difference between someone who read about a concept and someone who debugged it in production at 2am. Reference specific situations when you can. “I ran into this exact issue when…” is stronger than “In theory, you should…”

Behavioral competencies. This is the one most engineers skip. Every senior loop includes behavioral rounds that evaluate ownership, judgment under ambiguity, and influence without authority. Technical depth alone doesn’t pass these.

Section What it covers
JavaScript Event loop, closures, hoisting, coercion, async patterns, deep/shallow copy
React & Next.js Hooks, rendering, state management, Next.js SSR, protected routes
TypeScript Type system, generics, utility types, practical patterns
System Design Frontend system design questions with structured answers
Behavioral The ten STAR situations that come up in every senior loop, with structure and mechanics