Skip to Content
InterviewsQuestions

Interview questions (prompt-only)

This file contains interview questions only (no answers). Answers live in content/interviews/answers.mdx.

General / mindset

  • What’s the difference between unit, integration, and E2E tests? When would you use each?
  • How do you decide what runs on the server vs the client in a Next.js app?

TypeScript

  • Explain unknown vs any. When should you use unknown?
  • What is type narrowing? Give an example.

Next.js (App Router)

  • What’s the difference between Server Components and Client Components?
  • How do loading.tsx and error.tsx work in App Router?

tRPC

  • What problem does tRPC solve compared to REST?
  • Where should authentication/authorization checks live in a tRPC app?

Tailwind

  • How do you keep Tailwind-based UIs maintainable as the app grows?

Vitest

  • What makes a test brittle? How do you avoid it?

Playwright

  • What makes E2E tests flaky? How do you reduce flakiness in CI?

Debouncing (React / Zod / data fetching)

  • What is debouncing? What problems does it solve in UI development?
  • Zod forms: when would you validate onChange vs onBlur vs onSubmit? Where does debouncing fit?
  • tRPC: how do you debounce an “availability check” query and ensure stale responses can’t win?
  • useEffect + fetch: how do you debounce a search request and cancel/ignore stale requests?
Last updated on