Специализация
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 в телеграм
Что такое WaitGroup?
WaitGroup в Go — это структура из пакета sync, позволяющая организовать ожидание завершения набора горутин. Она предоставляет методы для увеличения счетчика активных горутин, их завершения и блокировки выполнения до их завершения.
Можно ли после GROUP BY применить WHERE‑фильтрацию? Если нет, то как?
Нельзя — WHERE работает до агрегирования и не видит агрегатные функции. Для фильтрации по результатам GROUP BY используют HAVING, который применяется после группировки и может использовать агрегаты.
Что такое DispatchGroup и DispatchSemaphore?
DispatchGroup позволяет группировать несколько асинхронных задач и получать уведомление, когда все они завершатся. DispatchSemaphore контролирует доступ к ресурсам, уменьшая либо увеличивая счётчик и блокируя поток при нулевом значении до сигнала.
Как организовать выполнение группы запросов с использованием DispatchGroup?
Создаётся DispatchGroup, перед каждой асинхронной задачей вызывают group.enter(), а внутри её завершения — group.leave(). После добавления всех задач можно вызвать group.notify(queue:) или group.wait(), чтобы выполнить код, когда все задачи завершатся.
Зачем нужны DispatchGroup и DispatchBarrier? Какие задачи они решают и где применяются на практике?
DispatchGroup: Позволяет ждать завершения группы задач.
DispatchBarrier: Обеспечивает эксклюзивный доступ к ресурсу в concurrent очереди.
Для чего нужна consumer group в Kafka?
Как использовать JOIN, GROUP BY, HAVING в SQL?
Нужно ли в GROUP BY указывать все поля из SELECT? Почему это поведение существует?
Как передать данные между двумя своими приложениями под одним Apple ID? (Через App Groups и общий контейнер)
Алгоритмы агрегации данных — как работает GROUP BY под капотом (на примере CSV-файла без БД)?
Рейтинг:
1
Сложность:
5
Consumer group позволяет:
Распределять сообщения между несколькими consumer-ами (балансировка нагрузки).
Масштабировать обработку (каждый consumer в группе читает часть партиций).
Гарантировать, что сообщение обрабатывается только одним consumer-ом в группе.
Рейтинг:
5
Сложность:
6
JOIN используется для объединения таблиц, GROUP BY — для группировки данных, HAVING — для фильтрации сгруппированных данных. HAVING применяется после группировки, а WHERE — до неё.
Рейтинг:
3
Сложность:
7
Да, в GROUP BY нужно указывать все неагрегированные поля из SELECT. Это правило существует потому, что GROUP BY группирует строки по указанным столбцам, и для каждого агрегирующего столбца (например, SUM, COUNT) должно быть ясно, к какой группе относится результат. Если не включить поле, SQL не сможет определить, какую группу использовать для отображения этого поля.
Рейтинг:
2
Сложность:
8
Для обмена данными между приложениями под одним Apple ID используется технология App Groups. Она позволяет приложениям иметь общий доступ к определенной области файловой системы (общему контейнеру). Данные можно записывать и читать из этого контейнера с помощью UserDefaults(suiteName:) или FileManager, используя URL общего контейнера.
Рейтинг:
3
Сложность:
6
GROUP BY работает используя алгоритмы хеширования или сортировки для группировки строк с одинаковыми значениями. При обработке CSV файла, система читает данные построчно, вычисляет хеш ключа группировки и аккумулирует значения для каждой группы. Алгоритм сортировки сначала сортирует данные по ключу группировки, затем агрегирует последовательные строки с одинаковыми ключами. Оба подхода эффективны но используются в разных сценариях.
Рейтинг:
3
Сложность:
8
Рейтинг:
2
Сложность:
6
Рейтинг:
1
Сложность:
5
Рейтинг:
2
Сложность:
6
Рейтинг:
2
Сложность:
8