Шесть направлений
Направление — это не курс, а порядок. Внутри каждого модули выстроены так, чтобы следующий опирался на предыдущий, но ничто не мешает открыть середину: у каждого модуля указано, что нужно знать заранее.
Бэкенд
Что происходит между HTTP-запросом и ответом: разбор протокола, конкурентность, очереди, кэширование, идемпотентность, наблюдаемость. Самое полное направление портала.
Сети
От физического уровня до TLS. Модель OSI как инструмент, а не как мнемоника; TCP с окнами и повторами; DNS, маршрутизация, NAT и то, как всё это ломается на практике.
Базы данных
Реляционная модель, нормализация без догматизма, B-деревья и как их читает планировщик, планы запросов, транзакции, уровни изоляции и аномалии, которые они допускают.
Алгоритмы и структуры данных
Асимптотика и зачем она нужна, массивы и списки, хеш-таблицы, деревья, кучи, графы, жадные алгоритмы и динамическое программирование. 180 задач с разборами.
Операционные системы
Процессы и потоки, планировщик, виртуальная память и подкачка, системные вызовы, файловые системы, сигналы. Два последних модуля дописываются — ждём их к лету.
Распределённые системы
Время и порядок событий, репликация, консенсус (Raft подробно), кворумы, CAP и PACELC, модели согласованности, обнаружение отказов. Открыто в марте 2026 года.
В каком порядке проходить направления
Жёсткой последовательности нет, но зависимости есть. Вот они, без лишней вежливости.
Алгоритмы → всё остальное
Асимптотика и базовые структуры данных нужны везде. Без них разговор про индексы в базах или про кэширование превращается в заучивание правил.
Сети → бэкенд
Первые четыре модуля сетей (до TCP включительно) стоит пройти до бэкенда. Иначе половина бэкенда будет магией: таймауты, keep-alive, head-of-line blocking.
Бэкенд + базы → распределённые
Распределённые системы — последнее направление по сложности. Понадобятся транзакции из «Баз данных» и модель конкурентности из «Бэкенда».
Оценки часов — это чистое время чтения и решения задач, без прокрастинации и без перечитывания. По опыту авторов, реальный темп у работающего человека — один модуль за две-три недели.
Прежде чем начать
Нужно ли знать какой-то конкретный язык?
Примеры в «Алгоритмах» на Python, в «Бэкенде» и «Операционных системах» — на Go и C, в «Базах данных» — SQL. Читать их можно без опыта в этих языках: везде, где синтаксис неочевиден, есть пояснение. Но писать код для задач придётся на чём-то своём.
Есть ли проверка решений?
Автоматической нет. У каждой задачи есть эталонное решение, набор тестовых случаев и разбор типичных ошибок — этого достаточно, чтобы проверить себя самостоятельно. Автогрейдер мы не делаем сознательно: он требует постоянной поддержки, а нас восемь человек.
Что значит «в работе» и «наполняется»?
«В работе» — направление опубликовано, но последние модули ещё пишутся; то, что выложено, уже вычитано и менять его не планируем. «Наполняется» — скелет направления готов, разборы добавляются по два-три в месяц.
Можно ли использовать материалы на занятиях?
Да. Лицензия CC BY-SA 4.0 разрешает копировать, печатать, переводить и перерабатывать материалы, в том числе в коммерческих целях, при условии указания авторства и сохранения той же лицензии на производные работы.
Как сообщить об ошибке в материале?
У каждого разбора внизу есть адрес почты редакции. Фактические ошибки мы правим в течение недели, спорные места обсуждаем и добавляем примечание. Авторы ошибок, которые мы исправили, перечислены на странице о проекте.
Начните с бэкенда
Это самое проработанное направление: девять модулей, 52 разбора и больше ста задач. Первый модуль — про HTTP — не требует никакой подготовки.