Какие primitives синхронизации в Go вы использовали и для чего они нужны?

Свяжите каждый использованный примитив с задачей: mutex — общее состояние, WaitGroup — завершение, канал — обмен, Once — инициализация, atomic — отдельный счётчик.

Короткий ответ

Что ответить на собеседовании

Свяжите каждый использованный примитив с задачей: mutex — общее состояние, WaitGroup — завершение, канал — обмен, Once — инициализация, atomic — отдельный счётчик.

Подробный разбор

Ответ с пояснениями

Свяжите каждый использованный примитив с задачей: mutex — общее состояние, WaitGroup — завершение, канал — обмен, Once — инициализация, atomic — отдельный счётчик.

Приведите один пример, где неверная синхронизация давала гонку или блокировку. Объясните, как выбирали границу критической секции и кто завершал горутины. Если Cond или RWMutex не использовали, не нужно включать их в собственный опыт только ради списка.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее