Курс на Stepik
Обложка курса «Go под капотом: рантайм, память, профилирование» на Stepik
Бесплатно

Go под капотом: рантайм, память, профилирование 0.000

Открыть на
STEPIK.ORG

Разберитесь, что делает Go, пока вы пишете код: escape-анализ и стек против кучи, планировщик GMP, сборщик мусора, устройство слайсов, мап и интерфейсов, профилирование через pprof. 292 задачи с автопроверкой в браузере на Go 1.26 — включая оптимизацию аллокаций с замером — и капстоун «было/стало» для портфолио. Для тех, кто идёт на middle+ и устал отвечать «не знаю» на вопросы про рантайм.

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «Go под капотом: рантайм, память, профилирование»Учеников на курсе 0
Сертификаты, выданные на курсе «Go под капотом: рантайм, память, профилирование»Сертификатов выдано 0
Отзывы о курсе «Go под капотом: рантайм, память, профилирование»Отзывов получено 0
Рейтинг курса «Go под капотом: рантайм, память, профилирование»Рейтинг курса 0.000
Уроки в курсе «Go под капотом: рантайм, память, профилирование»Количество уроков 40
Тесты в курсе «Go под капотом: рантайм, память, профилирование»Количество квизов 141
Задачи с кодом в курсе «Go под капотом: рантайм, память, профилирование»Количество задач с кодом 292
Обновления курса «Go под капотом: рантайм, память, профилирование»Обновления курса
Дата публикации курса «Go под капотом: рантайм, память, профилирование»Дата публикации курса
Последнее обновление курса «Go под капотом: рантайм, память, профилирование»Последнее обновление

Содержание курса

Разделы в курсе «Go под капотом: рантайм, память, профилирование» 8 разделов Уроки в курсе «Go под капотом: рантайм, память, профилирование» 40 уроков Тесты в курсе «Go под капотом: рантайм, память, профилирование» 141 тест Задачи в курсе «Go под капотом: рантайм, память, профилирование» 292 задачи Последнее обновление курса «Go под капотом: рантайм, память, профилирование» обн. 30 августа 2026

О курсе

2 урока
1. Зачем рантайм для middle: карта «под капотом»
2. Мост из Курса 4 + анкета готовности

Память: стек vs куча, escape analysis

6 уроков
1. Прочитай `-gcflags=-m`: стек или куча
2. Модель памяти Go: стек горутины, куча, чем владеет GC
3. Escape analysis в деталях: 6 классических причин убегания
4. Value vs pointer: стоимость, когда указатель аллоцирует
5. `sync.Pool` (превью): переиспользование вместо аллокации
6. Практикум I: предсказываем и убираем escape

Планировщик GMP

6 уроков
1. Модель G-M-P: горутина, поток ОС, процессор
2. Локальные очереди и work-stealing
3. sysmon и netpoller: фоновый надзор и сеть без блокировки
4. Вытеснение: кооперативное → асинхронное (1.14+)
5. `GOMAXPROCS`: сколько P и когда менять
6. Практикум: утечки горутин под микроскопом

Сборщик мусора (GC)

5 уроков
1. Tricolor mark-and-sweep: как Go помечает живое
2. Конкурентный неинвазивный GC и write barrier
3. STW-паузы: что останавливается и почему это микросекунды
4. `GOGC` и `GOMEMLIMIT`: как настраивать GC
5. Практикум: снижаем нагрузку на GC

Слайсы/мапы/интерфейсы вглубь

6 уроков
1. Слайс = ptr+len+cap: header и его поведение
2. `append` и реаллокации: рост ёмкости
3. Утечки и баги через шеринг backing-массива
4. Устройство `map`: группы, control-байты, рост
5. Интерфейс = itab+data: eface/iface и стоимость диспетчеризации
6. `sync.Pool` детально: устройство и корректное применение

Профилирование

6 уроков
1. `runtime/pprof`: четыре профиля и как их читать
2. Читаем `pprof top`, `list` и граф: flat vs cum
3. Флеймграфы: читаем визуальный профиль
4. `net/http/pprof` и `go tool trace`
5. Бенчмарки: `testing.B`, `-benchmem`, `AllocsPerRun`
6. Практикум: интерпретация профилей и оптимизация

Капстоун

4 урока
1. Постановка: кейс оптимизации аллокаций `shopdb`
2. Оптимизируй «было»
3. Финальное ДЗ: оформи артефакт «было/стало»
4. Итог модуля: кейс собран, дальше — собес

Интервью-трек

5 уроков
1. Mock: память и escape analysis
2. Mock: планировщик GMP и горутины
3. Mock: сборщик мусора
4. Mock: слайсы, мапы, интерфейсы + конкурентность вглубь
5. Ретроспектива: карта «симптом → диагностика → фикс»