Специализация
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 в телеграм
Какие поколения есть в управляемой куче .NET (GC) и как происходит продвижение объектов между поколениями?
В управляемой куче существуют три поколения: Gen 0 (молодое), Gen 1 (промежуточное) и Gen 2 (старое). Новые объекты сначала попадают в Gen 0. При сборке выжившие объекты повышаются в поколение: из Gen 0 → Gen 1, из Gen 1 → Gen 2. Gen 2 собирается реже, что оптимизирует производительность, поскольку долгоживущие объекты хранятся отдельно.
Чем отличаются синхронные и асинхронные задачи в GCD?
Синхронная задача (sync) блокирует текущий поток до завершения работы в указанной очереди. Асинхронная (async) ставит задачу в очередь и сразу возвращает управление, не дожидаясь выполнения. Это позволяет не блокировать главный поток для тяжёлых операций.
Как отменить задачу, отправленную в GCD-очередь?
GCD по умолчанию не поддерживает отмену обычных async задач, но можно использовать DispatchWorkItem — он позволяет вызвать метод cancel(), а в самом блоке проверять isCancelled и досрочно выходить.
Чем NSOperation удобнее GCD для управления задачами?
NSOperation (теперь Operation) предоставляет возможности: отмена с поддержкой флагов, зависимость задач (addDependency), приоритеты, KVO-отслеживание состояний, а OperationQueue упрощает управление максимальным числом одновременных операций и очередью выполнения.
Как добавить SwiftUI-вью в UIKit-контроллер через UIHostingController?
Создаёте UIHostingController(rootView:) с вашим SwiftUI-вью, добавляете его как дочерний контроллер в UIKit-контроллер, устанавливаете фрейм или constraints, и вызываете addChild/didMove(toParent:). После этого SwiftUI-вью отображается внутри UIKit.
В чём разница между async/await и GCD?
Какие типы очередей предоставляет GCD?
Какие дополнительные возможности предоставляет OperationQueue по сравнению с GCD?
Над чем является обёрткой GCD?
Расскажите про инструменты GCD (Grand Central Dispatch), которые вы использовали.
Рейтинг:
2
Сложность:
6
GCD (Grand Central Dispatch) предоставляет низкоуровневые очереди и синхронизированные вызовы sync/async, требуя явного управления задачами и колбэками. async/await — новый синтаксис на основе Swift Concurrency с Task и Actor, упрощает чтение асинхронного кода, позволяет писать его как последовательный, автоматически управляет жизненным циклом задач.
Рейтинг:
2
Сложность:
5
Main: Главная очередь (UI).
Global: Фоновые очереди с приоритетами.
Private: Кастомные очереди (серийные/конкурентные).
Рейтинг:
2
Сложность:
8
Зависимости между операциями.
Отмена операций.
Ограничение количества параллельных операций.
Приоритеты и качество сервиса (QoS).
Рейтинг:
2
Сложность:
7
GCD является обёрткой над низкоуровневыми механизмами потоков операционной системы (например, pthreads в Unix-системах). Она абстрагирует управление потоками, предоставляя простой API для работы с очередями и задачами.
Рейтинг:
2
Сложность:
8
GCD — это низкоуровневый API для управления параллельными операциями. DispatchQueue — очередь для выполнения задач (главная main и фоновые). DispatchGroup — для отслеживания завершения группы задач. DispatchSemaphore — для контроля доступа к ограниченному ресурсу из нескольких потоков. DispatchBarrier — для создания точки синхронизации в concurrent очереди, обеспечивая эксклюзивный доступ к ресурсу.
Рейтинг:
2
Сложность:
7
Рейтинг:
2
Сложность:
6
Рейтинг:
2
Сложность:
6
Рейтинг:
2
Сложность:
6
Рейтинг:
2
Сложность:
6