Когда Нужно обработать 1 млн задач из очереди. Как ограничить нагрузку? лучше не использовать или использовать осторожно?
Что хотят услышать интервьюеры:
Суть: использовать worker pool, backpressure, rate limit, batch, context cancellation, retry/DLQ и метрики.
Ответ:
Пример:
jobs := make(chan Job, 1000) Практический акцент: Оцените trade-off: простота, производительность, тестируемость, связность пакетов и цена поддержки.
Типичная ошибка: создать goroutine на каждую задачу без лимита.
Как отвечать на собеседовании: Отвечайте структурно: симптомы → гипотезы → метрики/логи/трейсы → локализация → исправление → профилактика.