Специализация
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 в телеграм
Как реализовать поддержку темной темы (dark mode) с помощью HTML и CSS? Какие метатеги и медиавыражения используются?
Темную тему можно реализовать с помощью CSS-медиавыражения prefers-color-scheme, которое определяет предпочтения пользователя относительно цветовой схемы (светлой или темной). В зависимости от предпочтений браузера применяются соответствующие стили. Также можно настроить переключение темы вручную с помощью JavaScript и CSS-классов.
Что такое условный рендеринг в React?
Условный рендеринг — это способ отображения элементов в React на основе определенных условий. Это работает так же, как условные операторы в JavaScript. Например, вы можете показать один компонент, если условие истинно, и другой, если условие ложно.
Какие особенности имеют хуки useEffect и useLayoutEffect?
useEffect выполняется асинхронно после рендеринга, что позволяет обновлять DOM без блокировки отображения. useLayoutEffect, напротив, выполняется синхронно сразу после изменения DOM и перед его отображением, что позволяет производить измерения или манипуляции с элементами. Это может быть полезно, когда необходимо сразу же реагировать на изменения и избежать мерцания интерфейса.
Что такое циклические зависимости модулей в Node.js?
Циклическая зависимость возникает, когда два или более модуля зависят друг от друга напрямую или через цепочку других модулей. Это может привести к частично загруженным модулям или неожиданному поведению.
Есть ли ограничения на количество контейнеров, которые можно запустить в Docker?
В Docker нет явного ограничения на количество контейнеров. Ограничения зависят от аппаратных ресурсов, таких как объем памяти и количество процессорных ядер.
Как обеспечить изоляцию зависимостей?
Приведи пример зависимости/регистрации с Zenject
Почему внедрение зависимости без протокола не решает проблему тестируемости?
Как работают зависимости в OperationQueue?
Как можно исправить проблему зависимости от Singleton?
Рейтинг:
2
Сложность:
7
Изоляция достигается через отдельные бандлы, scoped CSS, namespace для глобальных объектов и использование Shadow DOM при необходимости.
Рейтинг:
4
Сложность:
7
Zenject (теперь называется Extenject) - это фреймворк для внедрения зависимостей в Unity. Регистрация зависимостей происходит в Installer'ах, где мы связываем интерфейсы с их реализациями. Например, мы можем зарегистрировать IGameService с реализацией GameService. Затем эти зависимости автоматически внедряются в классы через конструктор или поля с атрибутом [Inject].
Рейтинг:
5
Сложность:
6
Если зависимость передается напрямую как конкретный класс, ее сложно заменить в тестах. Без протокола код жестко связан с реализацией. Это ограничивает возможность подмены поведения. Протокол позволяет использовать mock вместо реального объекта. Без него тестируемость остается низкой.
Рейтинг:
4
Сложность:
7
OperationQueue позволяет задавать зависимости между операциями. Одна операция может стартовать только после завершения другой. Это делается через метод addDependency. Такой подход упрощает управление сложными сценариями. В отличие от GCD, зависимости здесь встроены.
Рейтинг:
4
Сложность:
6
Основной способ — отказаться от прямого использования shared и внедрять зависимость извне. Для этого используют протоколы и Dependency Injection. Singleton можно оставить как реализацию по умолчанию, но не использовать напрямую. Это позволяет подменять реализацию в тестах. В результате код становится гибче и чище.
Рейтинг:
1
Сложность:
4
Рейтинг:
1
Сложность:
2
Рейтинг:
4
Сложность:
6
Рейтинг:
4
Сложность:
7
Рейтинг:
2
Сложность:
5