Объединяем NeetCode 150 и Blind 75 в один трекер по 18 паттернам. Учись решать задачи осознанно, а не запоминать решения. Начни сейчас!
Где-то около 40-й задачи из «просто решаю, что рекомендует LeetCode» я понял: я не становлюсь лучше на интервью. Я становлюсь лучше в забывании того, что уже решил.
Схема была всегда одинаковой: во вторник решаешь сложную задачу по динамическому программированию, чувствуешь себя гением, а через три недели замираешь на почти идентичной задаче, потому что никогда не связал её с паттерном в основе. Я не строил ментальную модель. Я коллекционировал разовые победы.
Поэтому я перестроил подготовку вокруг одной идеи: в собеседованиях по кодингу есть примерно 15–18 ключевых паттернов, а всё остальное — вариации. Как только это щёлкнуло, я перестал относиться к задачам как к изолированным головоломкам и начал видеть в них экземпляры шаблона, который уже знаю.
Именно этот пересмотр превратился в таблицу, которую я хочу вам показать.
Большинство готовится либо по NeetCode 150, либо по оригинальному Blind 75 — редко по обоим, и почти никогда в формате, который показывает, почему задачи сгруппированы именно так. Я объединил их в один трекер, строго организованный по паттернам, со списком prerequisite и шпаргалкой «ключевой паттерн» для каждого раздела.
Вот несколько примеров того, как это выглядит на практике:
Весь раздел сводится к одному вопросу: «Какой комплемент, счётчик или группу мне нужно искать мгновенно?» Как только вы это усвоите, Two Sum, Group Anagrams и Longest Consecutive Sequence перестают быть тремя разными задачами и становятся тремя применениями одного инстинкта — поиска по хешу.
Расширяй вправо, сжимай влево при нарушении ограничения, отслеживай состояние в хеш-карте или счётчике. Вот и всё. Это и Longest Substring Without Repeating Characters, и Minimum Window Substring, и Sliding Window Maximum — на трёх разных уровнях сложности.
Как только видишь отсортированное или монотонное пространство поиска — даже если оно не похоже на массив (вспомните Koko Eating Bananas) — шаблон один: lo, hi, mid, корректируй границы.
Каждый раздел в трекере построен по структуре: prerequisites → основной паттерн в одном предложении → список задач с пометками по сложности, где ⭐ отмечает задачи из оригинального Blind 75, а 💡 — те, что постоянно всплывают на реальных собеседованиях.
Покрыты все 18 разделов — от массивов и хеширования до математики и геометрии — всего более 150 задач, с чекбоксами, чтобы вы реально отслеживали прогресс, а не теряли его в пятнадцати вкладках браузера.
Я собрал и отслеживаю этот список внутри MarkVault — Markdown-рабочей области, которую создал именно для таких вещей: длинных, развивающихся справочных документов, к которым вы возвращаетесь, а не пишете один раз и бросаете. Вот что было важно лично для меня:
Посмотреть живую версию с активным отслеживанием можно здесь: Открыть трекер NeetCode 150 + Blind 75
Не начинайте с начала. Начните с массивов и хеширования и двух указателей — это основы почти для всего остального, включая половину «продвинутых» разделов.
Сначала решайте задачи с 💡, даже не по порядку. Они отмечены, потому что появляются непропорционально часто на реальных собеседованиях, а не потому что они самые лёгкие.
Когда закончите раздел, не переходите сразу дальше. Вернитесь и перечитайте строку «Ключевой паттерн». Если не можете объяснить её вслух без подглядывания — вы запомнили решение, а не выучили паттерн, и он не перенесётся на следующую незнакомую задачу.
Возвращайтесь, а не просто отмечайте. Чекбокс означает, что вы решили задачу один раз. Это не значит, что вы решите её вариант под давлением интервью. Через несколько недель возвращайтесь к разделам и решайте по 2–3 задачи «на холодную».
Последний пункт — главная причина, по которой я сделал это живым, пересматриваемым документом, а не чек-листом, который заполнишь один раз и забудешь. Подготовка, к которой не возвращаются, — это не подготовка, а просто список дел, который приятно завершить.
Если вы сейчас в активной подготовке к собеседованию или только собираетесь начать — попробуйте объединённый список. Он бесплатен для просмотра, не требует аккаунта, и это реальная таблица, которой я пользуюсь, а не «причёсанная» версия для интернета.
Откройте трекер → и начните с первого раздела уже сегодня.
Хочешь закрепить знания на практике?
Решай задачи на Algolit — интерактивная платформа для обучения
Начать бесплатно →