В чём разница между горутиной и потоком ОС?
Горутина — это легковесный поток выполнения в языке Go, управляемый рантаймом Go, а не операционной системой.
Читать ответПодготовка к интервью
8 вопросов с собеседований в BWG
Что проверяют на интервью
Подборка объединяет вопросы, отмеченные на этапах интервью в BWG. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: go.
Каталог
Горутина — это легковесный поток выполнения в языке Go, управляемый рантаймом Go, а не операционной системой.
Читать ответВ Go каналы бывают буферизированными и небуферизированными. При небуферизированном канале запись (отправка) блокируется до тех пор, пока другой горутина не прочитает значение из канала.
Читать ответГорутина — это легковесный поток выполнения в языке Go.
Читать ответВ Go создание новой горутины происходит с помощью ключевого слова go, после которого вызывается функция. При этом создаётся легковесный поток выполнения — горутина, который планировщик Go запускает параллельно с другими.
Читать ответMutex (взаимное исключение) и RWMutex (мьютекс с разделением на чтение и запись) — это механизмы синхронизации в Go для защиты общих ресурсов от одновременного доступа.
Читать ответВ Go данные из канала можно извлекать несколькими способами:
Читать ответВ структуре Go-проекта папка cmd обычно содержит исходные коды для исполняемых приложений (команд). Каждая подпапка внутри cmd соответствует отдельной команде или бинарнику, который можно собрать.
Читать ответВ Go синхронизация с помощью WaitGroup реализована через структуру из пакета sync, которая позволяет ждать завершения набора горутин.
Читать ответ