Специализация
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 в телеграм
Что такое делегат с многократной подпиской (Multicasting delegate) в C#?
Делегат с многократной подпиской — это расширение обычного делегата, которое позволяет назначить более одного метода для вызова при срабатывании делегата. Этот тип делегата полезен, когда необходимо выполнить несколько действий с одним событием.
Что такое MVCC (Multiversion Concurrency Control)? Где используется?
MVCC (Multiversion Concurrency Control, Многовариантное управление параллелизмом) — это механизм, который позволяет повысить производительность базы данных за счет хранения нескольких версий одного объекта данных. Это позволяет операциям чтения получать согласованный снимок данных без блокировок, ожидая завершения операций записи, и наоборот. Он широко используется в современных реляционных (PostgreSQL, MySQL InnoDB) и нереляционных СУБД.
Как организовать согласованный сброс кешей между несколькими датацентрами (multi-DC cache invalidation)?
Используют глобальные каналы коммуникации (Kafka/Redis Stream), версионирование ключей, lease-based caching или CRDT. Цель — обеспечить одно и то же состояние кеша во всех датацентрах.
В каких случаях имеет смысл использовать multiprocessing вместо threading?
multiprocessing стоит использовать для CPU-bound задач, где важна реальная параллельность. В отличие от потоков, процессы не ограничены GIL. Каждый процесс имеет свою память и выполняется на отдельном ядре. Это увеличивает производительность вычислений, но усложняет обмен данными. Такой подход требует больше ресурсов.
Что такое multi-stage build в Docker и зачем он используется?
Multi-stage build — это сборка Docker-образа в несколько этапов, где на ранних этапах собираются зависимости и артефакты, а в финальный образ попадает только то, что нужно для запуска. Это уменьшает размер образа и снижает количество лишних инструментов внутри контейнера. Обычно на первом этапе ставят компиляторы и build-зависимости, а на последнем — только runtime. Такой подход ускоряет доставку и снижает поверхность атаки.
Почему multi-stage сборка уменьшает размер Docker-образа?
Рейтинг:
4
Сложность:
5
Размер образа уменьшается потому, что в финальный этап не попадают build-инструменты, временные файлы и промежуточные результаты. Docker берёт только то, что явно скопировали из предыдущих стадий. Поэтому компиляторы, заголовки, кэш пакетных менеджеров и прочее остаются в builder-стадии. В итоге production-образ содержит только runtime и готовые зависимости.
Рейтинг:
2
Сложность:
7
Рейтинг:
2
Сложность:
10
Рейтинг:
3
Сложность:
9
Рейтинг:
4
Сложность:
6
Рейтинг:
4
Сложность:
6