Специализация
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 в телеграм
В чем разница между display: none и visibility: hidden?
• display: none полностью удаляет элемент с веб-страницы, как если бы его не существовало. Он не занимает места в макете, и элементы после него сдвигаются, чтобы занять его пространство.
• visibility: hidden скрывает элемент, но оставляет его место на странице. Элемент всё ещё занимает пространство в макете, но не виден пользователю.
Каково назначение dispatch в React Redux?
dispatch — это функция, которая отправляет действия (actions) в хранилище Redux. Эти действия обрабатываются редьюсерами, которые обновляют состояние. dispatch используется для взаимодействия с глобальным состоянием и вызова изменений.
Что такое DispatcherServlet?
DispatcherServlet — это основной компонент Spring MVC, который действует как фронтальный контроллер. Он принимает входящие запросы, определяет соответствующий обработчик (контроллер), обрабатывает данные и отправляет ответ клиенту, упрощая маршрутизацию и управление представлениями.
Как реализовать расширенную обработку ошибок с использованием пользовательских типов ошибок, реализующих специфичные трейты, такие как From и Display?
В Rust пользовательские типы ошибок упрощают обработку ошибок, позволяя структурировать их по сценариям. Реализация трейтів, таких как From и Display, позволяет автоматически преобразовывать ошибки других типов в ваш тип и формировать читаемые сообщения для пользователей. Это делает код более понятным и упрощает управление ошибками.
В чем разница между методами Dispose и Finalize в C#?
Метод Dispose используется для явного освобождения ресурсов, которые не управляются сборщиком мусора, и должен быть вызван пользователем. Метод Finalize вызывается сборщиком мусора автоматически перед уничтожением объекта и используется для освобождения ресурсов, которые не были освобождены явно.
Что произойдет, если изменить свойство display на block для элемента <span>?
При использовании Flow, какой Dispatcher вы бы выбрали для работы с UI и для фоновых задач?
Какие есть CoroutineScope и Dispatcher, и как они применяются?
Расскажите про принципы SOLID: SRP, OCP, LSP, ISP, DIP и примеры их применения на практике.
Что такое паттерн IDisposable, как работают методы Dispose и блок Finalize?
Рейтинг:
2
Сложность:
3
Элемент <span> станет блочным: будет занимать всю ширину родителя, переноситься на новую строку и сможет иметь ширину/высоту, в отличие от строчного поведения.
Рейтинг:
2
Сложность:
5
Для обновления UI при сборе Flow выбирают Dispatchers.Main, чтобы безопасно работать с элементами интерфейса. Для фоновых задач (сеть, база данных, вычисления) используют Dispatchers.IO или Dispatchers.Default соответственно. Рекомендуется переключаться контекст в середине цепочки через оператор flowOn.
Рейтинг:
2
Сложность:
6
CoroutineScope определяет жизненный цикл корутин, например GlobalScope, viewModelScope, lifecycleScope, а Dispatcher указывает, на каком потоке выполнять код: Dispatchers.Main для UI, Dispatchers.IO для I/O, Dispatchers.Default для CPU-интенсивных задач. Их комбинируют, чтобы корутины запускались в нужных условиях и отменялись вместе с жизненным циклом.
Рейтинг:
2
Сложность:
5
SOLID объединяет пять принципов:
SRP (Single Responsibility) — класс отвечает за одну задачу (например, разделить логику валидации от сохранения).
OCP (Open/Closed) — расширять поведение через наследование или композицию без изменения существующего кода (добавить новый тип обработки, не правя базовый класс).
LSP (Liskov Substitution) — подкласс должен заменять базовый без нарушений (метод Rectangle.SetWidthHeight не должен ломать Square).
ISP (Interface Segregation) — маленькие интерфейсы, клиенты не должны зависеть от ненужных методов (IReadable, IWritable вместо IReadWrite).
DIP (Dependency Inversion) — зависеть от абстракций, а не от конкретных реализаций (внедрять ILogger, а не FileLogger).
Рейтинг:
2
Сложность:
6
IDisposable реализуют классы, владеющие неуправляемыми ресурсами (файлы, сокеты). Метод Dispose() вызывается вручную или через using для немедленного освобождения. Finalize (деструктор) запускается GC при сборке, если Dispose не был вызван, но не гарантирует время выполнения. Реализация часто сочетает оба: в finalizer’е вызывают Dispose(false), а в Dispose() — GC.SuppressFinalize(this).
Рейтинг:
2
Сложность:
4
Рейтинг:
2
Сложность:
2
Рейтинг:
2
Сложность:
7
Рейтинг:
2
Сложность:
8
Рейтинг:
1
Сложность:
5