Skip to content
tezvyn:

React & Next.js

React, Next.js, Remix, RSC, React ecosystem

301 bites

Test yourself: Top 30 React & Next.js interview questionsMultiple choice, with the correct answer and why it is correct on every question. Free, no sign-in.

Everything in React & Next.js, page 2

intermediate2 min read

Explain the difference between Server and Client Components in Next.js

Server components run on the server with no client JS and access backends directly; client components ship JS and handle state.

intermediate2 min read

How to implement a derived Redux slice performantly and maintainably?

This tests minimal state and memoized selector design. Use Reselect's createSelector to compute data from multiple slices, keeping state minimal and avoiding redundant work. A red flag is storing derived values in Redux or recalculating without memoization.

intermediate2 min read

How do React Profiler flame and ranked charts pinpoint bottlenecks?

Flame chart width and color show duration with children; ranked chart sorts by self-time to surface the top component.

How do React Router v6.4 loaders change data fetching from useEffect?
intermediate2 min read

How do React Router v6.4 loaders change data fetching from useEffect?

This tests moving from fetch-on-render to render-as-you-fetch. Explain that loaders fire before render, removing useEffect waterfalls, while the router ignores stale promises on interruption. Red flag: calling loaders just useEffect outside the component.

intermediate2 min read

Is Tailwind maintainable at scale, and what patterns support your claim?

Tests your CSS architecture judgment with utility-first scaling patterns. Strong answers pick a side, citing three patterns: strict tailwind config, components hiding class soup, and sparing @apply.

intermediate2 min read

Purpose of tailwind.config.js content array and JIT scanning

Tests knowledge of Tailwind's scan-to-generate pipeline. Strong answer: content defines files to scan as plain text for class tokens; JIT emits CSS only for discovered classes, keeping production CSS tiny. Red flag: calling it AST parsing or PurgeCSS config.

Compare CSS Modules and runtime CSS-in-JS libraries across DX, performance, and dynamic styling
intermediate2 min read

Compare CSS Modules and runtime CSS-in-JS libraries across DX, performance, and dynamic styling

This tests build-time vs runtime style architecture trade-offs. A strong answer contrasts CSS Modules' static extraction with CSS-in-JS's prop-driven runtime injection, covers dynamic styling patterns, and weighs SSR and bundle costs.

What limits React inline styles and when are they still appropriate?
intermediate2 min read

What limits React inline styles and when are they still appropriate?

This tests React styling trade-offs. Outline: no pseudo-classes, media queries, or keyframes; maintenance and perf costs; good for dynamic state styling, prototyping, FOUC prevention, and small components. Red flag: claiming they are always bad or free.

How would you implement a custom useDebounce hook using useState and useEffect?
intermediate2 min read

How would you implement a custom useDebounce hook using useState and useEffect?

It tests effect cleanup and stale closure awareness. Use useState for the debounced value, useEffect to set a setTimeout when the input changes, and return a cleanup calling clearTimeout. Omitting cleanup leaks timers and fires stale values.

How does React's scheduler prioritize updates with Fiber?
advanced2 min read

How does React's scheduler prioritize updates with Fiber?

Tests cooperative scheduling. Cover Fiber's incremental units, the Scheduler's time-slicing loop, and Lanes where SyncLane and InputContinuousLane outrank DefaultLane. Red flag: claiming React uses a separate thread or that batching alone handles priority.

advanced2 min read

What is a Fiber in React Fiber architecture?

Tests reconciler internals. Strong answers define a Fiber as a unit of work with child, sibling, return, and alternate pointers; explain the linked-list tree enables incremental traversal; and note alternate connects current and work-in-progress trees.

How does React batch multiple setState calls in one event handler?
intermediate2 min read

How does React batch multiple setState calls in one event handler?

Tests your grasp of React batching and stale closures. React queues updates until the handler exits, so multiple literal setState calls with the same stale value update once, while updater functions queue sequentially.

Why is Fiber's render phase interruptible but commit is not?
intermediate2 min read

Why is Fiber's render phase interruptible but commit is not?

Render calculates changes on invisible tree; commit runs DOM mutations and lifecycles synchronously.

intermediate2 min read

Why did React replace the Stack Reconciler with Fiber?

Tests React scheduling limits. Good answers note the old reconciler was synchronous and recursive, blocking the main thread, while Fiber enables incremental rendering and interruptible work. Red flag: citing Hooks or vague speed claims without frame budgets.

intermediate2 min read

Describe React's diffing algorithm and its O(n) heuristics

Different types unmount and rebuild; same types patch attributes and recurse; keys hint stable identity for children.

What are keys in React lists and why are they important?
easy2 min read

What are keys in React lists and why are they important?

Whether you understand React's reconciliation identity tracking. Keys are unique identifiers that let React match items across renders, preserving DOM state and avoiding unnecessary recreation.

advanced2 min read

How would you design auth for ISR pages without losing cache benefits?

Tests cache segmentation and dynamic boundaries in Next.js. Propose a static ISR shell for anonymous users, then fetch personalized data client-side or via dynamic server paths when cookies are present.

advanced2 min read

How can you use Edge Middleware for auth and trade-offs versus getServerSideProps?

Middleware checks cookies/JWT for fast Edge rewrites/redirects; getServerSideProps uses full Node.js for heavy sessions with colder starts.

intermediate2 min read

Describe a robust automatic token refresh strategy in a React SPA

This tests token rotation without UX interruption in SPAs. Use HttpOnly cookies for refresh tokens, in-memory access tokens, an interceptor with a promise lock, and proactive background refresh.

intermediate2 min read

How do you handle user-specific content on a getStaticProps page?

Tests the static generation boundary. A strong answer serves a static shell, then hydrates user state client-side via useEffect or SWR. Red flag: claiming getStaticProps can read cookies at build time.

We are hiring for this. Every open role lists the topics its interview covers, so you can prepare for the real thing rather than guessing.

See open roles