Чему вы научитесь
- 🚀 Уверенное решение 90%+ стандартных алгоритмических задач
- ⏱ Навык укладываться в ограничения по времени и памяти
- 💡 Понимание, как подходить к незнакомым задачам
- 📈 Готовность к стрессовым условиям live-coding
О курсе
Для кого этот курс
Преподаватели курса
Как проходит обучение
Как устроен курс
Курс состоит из 7 модулей: 50+ задач + 2 “толстых” мини-проекта.
Модуль 0: Golang Essentials Check
Быстрая диагностика базы: типы, условия, циклы, ошибки, руны.
Здесь ты сразу поймёшь, где именно “дыры”.
-
палиндром чисел (без строк)
-
конвертер температуры (any + type switch + error)
-
подсчёт гласных (Unicode + runes)
-
безопасное деление (int, error, b==0)
-
максимум из трёх без
math -
сумма цифр без строк
-
високосный год (делимость 4/100/400)
Модуль 1: Горутины и каналы (10 задач)
Конкурентность и паттерны без утечек:
-
параллельный поиск, WaitGroup, конвейер, map-reduce
-
таймауты в select
-
worker pool с буфером
-
graceful shutdown через context
-
fan-in (слияние каналов)
-
неблокирующая отправка/чтение
-
лимит параллелизма (semaphore channel)
Модуль 2: Строки, руны, байты (8 задач)
Типовые строковые задачи, которые постоянно спрашивают:
-
reverse по рунам (Unicode-safe)
-
анаграммы (map[rune]int)
-
longest substring без повторов (sliding window)
-
RLE-сжатие
-
prefix/suffix без HasPrefix/HasSuffix
-
упрощённый CSV parser (state machine)
-
нормализация пробелов (unicode.IsSpace)
-
atoi без strconv (переполнение + error)
Модуль 3: Срезы, карты, структуры, методы (8 задач)
База структур данных на Go:
-
удаление из среза, удаление дубликатов
-
top-K частых, группировка анаграмм
-
упрощённый LRU
-
merge отсортированных массивов
-
пересечение множеств
-
методы и pointer receiver
Модуль 4: Алгоритмы “интервью классика” (10 задач)
Чтобы уверенно проходить средний уровень:
-
binary search, two-sum, three-sum
-
merge intervals
-
min in rotated array
-
quickselect (k-th largest)
-
валидные скобки (stack)
-
очередь на двух стеках
-
subarray sum = K
-
trapping rain water (two pointers)
Модуль 5: Ошибки, panic/recover, defer, тестируемость (5 задач)
Пишем безопасный Go-код:
-
%w+errors.Is -
deferдля гарантированного unlock -
recover(panic → error) -
валидация входа и понятные ошибки
-
table-driven tests (дописать тесткейсы)
Модуль 6: Мини-проекты (2 задачи)
Финальная сборка навыков:
-
Конкурентный логгер
-
уровни, канал, worker, форматирование, graceful shutdown
-
-
HTTP JSON CRUD (in-memory)
-
net/http,encoding/json, mutex, статусы, валидация
-
Что вы получите
- Что ты получишь после прохождения
- После курса ты сможешь:
- уверенно решать типовые задачи собеседований на Go (строки, map/slice, алгоритмы)
- писать корректную конкурентность: goroutines, channels, select, WaitGroup, семафоры, graceful shutdown
- обрабатывать ошибки “как в Go”: контекст + %w, errors.Is, defer, recover
- читать и писать тесты в стиле table-driven
- собрать 2 мини-проекта уровня “можно показать работодателю”:
- конкурентный логгер с shutdown
- HTTP JSON CRUD (in-memory) с правильными статусами и валидацией