Зачем нужны функции getServerSideProps и getStaticProps в Next.js
Что проверяют
Понимаете ли вы, когда собираются данные страницы, и знаете ли, что в новом маршрутизаторе этих функций уже нет.
Как отвечать
Обе функции относятся к маршрутизатору Pages и определяют, в какой момент готовятся данные:
getStaticPropsвыполняется на сборке. Страница превращается в готовый HTML, который раздаётся мгновенно и кешируется. Для динамических адресов рядом идётgetStaticPaths. Свежесть данных обеспечивается инкрементальной регенерацией: параметрrevalidateзадаёт срок, после которого страница перестраивается в фоне;getServerSidePropsвыполняется на каждый запрос. Нужна, когда ответ зависит от пользователя (куки, заголовки) или данные меняются постоянно. Плата это работающий сервер, время на подготовку ответа и отсутствие кеша по умолчанию.
Правило выбора: контент, одинаковый для всех, собирают статически с регенерацией; персональное отдают на запросе; всё остальное можно грузить на клиенте.
Дальше обязательно скажите про современное состояние: в маршрутизаторе App этих функций не существует. Данные запрашиваются прямо в серверном компоненте обычным fetch или обращением к базе, а режим кеширования задаётся параметрами запроса и настройкой revalidate у сегмента; аналог getStaticPaths называется generateStaticParams. Ответ, где кандидат этого не знает, выдаёт знакомство с версией пятилетней давности.
Где спотыкаются
Берут рендеринг на запросе там, где хватило бы статики с регенерацией, и получают лишнюю нагрузку с худшей скоростью.
Пытаются использовать эти функции внутри компонентов: они работают только на уровне страницы.
Не знают про инкрементальную регенерацию и считают, что статика годится только для неизменного контента.