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

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

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

Ответ

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

2

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

Ответ

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

3

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

Ответ

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

4

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

Ответ

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

5

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

Ответ

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

6

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

Ответ

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

🦎

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

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

Пройти интервью 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 React Frontend💚Middle Vue Frontend🅰️Middle Angular Frontend