Питання на співбесіді з Next.js (Senior) з відповідями
75 запитань для співбесіди з теми Next.js (Senior) - з правильними відповідями, поясненнями й посиланнями на документацію.
Пройти цей тест- 1.Що таке RSC payload?
- 2.Що відбувається під час клієнтського переходу за
<Link>в App Router? - 3.З
cacheComponents: truedev-оверлей показує «blocking route». Що це означає? - 4.Чим
'use cache: remote'відрізняється від'use cache'? - 5.Що треба врахувати під час self-hosting Next.js на кількох подах Kubernetes?
- 6.Що означають параметри
stale,revalidateіexpireуcacheLife? - 7.Як Next.js захищає Server Actions від CSRF?
- 8.Чому Server Actions не варто використовувати для завантаження даних?
- 9.Server Action оголошено всередині компонента, і вона використовує змінну із замикання. Що з нею відбувається?
- 10.Для чого React Taint API (
experimental_taintObjectReference) у Next.js? - 11.Чому CSP з nonce робить сторінки динамічними?
- 12.Чому в продакшені
error.tsxотримує узагальнене повідомлення помилки із серверного компонента? - 13.Що змінилося в
next/imageу Next.js 16 за замовчуванням? - 14.Який рантайм використовує
proxy.tsу Next.js 16? - 15.Які оптимізації попереднього завантаження з'явилися в роутері Next.js 16?
- 16.Що робить
optimizePackageImports? - 17.Коли потрібна опція
serverExternalPackages? - 18.Для чого Draft Mode?
- 19.Навіщо файл
instrumentation.tsз функцієюregister()? - 20.Як реалізувати on-demand ISR за вебхуком із CMS?
- 21.Чому Context-провайдери в App Router виносять в окремий клієнтський компонент?
- 22.Сторонній компонент використовує хуки, але в ньому немає
'use client'. Як використати його в серверній сторінці? - 23.Як отримати конфігурацію зі змінної оточення під час роботи, а не під час збирання?
- 24.Що таке version skew і як із ним допомагає
deploymentId? - 25.Чому з Cache Components
generateStaticParamsне може повернути порожній масив? - 26.Як поводяться
GETRoute Handlers за ввімкнених Cache Components? - 27.Що отримає користувач, якщо Server Action викликає
revalidatePathі повертає значення? - 28.Як пов'язати
forbidden()іunauthorized()з UI? - 29.Як метадані з
generateMetadataповодяться під час стримінгу? - 30.Коли варто ввімкнути
reactCompilerу Next.js 16? - 31.Чим
unstable_rethrowдопомагає в обробці помилок? - 32.Чому layout не варто використовувати як єдине місце перевірки авторизації?
- 33.Що таке Multi-Zones?
- 34.Чому дані на сторінці іноді передаються двічі - у HTML і в RSC payload?
- 35.Що попередньо завантажується для динамічного маршруту за
<Link>з налаштуваннями за замовчуванням? - 36.Чим
refresh()зnext/cacheвідрізняється відrevalidatePath? - 37.Як Next.js 16 пришвидшує повторні запуски
next devіnext build? - 38.Чим корисний
typedRoutes? - 39.Чим Edge-рантайм відрізняється від Node.js для маршрутів?
- 40.Компонент показує
new Date().toLocaleString()і спричиняє hydration mismatch. Як виправити найкоректніше? - 41.Що дає
after()у Route Handler порівняно зawait logEvent()перед відповіддю? - 42.Як забезпечити, щоб
'use cache'-функція не кешувала дані різних користувачів разом? - 43.Як влаштований патерн модалки зі збереженням URL в App Router?
- 44.Як правильно реагувати на помилку в
generateStaticParamsпід час збирання? - 45.Чому читання
searchParamsна верхньому рівні сторінки знижує ефект PPR? - 46.Яка команда згенерує типи
PagePropsіLayoutPropsбез запуску dev-сервера? - 47.Чим
htmlLimitedBotsвідрізняється від звичайної обробки ботів? - 48.Що станеться, якщо в layout викликати
await paramsна верхньому рівні за Cache Components безgenerateStaticParams? - 49.Як кешування
'use cache'працює на serverless-платформі з обробником за замовчуванням? - 50.Навіщо Server Actions отримують зашифровані, недетерміновані ID?
- 51.Що робить
await prefetch()усередині компонента з увімкненим Partial Prefetching? - 52.Що гарантує
export const ensureStatic = 'shell'для маршруту? - 53.Що робить
export const instant = trueу сегменті? - 54.Чому
useOffline()зnext/offlineу проєкті завжди повертаєfalse? - 55.Як із Cache Components скидати піддерево під час навігації через
<Link>, але відновлювати його кнопкою «Назад»? - 56.Як компонент з
'use cache'може прийматиchildren, якщо JSX не можна серіалізувати в ключ кешу? - 57.Чому функція з
'use cache'іcacheLife('seconds')стає динамічною діркою, а не потрапляє в пререндер сторінки? - 58.Куди під'єднати спільне сховище кешу (наприклад, Redis) для
'use cache'під час self-hosting? - 59.Для чого потрібен Build Adapters API (
adapterPath)? - 60.Чому в Next.js 16
next devіnext buildможуть працювати одночасно? - 61.У Next.js 16 видалено
publicRuntimeConfig. Як передати конфіг, що різниться за оточеннями, без перезбирання? - 62.Сайт використовує
scroll-behavior: smooth, і після переходу на Next.js 16 кожна навігація плавно прокручує вгору. Як повернути миттєвий перехід? - 63.Чому
images.domainsзастарів на користьimages.remotePatterns? - 64.Чому Next.js 16 за замовчуванням блокує оптимізацію зображень з локальних IP-адрес?
- 65.Чому серверному компоненту не варто робити
fetchдо власного Route Handler (/api/products) по дані? - 66.Server Action
deletePost(id)використовується лише на адмінській сторінці. Чому він однаково має сам перевіряти авторизацію? - 67.Як застосувати збережену тему чи дату в локальному форматі до першого відмальовування, без помилки гідратації й блимання?
- 68.Як працює
generateStaticParamsдля вкладених динамічних сегментів на кшталт/[category]/[product]? - 69.
notFound()викликається в компоненті, що стримиться всередині межі<Suspense>. Що отримає краулер? - 70.Чому в
proxy.tsварто робити лише оптимістичні перевірки авторизації? - 71.CDN перед self-hosted Next.js і далі віддає стару сторінку після
revalidateTag(). Чому? - 72.У каталозі 1 млн товарів. Як швидко зібрати проєкт і все одно віддавати всі сторінки статично (без Cache Components)?
- 73.Де міститься конфігурація Turbopack у Next.js 16?
- 74.Що змінилося в пропсах функцій
opengraph-image,iconіapple-iconу Next.js 16? - 75.Коли з Cache Components усе ще правильніше
connection(), а неio()?