---
title: "Зачем я сделал AlgoPath"
url: https://algopath.pro/ru/blog/zachem-ya-sdelal-algopath
language: ru
summary: "Я месяцами решал задачи и всё равно зависал на собеседованиях. Вот чего не хватало и что я сделал вместо этого."
updated: 2026-08-03
---

# Зачем я сделал AlgoPath

Я умел писать код. Я делал вещи, которыми пользовались живые люди. И всё равно сидел перед задачей с собеседования и не понимал, что делать.

 

Ради этого разрыва и сделан AlgoPath.

 

## Что на самом деле шло не так

 

Я делал то, что советуют все. Открывал сайт с задачами, брал задачу, застревал, читал решение, понимал решение, успокаивался. Потом открывал следующую задачу и застревал снова.

 

Задаче на шестидесятой я заметил неприятное. Я не становился лучше в решении задач. Я становился лучше в чтении решений. Это разные навыки, и на собеседовании проверяют только один.

 

Момент, когда стало очевидно. В задаче просили найти самый длинный участок списка, где сумма не превышает лимит. Я смотрел на неё 20 минут. Потом прочитал ответ: скользящее окно. На той же неделе я решил четыре задачи на скользящее окно. Написать его я умел. Чего я не умел — посмотреть на задачу, где слов «скользящее окно» нет нигде, и понять, что она про него.

 

Этому шагу меня никто не учил. Все туториалы, которые я смотрел, начинались после него. «Сегодня решаем это скользящим окном» — и дальше аккуратное объяснение того, что я и так умел писать.

 

## Шаг посередине

 

Решение алгоритмической задачи состоит из трёх частей:

 

1. Прочитать задачу и понять, какого она типа.
2. Вспомнить, как решается этот тип.
3. Написать код.

 

Курсы учат пунктам 2 и 3. Сайты с задачами дают пункт 3. Пункт 1 — это то, на чём выигрывают и проваливают собеседования, и его считают чем-то, что само появится после достаточного числа повторений.

 

Само оно действительно появляется. Уходит на это несколько сотен задач, и большинство бросает раньше. Примерно так и получилось у всех, кого я знал.

 

Поэтому я сделал то, что тренирует пункт 1 напрямую.

 

## Во что это выросло

 

150 шагов по порядку, каждый опирается на предыдущий. Шаг берёт одну идею, объясняет её, заставляет написать самому, а потом ставит внутрь реальной production-ситуации — рейт-лимитер, LRU-кеш, автодополнение. «Найди пару чисел с нужной суммой» и «сопоставь возврат с двумя платежами, которые его составили» — это один и тот же алгоритм, но работой звучит только второе.

 

Рядом с шагами: 52 паттерна, у каждого сигналы, которые на него указывают, и соседний паттерн, который выглядит подходящим и не подходит. И 194 задачи без подписи, где вы называете паттерн до того, как написали строчку, и вам говорят, правы вы или нет. Из последнего собирается карта того, что вы с чем путаете, — самое полезное, что у меня вообще было при изучении этой темы.

 

## Как устроен шаг

 

Прочитать идею. Разобрать сигналы, по которым она видна в условии, — до кода, намеренно. Написать ядро самому в редакторе прямо на странице: JavaScript, Python или PHP, всё работает в вашем браузере. В части шагов вместо этого дают рабочий код с одним намеренным багом. Дальше подключить написанное к реальному кейсу и добиться, чтобы тесты прошли. У сложных шагов есть лестница подсказок: первая ступень — вопрос, последняя близка к коду, насколько глубоко спускаться, решаете вы.

 

Шаг засчитан, когда вы можете объяснить его без заметок и написать ядро заново с чистого файла. Дальше он возвращается через несколько дней, потом через пару недель, потом через месяц.

 

## Три глубины

 

Каждый урок написан три раза, и вы выбираете, какой читаете, — на каждом шаге отдельно. **Простой** ничего не предполагает и обходится без жаргона. **Стандартный** — как сказал бы работающий разработчик. **Академический** даёт инварианты, доказательство корректности и точную сложность. Курс, написанный только для новичков, бросают все остальные; написанный как надо — теряет тех, для кого он был, на первой странице.

 

## Для кого это

 

Для тех, кто умеет написать цикл и функцию и встаёт, как только задача перестаёт объявлять, чего она хочет.

 

Сюда попадают те, кто меняет профессию, самоучки и люди с парой лет опыта, которые ничего из этого формально не учили. Я из последней группы. Курс начинается с «что такое алгоритм» не просто так: мне надоели материалы, которые считали, что я уже знаю, как устроена хеш-таблица внутри, и мне не хотелось строить ту же стену для кого-то ещё.

 

Он не подходит для подготовки к спортивному программированию и не проведёт вас через собеседование на следующей неделе.

 

## Почему это пишу я

 

Меня зовут Эльман Гусейнов. Я работаю разработчиком 10 лет, сейчас в Zalando в Берлине, до этого Shopify и Scoutbee. В основном JavaScript, TypeScript и React с одной стороны, PHP и Python с другой. Подробнее — на [helloelman.com](https://helloelman.com).

 

Ничто из этого не помешало мне зависать перед алгоритмической задачей, и вот это стоит сказать вслух. Я выкатывал в прод системы, которыми пользовалось много людей, и всё равно не мог прочитать незнакомую задачу и сказать, какого она типа. Эти два навыка связаны заметно слабее, чем можно подумать по должностям.

 

И я никогда не учил computer science. Всё, что я знаю, набрано по ходу работы. Для задач, которые перед тобой стоят, это эффективно, но оставляет конкретные дыры. Это была одна из них.

 

Я строил всё это, пока учился сам, и по материалу это видно. Каждое место, где объяснения замедляются и повторяются, — это место, где я застрял.

 

## С чего начать

 

Первые 33 шага бесплатные, и это не демо. Внутри Big O, хеш-таблицы, два указателя, скользящее окно и бинарный поиск — примерно пятая часть курса, и этого хватает, чтобы тренажёр распознавания и матрица ошибок были не пустыми.

 

Начинайте с первого шага, если какие-то слова выше незнакомы. Начинайте с тренажёра распознавания, если код вы пишете и хотите понять, насколько велик разрыв.

 

Обе ссылки — одна и та же: [algopath.pro](/ru).
