Получить доступ

Горутины, каналы и context

Основа с Junior

Горутины, каналы и select, sync, context, утечки горутин и гонки.

Что важно знать

  • Горутина дешёвая; планировщик Go распределяет их по потокам.
  • Каналы передают данные и синхронизируют; закрывает отправитель.
  • select с ctx.Done() — отмена.
  • sync.Mutex, sync.WaitGroup, errgroup.
  • Утечка горутины — заблокирована навсегда на канале.

Критерии освоения

Junior ≈ 8 ч

  • Запускает горутины и синхронизирует их через WaitGroup и каналы

Практика. Параллельно скачать 20 страниц горутинами и собрать результаты через канал.

Middle ≈ 10 ч

  • Использует select, буферизованные каналы и пулы воркеров
  • Передаёт context для отмены и таймаутов
  • Находит гонки через -race и утечки горутин

Практика. Сделать пул воркеров с context, таймаутами и корректным завершением, проверить детектором гонок.

Senior ≈ 6 ч

  • Проектирует конкурентные конвейеры с ограничением параллельности и корректным завершением

Практика. Реализовать конвейер обработки событий с backpressure и graceful shutdown под нагрузкой.

Вопросы с собеседований

← Вся карта «Go»

Закрытая бета

Знать тему — половина дела

На живом собеседовании sotto слышит вопрос интервьюера и показывает короткий ответ и план. Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем