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

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

Senior · 5+ лет опыта

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

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

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

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

1

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

Ответ

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

2

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

Ответ

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

3

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

Ответ

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

4

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

Ответ

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

5

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

Ответ

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

6

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

Ответ

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

🦎

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

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

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

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

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

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

🔍Senior QA Manual🤖Senior QA AutomationSenior Java Backend🐍Senior Python Backend🐘Senior PHP Backend🦫Senior Go Backend🟢Senior Node.js Backend⚛️Senior React Frontend💚Senior Vue Frontend🅰️Senior Angular Frontend