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

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

Middle · 2–4 года опыта

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

Попробовать — без регистрации
Готовим вопрос…

Темы для подготовки

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

6 вопросов уровня Middle с ответами

1

Как устроено кеширование в App Router и что удивляет?

Ответ

Слоёв несколько: мемоизация запроса внутри одной отрисовки, кеш данных между запросами и полный кеш маршрута для статических. Удивляет то, как много кешируется по умолчанию: fetch кешируется, пока вы не скажете иначе, и страница показывает устаревшие данные, хотя никто ничего не менял. Отказываются через revalidate и cache: 'no-store'.

2

Что такое Server Action и когда его брать?

Ответ

Функция, помеченная 'use server', которую клиентский компонент вызывает напрямую, а запрос организует Next. Годится для мутаций из формы без написания API-роута и умеет тут же сбросить затронутый кеш. Чем он не является — так это общим RPC: под капотом это POST, поэтому для того, что должно быть GET, он не подходит.

3

Чем `revalidatePath` отличается от `revalidateTag`?

Ответ

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

4

Что такое стриминг и при чём здесь `Suspense`?

Ответ

Сервер отправляет HTML по мере готовности, а не ждёт самый медленный запрос. Обёртка медленной части в Suspense с заглушкой позволяет остальной странице прийти сразу, а медленному куску достримиться позже. Выигрыш реален для страницы с одним медленным виджетом и исчезает, если всё завёрнуто в одну границу.

5

Как безопасно обращаться с переменными окружения?

Ответ

Всё с префиксом NEXT_PUBLIC_ подставляется в браузерный бандл и потому публично: ключ там — это опубликованный ключ. Остальное доступно только на сервере — в серверных компонентах, обработчиках маршрутов и действиях. Ошибка — дописать префикс, чтобы починить undefined в клиентском компоненте, и тихо отправить секрет наружу.

6

Что делает `generateStaticParams`?

Ответ

Сообщает Next, какие значения динамического маршрута отрисовать на этапе сборки, превращая [slug] в набор статических страниц. Всё, чего нет в списке, рендерится по требованию и дальше может кешироваться. Именно это делает контентный сайт статическим, не отказываясь от динамической маршрутизации.

🦎

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

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

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

Другие уровни — Next.js

Junior Next.jsSenior Next.jsВсе вопросы Next.js

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

🔍Middle QA Manual🤖Middle QA AutomationMiddle Java Backend🐍Middle Python Backend🐘Middle PHP Backend🦫Middle Go Backend🟢Middle Node.js Backend💎Middle Ruby on Rails🟣Middle .NET Backend Developer🔷Middle C++