Когда WaitGroup лучше не использовать или использовать осторожно?
Что хотят услышать интервьюеры:
Суть:
Ответ:
sync.WaitGroup ждет завершения группы goroutine.
Пример:
wg.Add(1);
go func(){
defer wg.Done()
}
();
wg.Wait() Практический акцент: Оцените trade-off: простота, производительность, тестируемость, связность пакетов и цена поддержки.
Типичная ошибка: вызывать Add внутри goroutine и ловить race с Wait.
Как отвечать на собеседовании: Ответ должен показывать, что вы управляете жизненным циклом goroutine, синхронизацией, отменой и нагрузкой, а не просто знаете слово channel.