Будь готов к алгоритмическому собеседованию

  • 100 алгоритмических задач
  • теория простыми словами
  • поддержка в чате 
– и вы готовы к coding interview

ОНЛАЙН-КУРС
При собеседовании на позицию разработчика в большинство крупных IT-компаний нужно проходить coding interview. Это секция, на которой вас просят решить 1-2 алгоритмические задачи. Курс "Алгоритмический фундамент программиста" готовит вас к таким интервью и помогает устроиться на работу мечты.

Из чего состоит курс?

Внутри курса — девять самых важных тем, лекции в удобном видео-формате и практическая часть, состоящая из 100 задач с подробными разборами.

Практика есть в каждом уроке. Наша цель — сделать так, чтобы вы смогли решить все 100 задач самостоятельно. Кураторы курса будут поддерживать каждого ученика до тех пор, пока он с этим не справится. Для всех задач готовы подробные разборы, в которых мы объясняем идею решения и показываем код.

Проходить курс вы будете на платформе Stepik. Помимо этого мы добавим вас в чат с наставниками и единомышленниками — там вы сможете обсуждать решения, задавать вопросы и просто приобретете много полезных и классных знакомств.

ДЛЯ кого этот курс?

Для разработчиков, которые готовятся к собеседованию по алгоритмам
Возможно, вы уже пробовали устроиться в крупную IT-компанию, но не смогли пройти собеседования. А может быть, это ваш первый опыт. В любом случае, лучший способ подготовиться — решить много задач. Можем сделать это вместе.
Для разработчиков,
которые хотят повысить грейд или сменить работу
Если вы хотите работать в FAANG, но никогда не занимались алгоритмами, мы вам поможем. Двоичные деревья и связные списки перестанут быть просто сложными словосочетаниями.
Для специалистов
других специальностей, которые хотят перейти в разработку
Сменить сферу и стать разработчиком — возможно. Правда для этого нужно выучить не только языки программирования, но и алгоритмы. Наш курс поможет именно с этим. Для прохождения курса важно уметь программировать на одном из языков программирования: C++, Java, Python.

кто составил курс?

Илья Шишков
— Разработчик с опытом программирования 20 лет
— Двукратный участник финала ACM ICPC (2007, 2008). Участник олимпиад TopCoder, Codeforces
— Автор онлайн-специализации «Пояса по C++»
— Спикер IT-конференций С++ Russia, SECR, Yac/e, CoreHard, C++ Zero Cost Conf
— Создатель тренинга по переговорам о зарплате «Выше вилки»
Видеомонтажёр.

Говорит, как должна стоять камера, а потом монтирует видео
Евгений Петрунин
Двукратный чемпион мира ICPC, сотрудник компании Яндекс.

Готовит материалы лекций, пишет код, рисует слайды
Григорий Резников
Студент ФКН НИУ ВШЭ.

Пишет для вас самые понятные разборы задач и подсказки
Даниил Шитов
Бронзовый медалист Финала ICPC, сотрудник компании Near.

Сидит перед камерой, рассказывает про кучу и алгоритмы на графах
Александр Куприн
Серебряный призёр международной олимпиады по информатике, бронзовый медалист Финала ICPC, студент НИУ ВШЭ, сотрудник компании Aim Tech.

Готовит сложные задачи, пишет к ним разборы
Михаил Анопренко

пРОГРАММА

1. Асимптотические оценки

Теория
Изучаем, как оценивать эффективность алгоритмов и сравнивать их между собой.

Практика
6 тренировочных задач, 10 контрольных задач, разборы задач.
2. Алгоритмы поиска

Теория
Изучаем линейный поиск, изучаем двоичный поиск.


Практика

8 тренировочных задач, 7 контрольных задач, разборы задач, эталонная реализация двоичного поиска.
3. Метод двух указателей

Теория
Изучаем метод двух указателей и класс задач, где он применим.


Практика

2 тренировочные задачи, 8 контрольных задач, разборы задач.
4. Элементарные структуры данных
Теория
Односвязный список, стек, двусвязный список, очередь, понятие амортизированной сложности, дек.



Практика

7 тренировочных задач, 13 контрольных задач, разборы задач, эталонные реализации всех рассмотренных структур данных.
5. Алгоритмы сортировки

Теория
Квадратичные сортировки, сортировка слияниями, быстрая сортировка, задача нахождения K-й порядковой статистики, сортировка за линейное время.

Практика
1 тренировочная задача, 13 контрольных задач, разборы задач, эталонные реализации всех рассмотренных алгоритмов.
6. Структура данных «Куча»
Теория
Изучаем устройство и операции, которые можно выполнять с кучей.




Практика

26 тренировочных заданий, 5 контрольных задач, разборы задач, эталонная реализация кучи.
7. Алгоритмы на графах

Теория
Поиск в глубину, поиск в ширину, поиск циклов, топологическая сортировка.



Практика

10 тренировочных заданий, 6 контрольных задач, разборы задач, эталонные реализации рассмотренных алгоритмов.
8. Двоичные деревья поиска
Теория
Основное свойство двоичного дерева поиска, операции поиска, вставки, удаления, обходы двоичных деревьев поиска.

Практика
13 контрольных задач, эталонные реализации всех операций.
9. Декартовы деревья

Теория
Основное свойство декартового дерева,
операции вставки, удаления и поиска.


Практика

Эталонные реализации всех операций.
10. Хеш-таблицы
Теория
Индексация по данным, понятие хеширования, понятие коллизии, методы разрешения коллизий.

Практика
7 контрольных задач, разборы задач, эталонные реализации хеш-таблицы.
11. Финальные задачи
Теория
Решаем задачи, в которых понадобятся все полученные ранее знания и навыки.

Практика
10 задач, разборы задач.

Тарифы

попробовать
Доступ к 2 темам из 10

Вы решите 10 задач по программированию

Сертификат по окончанию курса

Помощь куратора в прохождении курса

Личная поддержка Ильи Шишкова

100 руб.
Записаться на курс
Стандарт
Доступ ко всем темам курса

Вы решите 100 задач по программированию

Сертификат по окончанию курса

Помощь куратора в прохождении курса

Личная поддержка Ильи Шишкова
60 000 руб.
Записаться на курс
Премиум
Доступ ко всем темам курса

Вы решите 100 задач по программированию

Сертификат по окончанию курса

Помощь куратора в прохождении курса

Индивидуальная работа с Ильёй Шишковым лично под ваш запрос

Тариф доступен после личной консультации
300 000 руб.
Оставить заявку

Отзывы

Александр Малафеев
Тариф Премиум
Лучший курс который я проходил. Несмотря на уже имеющийся опыт решения задач узнал много нового, поддерживал мотивацию в течении нескольких месяцев а индивидуальная поддержка Ильи на тарифе премиум дала неоценимый вклад в подготовку к интервью. После прохождения курса получил оффер от Гугл.
Илья Чистяков
Тариф Стандарт
Курс очень понравился, я полностью им доволен. Начиная с бесплатной части, он даёт полезную и интересную информацию. Последующие части тоже не разочаровали. Но особенно он ценен тем, что доводит до автоматизма способность оценивать время работы кода. Чего, из моей практики, нельзя добиться, просто изучая теорию. Спасибо большое за курс!
Сергей Пантелеев
Тариф Стандарт
Мне кажется, я получил ощутимую пользу от курса, надеюсь в не очень далеком будущем на собеседованиях проверю. Задачи в основном были интересные, трудные, творческие. В двух модулях нет подсказок, мне так было интереснее решать. Я пришел на курс после того, как решил задач 350 и все равно было трудно. Тратил на курс часов 20 в неделю, прошел за 2.5 месяца (не решал модуль про Декартовы деревья, утомился, решу позже). До этого прошел Яндекс.Практикум Алгоритмы, порешал в ШАД helper. Этот курс понравился больше всего. Рад был в таком формате (лекции + эталонные решения) пообщаться с титулованными, гуманными лекторами.
Сергей Заболотный
Тариф Стандарт
К несомненным достоинствам курса следует отнести отличную структурированность материала. Авторам удалось рассмотреть как абстрактные конструкции, которые облегчают решение алгоритмических задач (Абстрактные Типы Данных) - так и их аналоги в наиболее востребованных языках программирования. Огромную помощь при изучении оказывает наличие подсказок для сложных задач и очень подробный разбор и представление авторских решений, из которого я лично узнал много нестандартных подходов для вроде бы известных концепций. Лекционный материал не только освещает подходы к анализу алгоритмических проблем - но и дает направления для дальнейшего самостоятельного изучения - а это , наверное именно то, чего не достает многим аналогичным курсам. Очень жаль, что не хватило места и времени для двух очень важных блоков - работы со строками и динамического программирования, раздел графовых алгоритмов также выглядит несколько скомкано. Задачи в рамках курса подобраны самой разнообразной сложности - от довольно простых, до тех, которые не то что на собеседовании - на олимпиадах не всякого уровня увидишь. Также хочу отметить дружелюбную поддержку авторов и разработчиков и адекватную и быструю реакцию на возникающие вопросы. В целом, по моему мнению, курс является одним из наиболее сбалансированных и продуманных в российском сегменте интернета. Прохождение его доставило мне огромное удовольствие, наряду с многими - зачастую неожиданными открытиями и знаниями. Спасибо авторам. Мои рекомендации )Мне кажется, я получил ощутимую пользу от курса, надеюсь в не очень далеком будущем на собеседованиях проверю. Задачи в основном были интересные, трудные, творческие. В двух модулях нет подсказок, мне так было интереснее решать. Я пришел на курс после того, как решил задач 350 и все равно было трудно. Тратил на курс часов 20 в неделю, прошел за 2.5 месяца (не решал модуль про Декартовы деревья, утомился, решу позже). До этого прошел Яндекс.Практикум Алгоритмы, порешал в ШАД helper. Этот курс понравился больше всего. Рад был в таком формате (лекции + эталонные решения) пообщаться с титулованными, гуманными лекторами.
Антон Кравцов
Тариф Стандарт
Курс по алгоритмам без мусора, только самое необходимое, чтобы пройти алгоритмическую секцию собеседования.
Иван Татарников
Тариф Стандарт
Все объясняется доступным и понятным языком. Много задач на закрепление. Отлично :)
Савва Мейтис
Тариф Стандарт
Я начинающий разработчик, курс очень помог структруировать знания и получить весь необходимый фундамент. Для сомневающихся, советую откинуть сомнения и засесть за него, особенно кто самоучка. Немало сложных задач, так что советую выделить прилично свободного времени.
Артём Прохоров
Тариф Стандарт
Привет! После прохождения курса, хотелось бы оставить свои впечатления здесь. Являюсь разработчиком в не самой маленькой компании, имеется бэкграунд в научной работе, прошел пояса по с++ (до коричневого включительно). Но до того как наткнулся на этот курс, имелись пробелы с структурированием всего того, что нужно знать разработчику об алгоритмах и структурах данных. Имелся относительно небольшой опыт прохождения алгоритмических собеседований и ясного понимания того, что могут спрашивать и как глубоко на таких собеседованиях, не было. Конечно были попытки прохождения курсов по алгоритмам на других платформах и самостоятельно по Кормену, но именно этот курс подкупил тем, что авторы изначально позиционировали себя как курс со всем самым необходимым для разработчика в повседневной работе и для прохождения интервью. И авторы не обманули) Никакой воды, максимально качественные объяснения, в голове вырисовывалась стройная картинка того, где и как лучше использовать. Очень помогало ведение конспектов. Конечно пришлось поработать, в течение нескольких месяцев на курс уходили все выходные, некоторые задачи казались очень трудными. Но каждый раз, решая очередную сложную задачу, ловил кайф)) Очень подкупила возможность послушать вебинары с мок-интервью, которые авторы периодически проводят. Кажется это было очень полезным для меня, буду еще слушать по возможности. По поводу результатов на собеседованиях - я уже их получил. Уже удалось попробовать себя в условиях приближенных к боевым, курс придал уверенность во время попыток решения тестовых задач, которые оказались успешными. Но думаю, что дальше - больше) С уверенностью могу порекомендовать всем тем, кто преследует примерно те же цели, что и я, а именно: получить необходимую базу и/или структурировать знания. Спасибо авторам за этот курс!

Где узнать больше информации
о курсе и алгоритмах?

Вы можете подписаться на Telegram-канал курса.
В нём вы найдёте множество полезной информации: ссылки на бесплатные ресурсы для изучения алгоритмов, личные истории о прохождении собеседований и построении карьеры в IT, анонсы бесплатных вебинаров и мастер-классов.
Подписаться

Вопросы-ответы

Чтобы успешно пройти курс, вам важно:
-- уметь программировать на любом языке программирования
-- уметь читать C++ и Python (большинство примеров в курсе сделаны на этих языках)
-- помнить школьную математику, в особенности арифметическую и геометрическую прогрессии, а также свойства логарифмов
ИП Шишков И.И ОГРНИП 321774600101110 ИНН 575206903941