Подготовка к интервью

Вопросы о горутинах, планировщике и конкурентности Go

32 вопроса с ответами по теме «Горутины и планировщик Go»

32 вопроса

Что проверяют на интервью

Как устроена подборка

Вопросы связывают устройство планировщика Go с практической организацией конкурентной работы. Разборы охватывают очереди, стек и состояния горутин, ожидание результатов, обработку ошибок, ограничение ресурсов и завершение фоновых задач.

Каталог

Вопросы по теме

Найдено: 32
Теория

В чём разница между горутиной и потоком ОС?

Горутина — это легковесный поток выполнения в языке Go, управляемый рантаймом Go, а не операционной системой.

Читать ответ
Теория

Как безопасно обращаться к одному участку памяти из нескольких горутин? Когда использовать мьютексы, а когда атомики?

Если несколько горутин одновременно инкрементируют общий счётчик без синхронизации, то возникают гонки данных — результат может быть непредсказуемым из-за одновременного чтения и записи.

Читать ответ
Теория

Сервис делает запросы во внешнее API, которое начало отвечать по 10 секунд. Горутины копятся, память растёт, сервис падает по OOM. Как защитить?

Проблема в том, что горутины блокируются на долгих запросах к внешнему API, что приводит к накоплению горутин и росту потребления памяти.

Читать ответ
Теория

Какие способы переключения горутины знаешь? Как в ручном режиме переключить горутину?

В Go переключение между горутинами происходит автоматически планировщиком рантайма, который распределяет время процессора между ними. Основные способы переключения горутины:

Читать ответ
Теория

Что блокирует mutex в канале - горутину или область памяти?

Mutex (взаимное исключение) в Go блокирует горутину, а не область памяти. Когда горутина пытается захватить mutex, если он уже занят, эта горутина приостанавливается (блокируется) до тех пор, пока mutex не освободится.

Читать ответ