Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
Зачем введён механизм side table в ARC?
Side table в ARC используется для хранения дополнительной информации об объекте, которая не помещается в основной объект (например, weak-ссылки, unowned-ссылки, флаги).
Как реализовать модальное окно с формой (логин/пароль) и обработкой внешних кликов (outside click) для закрытия?
Модальное окно реализуется как компонент, который отображается поверх основного контента. Обработка клика вне модалки (outside click) делается через проверку цели события: если клик был не по модалке, то закрываем ее.
Что такое Server-Side Rendering (SSR) и какие преимущества он дает? (SEO, первоначальный рендеринг на сервере)
SSR — это процесс рендеринга React-приложения на сервере в HTML на каждый запрос. Это улучшает SEO, так как поисковые боты видят готовый контент, и ускоряет первоначальную загрузку страницы для пользователя, потому что браузер сразу получает готовую для отображения разметку.
Как работает получение данных на сервере в Next.js? (Раньше — getServerSideProps, в App Router — async-компоненты)
В старом Pages Router для получения данных на сервере использовалась специальная функция getServerSideProps, которая передавала данные в компонент страницы через пропсы. В новом App Router Server Components (помеченные как async) могут напрямую получать данные с помощью fetch или других библиотек, а затем рендерить JSX.
Чем отличаются getStaticProps, getServerSideProps и getStaticPaths?
getStaticProps получает данные для статических страниц во время сборки. getServerSideProps получает данные при каждом запросе на сервере. getStaticPaths определяет какие динамические пути должны быть предварительно сгенерированы для статических страниц.
Стратегии кэширования тяжёлых вычислений (например, поиска товаров с фильтрами) — cache-aside, проблема cold start.
Чем hitTest(_:with:) отличается от point(inside:with:)?
Когда side table удаляется?
Какие хуки жизненного цикла Vue выполняются на серверной стороне?
Что такое side_effect в моках и зачем он нужен?
Рейтинг:
3
Сложность:
5
Для тяжелых вычислений применяется стратегия cache-aside (lazy loading), когда данные кэшируются при первом запросе. Проблема cold start возникает когда кэш пустой и первые запросы обрабатываются медленно. Для решения используются предварительное заполнение кэша (warm-up), TTL с запасом и многоуровневое кэширование. Также применяется кэширование частых запросов и инвалидация при изменении данных.
Рейтинг:
5
Сложность:
8
point(inside:with:) отвечает только на вопрос, попадает ли точка внутрь view. hitTest(_:with:) определяет, какая именно view должна обработать событие. Первый метод — это фильтр, второй — механизм поиска. Их часто переопределяют вместе, но назначение у них принципиально разное.
Рейтинг:
3
Сложность:
8
Side table используется для хранения дополнительной информации об объекте, например weak-ссылок. Она создается только при необходимости. Side table удаляется, когда объект деинициализируется и больше не нужен. После освобождения объекта вся связанная с ним информация также очищается.
Рейтинг:
3
Сложность:
6
При серверном рендеринге Vue выполняются не все хуки жизненного цикла. Хуки, связанные с DOM, на сервере не вызываются. Обычно выполняются хуки до монтирования, такие как beforeCreate и created. Это связано с тем, что на сервере отсутствует реальный DOM. Понимание этого важно при разработке SSR-приложений.
Рейтинг:
5
Сложность:
7
side_effect задаёт “поведение” мока при вызове: он может выбрасывать исключение, возвращать разные значения по очереди или вызывать функцию. Это нужно, чтобы в тестах воспроизводить реальные сценарии: временные сбои, ретраи, разные ответы. Такой контроль делает тесты ближе к реальности и помогает покрывать негативные ветки.
Рейтинг:
2
Сложность:
6
Рейтинг:
2
Сложность:
6
Рейтинг:
2
Сложность:
7
Рейтинг:
2
Сложность:
7
Рейтинг:
2
Сложность:
6