AI
prepair.app
Пройти интервью →
EnglishРусскийУкраїнська

вопросы на собеседовании Next.js

Собеседование Next.js крутится вокруг стратегий рендеринга, App Router, серверных компонентов и кеширования — того, что отличает Next от обычного React. Ниже — самые частые вопросы с эталонными ответами.

Junior · без опыта / до 1 годаMiddle · 2–4 года опытаSenior · 5+ лет опыта

Что спрашивают

SSR, SSG, ISR и CSR
App Router vs Pages Router
Серверные компоненты
Route handlers и API
Кеширование и ревалидация
Оптимизация изображений и шрифтов

8 реальных вопросов с ответами

К каждому вопросу — эталонный ответ, с которым можно сравнить свой.

1

В чём разница между SSR, SSG, ISR и CSR? Когда выбрать каждый?

Ответ

SSG собирает HTML на этапе деплоя — самый быстрый и дешёвый вариант для контента, который меняется редко. SSR рендерит на каждый запрос и нужен, когда страница зависит от пользователя или от данных, которые обязаны быть актуальными. ISR отдаёт статическую страницу и перегенерирует её в фоне после интервала ревалидации, давая скорость статики при достаточно свежих данных. CSR рендерит в браузере и подходит для дашбордов за логином, где SEO не важно.

2

Что такое React Server Components и чем они отличаются от клиентских?

Ответ

Серверные компоненты выполняются только на сервере, поэтому могут напрямую ходить в базу или читать файлы и никогда не отправляют свой код в браузер. Они не умеют использовать состояние, эффекты и браузерные API. Клиентские компоненты — это привычная модель React, и они нужны для интерактивности. Паттерн такой: держать страницы серверными, а "use client" опускать как можно глубже по дереву, чтобы бандл оставался маленьким.

3

Зачем нужна директива "use client"?

Ответ

В App Router каждый компонент по умолчанию серверный; "use client" помечает границу, с которой начинается клиентский бандл. Всё, что импортируется ниже этой границы, отправляется в браузер, поэтому директива в начале лейаута случайно делает клиентским всё поддерево. Без неё вызов useState или навешивание onClick падает ещё на сборке.

4

Как работает кеширование в App Router? Что такое revalidate?

Ответ

Next кеширует на нескольких уровнях: кеш результатов fetch, полный кеш маршрута для отрендеренного вывода и клиентский кеш роутера для навигаций. revalidate задаёт, сколько кешированная запись считается свежей — либо на конкретный fetch, либо экспортом из сегмента маршрута. Для обновлений по событию вызывают revalidatePath или revalidateTag после мутации, и это точнее, чем временное окно.

5

Что такое Server Actions и когда их использовать?

Ответ

Server Action — это асинхронная функция с пометкой "use server", которую клиентский компонент может вызвать напрямую, а Next берёт на себя сериализацию и сетевой поход. Она заменяет написание API-роута для простых мутаций вроде отправки формы и хорошо сочетается с revalidatePath для обновления данных после. Так как под капотом это публичный эндпоинт, валидация входа и проверка прав всё равно обязательны.

6

Как next/image оптимизирует изображения?

Ответ

Он генерирует адаптивные варианты в современных форматах вроде WebP и AVIF, отдаёт размер под конкретный вьюпорт, по умолчанию грузит лениво и резервирует место в разметке, чтобы страницу не дёргало. Именно требование явных width и height или пропа fill убирает cumulative layout shift. На практике это обычно самое крупное улучшение Core Web Vitals в приложении на Next.

7

Что такое streaming и Suspense в Next.js?

Ответ

Streaming отправляет HTML в браузер порциями по мере готовности, а не ждёт самый медленный источник данных. Обёртка медленного компонента в Suspense с фолбэком позволяет остальной странице отрисоваться сразу, а этому блоку приехать позже. На практике это значит, что медленный виджет рекомендаций больше не задерживает всю страницу, что улучшает воспринимаемую скорость и time to first byte.

8

Как реализовать динамические метаданные для SEO?

Ответ

Экспортируйте generateMetadata из страницы или лейаута — функция получает параметры маршрута, может дождаться данных и вернуть title, description, canonical и поля Open Graph. Для статичных страниц достаточно более простого экспорта metadata. Добавьте файл opengraph-image в папку маршрута, и Next автоматически сгенерирует превью-картинку для этого маршрута.

🦎

Прочитать ответы недостаточно

На собеседовании ты говоришь вслух под давлением. Кем задаст эти же вопросы, оценит каждый ответ и покажет, что именно подтянуть.

Пройти интервью Next.js →
Бесплатно · 3 интервью в месяц

Другие специализации

🔍QA Manual🤖QA AutomationJava Backend🐍Python Backend🐘PHP Backend🦫Go Backend🟢Node.js Backend⚛️React Frontend💚Vue Frontend🅰️Angular Frontend📈Business Analyst🎯Product Manager📋Project Manager🎨UI/UX Designer📣Marketing