Пакет sync, гонки, блокировки
Вопросов: 129 из 42 собеседований. Источник указан в заголовке группы.
Часто повторяются
Заголовок раздела «Часто повторяются»- Что такое mutex? — встречается 2×
- Примитивы синхронизации. — встречается 2×
- Какие примитивы синхронизации ты знаешь? — встречается 2×
- Какие бывают примитивы синхронизации? — встречается 2×
- RWMutex vs Mutex; — встречается 2×
Все вопросы
Заголовок раздела «Все вопросы»AdCamp — 1 кв 2026
Заголовок раздела «AdCamp — 1 кв 2026»- Как обнаружить deadlock в Go-программе?
- В чем разница между
sync.Mutexиsync.RWMutex? - Что такое
sync.WaitGroupи когда его используют? - Что такое
data raceи как его обнаружить?
Alta Personnel — 1 кв 2026
Заголовок раздела «Alta Personnel — 1 кв 2026»- В чем разница между
sync.Mutexиsync.RWMutex? Когда предпочтительнее использовать второй?
amoCRM — 1 кв 2025
Заголовок раздела «amoCRM — 1 кв 2025»- Чем
sync.Mapотличается от обычнойmapи когда ее следует использовать? - Что такое
deadlockи как его избежать? - Что такое «graceful shutdown» и для чего он нужен?
Andersen - 1
Заголовок раздела «Andersen - 1»- Allocations and sync.Pool a) Memory allocation for structures and global variables b) Deleting from a map/slice does not free memory c) Reusing variables and
sync.Pool
Avito / Авито (все этапы)
Заголовок раздела «Avito / Авито (все этапы)»- Что такое мьютекс?
Avito / Авито (платформа)
Заголовок раздела «Avito / Авито (платформа)»- для чего тут нужна вейтгруппа?
- почему необходимо использовать мьютекс? А еще можно решить эту проблему?
Avito / Авито (скрининг) - 1 — 2 кв 2025
Заголовок раздела «Avito / Авито (скрининг) - 1 — 2 кв 2025»- Что такое mutex?
Burger King / Бургер Кинг
Заголовок раздела «Burger King / Бургер Кинг»- Примитивы синхронизации.
Citydrive / Cитидрайв — 1 кв 2025
Заголовок раздела «Citydrive / Cитидрайв — 1 кв 2025»- Что такое mutex?
- Какие тут примитивы синхронизации можем использовать?
- Что такое атомики?
- Как решить на атомиках?
- Как сделать так, чтобы явно у нас только одна отработала, без доработки программы?
Cloud.ru — 4 кв 2025
Заголовок раздела «Cloud.ru — 4 кв 2025»- Что такое примитивы синхронизации, их виды?
Employcity
Заголовок раздела «Employcity»- Как мьютексы устроены внутри?
- Что такое атомик и за счет происходит атомарность операции?
- Как думаешь почему мьютексы реализованы через атомики?
Exness - 1
Заголовок раздела «Exness - 1»- Do you use SyncOnce or init for initialization of variable packages?
- When does a race condition occur?
- Can you write competitive code without mutex?
- Why are atomics faster?
- Can you build Mutex on Atomic?
Headframe — 1 кв 2026
Заголовок раздела «Headframe — 1 кв 2026»- Что такое
sync.Pool? Когда применяется?
InDrive - 1
Заголовок раздела «InDrive - 1»- What is sync.Map?
- Have you heard of deadlocks in databases?
Kvando Technologies
Заголовок раздела «Kvando Technologies»- Что такое race condition?
Lamoda / Ламода - 1
Заголовок раздела «Lamoda / Ламода - 1»- Race condition?
- Примитивы синхронизации?
- Deadlock в базе данных?
- Что подразумевает под собой гарантия доставки «at most once»?
- Как обнаружить гонку?
- Как избежать гонки в представленной программе?
- Чем отличаются Mutex и RWMutex?
- Почему ты предпочитаешь использовать map+RWMutex, а не sync.Map?
- Какие примитивы синхронизации ты знаешь?
Magnit / Магнит - 1 (Лояльность) — 1 кв 2025
Заголовок раздела «Magnit / Магнит - 1 (Лояльность) — 1 кв 2025»- Примитивы синхронизации какие знаешь?
- Какое действие нельзя делать со всеми примитивами?
Magnit / Магнит - 2 (E-com) — 1 кв 2025
Заголовок раздела «Magnit / Магнит - 2 (E-com) — 1 кв 2025»- Рассказать подробно где и как тут будет происходить гонка?
Magnit / Магнит - 7 — 4 кв 2025
Заголовок раздела «Magnit / Магнит - 7 — 4 кв 2025»- Чем
deadlockотличается от паники? - Какие бывают мьютексы? В чем их отличие?
- Что под капотом используется в мьютексе?
- Чем
atomicлучше мьютекса? - Какие основные техники используются при работе с атомиками?
- Какие примитивы синхронизации из стандартного пакета
syncвы применяли на практике, помимоsync.Map? - В каких случаях использовали
sync.Pool?
MTS / МТС (тестирование) — 1 кв 2025
Заголовок раздела «MTS / МТС (тестирование) — 1 кв 2025»- Какой метод не является частью пакета
sync.WaitGroup? Remove();Wait();Done();Add().- Какой метод используется для блокировки мьютекса в Go?
Reserve;Seize;Save;Read;Create;Load.
Positive Technologies
Заголовок раздела «Positive Technologies»callService медленный (до 5 минут), надо отдавать свежий результат вызова callService (время жизни - полчаса). Можно сделать background job через таймер, который вызывает callService и засовывает в структуру с мьютексом, а хэндлер отдает клиенту.
Rutube - 1
Заголовок раздела «Rutube - 1»- Какое отличие между Mutex и RWMutex?
- Если кол-во операций на чтение и запись одинаково, то есть ли смысл использовать RWMutex и почему?
- Что можешь сказать про atomic?
- Что еще есть в пакете sync?
Samokat / Самокат (полный список)
Заголовок раздела «Samokat / Самокат (полный список)»- Что такое гонка?
- Какие можете назвать атомарные операции?
SberTech SynAI — 1 кв 2026
Заголовок раздела «SberTech SynAI — 1 кв 2026»- Что из пакета sync вы использовали в работе?
- Какие методы есть у WaitGroup?
- Что такое atomic?
Selectel / Селектел
Заголовок раздела «Selectel / Селектел»- Какие есть примитивы синхронизации в Го?
- Зачем нужны атомики, если есть мьютексы?
TSUM / ЦУМ
Заголовок раздела «TSUM / ЦУМ»- Что такое race condition в Go?
- Что такое дедлок в Go?
Tutu / Туту
Заголовок раздела «Tutu / Туту»- Что можешь сказать про пакет sync?
- Чем отличается errgroup от WaitGroup?
- Какая ключевая особенность есть в errgroup?
- Почему часто используют обычную мапу с мьютексом, а не мапу из пакета sync?
- Всегда ли атомик быстрее мьютекса?
- Задача на грутины и race condition.
- Какие примитивы синхронизации знаешь?
- Как Go решает проблему в RWMutex, если бесконечно висит lock на чтение и когда произойдет lock на запись?
Vitech / Витех (Ви.Tech) - 1
Заголовок раздела «Vitech / Витех (Ви.Tech) - 1»- Мапа потокобезопасна? А как сделать безопасной? В чем отличие RW от Mutex
Vitech / Витех (Ви.Tech) - 2 — 1 кв 2025
Заголовок раздела «Vitech / Витех (Ви.Tech) - 2 — 1 кв 2025»- Что такое graceful-shutdown? Рeaлизовывал ли/Как работает?
- Зачем RWMutex если у нас есть обычный Mutex?
- Знаешь ли что такое graceful-degradation?
Vseinstrumenti / ВсеИнструменты
Заголовок раздела «Vseinstrumenti / ВсеИнструменты»- Работал ли с мьютексами? Какие они бывают и чем отличаются?
Wildberries / WB - 11
Заголовок раздела «Wildberries / WB - 11»- Какие примитивы синхронизации ты знаешь?
Wildberries / WB - 13
Заголовок раздела «Wildberries / WB - 13»- Что такое состояние гонки?
- Что такое wait group?
Wildberries / WB - 16 — 4 кв 2025
Заголовок раздела «Wildberries / WB - 16 — 4 кв 2025»- Способы предотвращения гонки данных?
Wildberries / WB - 4 (Команда поставщиков) — 1 кв 2025
Заголовок раздела «Wildberries / WB - 4 (Команда поставщиков) — 1 кв 2025»- Какие бывают примитивы синхронизации?
- RWMutex vs Mutex;
- Какая команда помогает проверить есть ли гонки или дедлоки?
- Data race и Race condition;
Wildberries / WB - 5 (Команда спецпроектов) — 1 кв 2025
Заголовок раздела «Wildberries / WB - 5 (Команда спецпроектов) — 1 кв 2025»- Какие бывают примитивы синхронизации?
- RWMutex vs Mutex
Wildberries / WB - 8 (Поисковая платформа)
Заголовок раздела «Wildberries / WB - 8 (Поисковая платформа)»- Какие основные преимущества sync.Map?
Wildberries / WB - 9 (Рекламная платформа)
Заголовок раздела «Wildberries / WB - 9 (Рекламная платформа)»- Для чего нужен mutex
Yadro / Ядро
Заголовок раздела «Yadro / Ядро»- Как бороться с гонкой?
- С какой проблемой можно столкнуться решая проблемы сихронизации?
- В чем разница между Mutex и RWMutex?
Yadro / Ядро - Рекомендованные вопросы
Заголовок раздела «Yadro / Ядро - Рекомендованные вопросы»- Что такое sync.Map?
- Какие типы мьютексов предоставляет stdlib?
- Что именно защищает мьютекс?
- сколько R и W локов можно взять от sync.RWMutex одновременно?
- Зачем нужны atomic?
- Почему интенсивная конкурентная модификация atomic приводит к заметному снижению производительности на многопроцессорных системах?
- Какие еще примитивы синхронизации знаете?
- Что такое дедлок? Как бороться со случившимся дедлоком? Как не допустить дедлок?
- Как подождать их выполнения?
- В чем польза от sync.Pool?
Клауд Солюшенс — 1 кв 2026
Заголовок раздела «Клауд Солюшенс — 1 кв 2026»- Как работает пакет
sync? С какими примитивами из него вы работали? - В чем суть
sync.Pool? Как и когда его правильно использовать? - Как garbage collector взаимодействует с объектами в
sync.Pool? - Как бы вы реализовали функцию
tryLockдля семафора в Go? - Почему возникает
log contention? Как его диагностировать и избежать? - В чем разница между
MutexиRWMutex? Приведите пример, где один предпочтительнее другого. - Что такое
singleflightиз пакетаgolang.org/x/sync? Какую проблему решает?
МВД РФ (Паспортно-визовый сервис) — 4 кв 2025
Заголовок раздела «МВД РФ (Паспортно-визовый сервис) — 4 кв 2025»- Представим ситуацию: CI-пайплайн зеленый, все тесты проходят успешно, но в продакшене периодически возникают проблемы, вызванные состоянием гонки. Как можно обнаружить гонки данных на этапе тестирования в CI? Что делать, если стоит задача постоянно отслеживать, есть ли в коде гонка?
Совкомбанк — 4 кв 2025
Заголовок раздела «Совкомбанк — 4 кв 2025»- Что такое deadlock и race condition?
- Какие примитивы синхронизации существуют?
- Что такое Mutex и RWMutex, в чем их отличия?
- Что такое атомики и за счет чего они работают?
- Что такое wait group и для чего он используется?
- Что такое errgroup?