Вопрос с ловушкой прямо в формулировке — и на ней спотыкается половина кандидатов.
Подсказка: прежде чем называть примитив, спросите — а что именно ограничиваем? «Не больше 10 одновременно» и «не больше 100 в секунду» — две разные задачи с разными инструментами. Перепутаете — ответите не на тот вопрос.
Дальше просто: для «одновременно» есть классический примитив, который в Go делается на одном канале особого типа (почему именно такого — тоже любят спросить). А в проде берут готовую обёртку из
golang.org/x/... — тот же механизм, но с ошибками, Wait и отменой через контекст.➡️ Как называется примитив, почему канал именно
chan struct{} и что за обёртка — полный разбор📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека Go-разработчика
#ReadySetGo