> Что такое конкурентность в программировании (Go)

Уровень: junior · Роль: backend · Категория: Технические вопросы

Компании: Моторика

Стек: Go

> Пример ответа

Конкурентность (concurrency) в программировании - это способность программы выполнять несколько задач (или потоков выполнения) одновременно, но не обязательно параллельно. В Go конкурентность реализуется через горутины (goroutines) и каналы (channels). Горутина - это легковесный поток, запускаемый с помощью ключевого слова go. Например:

GO
func main() {
go fmt.Println("Hello from goroutine")
fmt.Println("Hello from main")
}

Здесь go запускает функцию асинхронно, и обе строки могут выводиться в произвольном порядке. Конкурентность отличается от параллелизма (parallelism): параллелизм требует нескольких ядер процессора для одновременного выполнения, а конкурентность - это логическая структура, позволяющая эффективно управлять несколькими задачами, даже на одном ядре. В Go конкурентность встроена на уровне языка: планировщик Go автоматически распределяет горутины по потокам ОС, что упрощает написание масштабируемых и отзывчивых приложений, например, веб-серверов или обработчиков запросов.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью