практикум

Golang: Internal

Освой внутреннее устройство Go, научись отлаживать сложные дедлоки, оптимизировать аллокации в интерфейсах и строить отказоустойчивые конкурентные системы.

темы, которые вы освоите

Go
go tool trace
pprof
ThreadSanitizer (go test -race)
Go AST (parser, token)
Go Generics
Производительность
Понимание GMP и аллокаций интерфейсов позволяет писать код, который работает в разы быстрее без усложнения инфраструктуры.
Стабильность
Умение диагностировать дедлоки и утечки горутин на этапе разработки гарантирует аптайм сервисов под экстремальной нагрузкой.
Автоматизация
Навыки работы с AST и кодогенерацией избавляют команду от написания сотен строк рутинного бойлерплейта.
Архитектурный кругозор
Понимание модели памяти Go Memory Model позволяет проектировать предсказуемые распределенные системы.
Rebrain
— большое сообщество IT-специалистов, создаём
практикумы по инфраструктуре с 2018 года
Почему выбирают наши программы
  • Автоматические проверки — мгновенная обратная связь по заданиям
  • Проверки менторами — DevOps-инжерами с опытом в индустрии от 5+ лет
  • Возможность общаться с опытными практикующими специалистами
  • Свободный темп — проходите без жёстких дедлайнов
  • Прикладные задачи — кейсы, приближенные к реальной работе DevOps-инженера
phone

Кому подойдёт

Go-разработчики уровня Junior+/Middle

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

DevOps и SRE инженеры

Инженеры, которым необходимо эффективно отлаживать зависания, утечки памяти и проблемы производительности Go-сервисов в продакшене.

Backend-разработчики из других языков

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

Как проходит
практикум

Команда Rebrain изучает, какие из компетенций требуются на разных уровнях профессий.

программа практикума

Golang: Internal

  • Введение
  • Планировщик Go: Горутины и модель GMP
  • Межпроцессное взаимодействие: Каналы изнутри
  • Примитивы синхронизации пакета sync
  • Состояние гонки: Race Conditions и Race Detector
  • Взаимные блокировки: Deadlocks, Livelocks и Starvation
  • Управление жизненным циклом: пакет context
  • Внутреннее устройство интерфейсов
  • Рефлексия: пакет reflect
  • Кодогенерация и AST
  • Дженерики: Параметризация типов
  • Итоговый проект
  • Заключение
Эксперт практикума
Дмитрий Гордеев
Дмитрий Гордеев
  • Дорос от техподдержки до TeamLead Go-разработки в МТС Банке, затем в x5 Tech
  • Сейчас занимается разработкой нового Cloud'а в x5 Tech
  • Опыт разработки – 5 лет
Руководитель практикума Golang by REBRAIN

Ключевые навыки для резюме:

Понимание архитектуры планировщика GMP и умение анализировать распределение горутин по потокам ОС
Проектирование и отладка сложных конкурентных паттернов (Worker Pool, Fan-In/Fan-Out) без утечек горутин
Диагностика и устранение Data Races, Deadlocks и Livelocks с использованием pprof и Race Detector
Оптимизация производительности кода за счет контроля аллокаций при работе с интерфейсами и рефлексией
Автоматизация рутинных задач разработки через парсинг AST-деревьев и кодогенерацию (go generate)

Пример задания

Разработка высокопроизводительной системы потоковой обработки логов из множества источников. Тебе предстоит реализовать параллельный парсинг через пул воркеров, агрегацию метрик с защитой от гонок и поддержку корректного завершения работы (graceful shutdown) через контексты. Итоговое решение будет протестировано под нагрузкой, проверено Race Detector и оптимизировано по памяти с помощью pprof.

Остались вопросы?
Приходите на бесплатную консультацию с экспертом.

практикум

Golang: Internal

В стоимость входит:

  • Выполнение задач на настоящей инфраструктуре
  • Сопровождение — менторы, координатор
  • Бессрочный доступ к теоретической части практикума
стоимость
Практикум
8 000 руб.
6 750 руб.

раз в 2 недели или сразу 27 000 руб.

Перейти к оплате >>>
FAQ

Компилятор оптимизирует многое, но не спасет от утечек горутин, неоптимальных аллокаций при боксинге интерфейсов и взаимных блокировок. Понимание рантайма позволяет писать предсказуемый и быстрый код.

Нет, весь исходный код рантайма мы разбираем на Go. Достаточно уверенно владеть самим Go.

Да, мы будем активно использовать pprof для анализа блокировок и памяти, go tool trace для исследования планировщика и Race Detector для поиска гонок.

Файлы куки

При использовании данного сайта, вы подтверждаете свое согласие на использование файлов cookie и других похожих технологий в соответствии с настоящим Уведомлением.