Когда Обнаружена data race в тестах. Как исправлять? лучше не использовать или использовать осторожно?
Что хотят услышать интервьюеры:
Суть: найти общий mutable state и защитить mutex/channel/atomic или изменить ownership модели.
Ответ:
Пример:
go test -race ./... Практический акцент: Оцените trade-off: простота, производительность, тестируемость, связность пакетов и цена поддержки.
Типичная ошибка: подавить тест или заменить все на atomic без понимания инварианта.
Как отвечать на собеседовании: Отвечайте структурно: симптомы → гипотезы → метрики/логи/трейсы → локализация → исправление → профилактика.