Balun.Courses (Балун) - Concurrency в Go. Тариф Стандарт (2026)

Виктория

Хранитель знаний
Команда форума
2 Фев 2022
546
78
28
Balun.Courses (Балун) - Concurrency в Go. Тариф Стандарт (2026)

1788967537872.png


Хотите уверенно проходить технические собеседования в BigTech и писать отказоустойчивый высоконагруженный код? Этот курс закроет 95% ваших вопросов по многопоточности в Golang.

Мы предлагаем не просто теорию, а глубокое изучение «подкапотной» магии Concurrency в Go, необходимой для работы над крупными коммерческими проектами. Вы научитесь мыслить категориями параллельного программирования, понимать чужой сложный код и применять лучшие архитектурные практики.


Что даст вам обучение параллельному программированию на Go?

  • Мощное портфолио: В процессе обучения вы с нуля разработаете собственную In-memory Key-Value базу данных. Реализация Write-Ahead Log (WAL), механизма снэпшотов и асинхронной репликации станет железобетонным аргументом для повышения вашего грейда и уровня зарплаты.
  • Успешное прохождение собеседований: Вы научитесь щелкать как орешки задачи на Concurrency, которые чаще всего встречаются на интервью Senior- и Middle-разработчиков.
  • Опыт решения реальных задач: Никакой синтетики — только кейсы, с которыми инженеры ежедневно сталкиваются в production-среде современных IT-компаний.
  • Фундаментальная база: Дополнительно вы получите кураторскую подборку статей, курсов, видео и учебников для дальнейшего бесконечного развития в теме многопоточности.

Программа курса: от архитектуры железа до Lock-free структур

Учебный план построен по принципу постепенного погружения: от базовых принципов работы процессора до написания собственных нетривиальных алгоритмов.

Модуль 1. Фундамент: как код работает на уровне железа

  • Устройство процессора, шины и конвейер команд (Pipeline).
  • Когерентность кэша (протокол MESI), решение проблем false sharing и store buffer, invalidation queue.
  • Виртуальная память: MMU, TLB, swapping.
  • Потоки, процессы и алгоритмы планирования ОС (FCFS, SJN, RR).
  • Context switching, Hyper-threading и концепция сопрограмм (корутин). Результат: Вы поймете, как архитектура компьютера и ОС влияет на выполнение вашего кода.

Модуль 2. Внутреннее устройство горутин и планировщика (Scheduler)

  • Анатомия горутины в Golang под капотом.
  • Как работает планировщик Go: алгоритмы Work sharing и Work stealing. Результат: Детальное понимание Concurrency-модели в Go.

Модуль 3. Базовая синхронизация и проблемы многопоточности

  • Обзор примитивов из пакета sync (WaitGroup, Mutex, Once).
  • Анатомия мьютекса изнутри.
  • Поиск багов: работа с Go race detector.
  • Главные боли конкурентного программирования: deadlock, livelock, data race, starvation (голодание потоков). Результат: Научитесь защищать данные и избегать классических ошибок параллельного кода.

Модуль 4. Продвинутые примитивы синхронизации

  • Работа с sync.RWMutex, sync.Map, sync.Cond, sync.Pool и атомарными операциями (sync.atomic).
  • Реализация собственных примитивов (spinlock, recursive/timed mutex).
  • Борьба с Cache contention. Результат: Сможете писать кастомные инструменты для синхронизации под специфические задачи.

Модуль 5. Каналы (Channels) под капотом

  • Устройство буферизованных и небуферизованных каналов.
  • Однонаправленные каналы и принцип "Share memory by communicating".
  • Архитектура Producer-Consumer и паттерн Graceful Shutdown. Результат: Полное осознание того, как устроены каналы в Go и когда их применение наиболее эффективно.

Модуль 6. Паттерны конкурентного программирования

  • Реализация паттернов: Promise and Future, Fan-In / Fan-Out, Generator, Pipeline, Bridge.
  • Управление потоками: Error group, паттерны Cancellation и Or-channel. Результат: Научитесь проектировать красивую и предсказуемую архитектуру параллельных приложений.

Модуль 7. Контексты и модель памяти в Go

  • Работа с пакетом context (Background, TODO, WithCancel, WithCancelCause, WithDeadline, WithTimeout, WithValue).
  • Внутреннее устройство контекстов и их роль в Graceful shutdown.
  • Memory models (sequential, acquire/release, relaxed), Memory reordering и барьеры памяти. Результат: Освоите безопасную отмену операций и тонкости работы с памятью.

Модуль 8. Структуры данных и алгоритмы без блокировок

  • Разработка шардированной Map.
  • Тонкая и грубая синхронизация.
  • Написание Lock-free структур данных (очереди и стеки).
  • Понятие линеаризуемости и решение проблемы ABA. Результат: Перейдете на новый уровень, научившись писать сверхбыстрый код без использования стандартных блокировок.

Модуль 9. Практикум: решаем задачи из реального бизнеса

  • Написание динамического и фиксированного Worker pool.
  • Реализация планировщика (Scheduler), Batcher-а и системы синхронизации кэша. Результат: Вы самостоятельно напишете компоненты, которые используются в высоконагруженных микросервисах, и полностью подготовитесь к сложным лайвкодинг-секциям на интервью.
👉 Формат участия: Тариф «Стандарт»

Продажник:​

🔒 Доступно после авторизации

Скачать:

 
Последнее редактирование: