Мы используем cookie для стабильной работы сервиса. Подробнее

Алгоритмы: раз и навсегда

ФорматОнлайн
ДлительностьКурс рассчитан на два месяца
Объём22 занятий
О курсе

Подробнее

Я создал этот курс, чтобы помочь опытным программистам подготовиться к прохождению алгоритмических собеседований в крупные компании. За время работы в Яндексе я провёл более 250 таких интервью. Я часто видел, как люди с богатым опытом разработки проваливали собеседование из-за отсутствия практики решения алгоритмических задач. Мой курс поможет таким специалистам подготовиться и получить работу в желаемой компании. Это выгодно обеим сторонам: компания получит мотивированного сотрудника, а сотрудник — интересную работу. Цель курса — дать вам все необходимые навыки для успешного прохождения алгоритмических собеседований в крупные IT-компаниях (Google, Яндекс, Amazon, Apple, Netflix и др.). Курс не просто даёт теорию; он помогает обрести навык быстрого и эффективного решения задач по программированию. Что вы получите: Практический опыт: 100 тщательно отобранных задач, которые вы будете решать самостоятельно, сразу применяя теорию на практике и получая быстрый фидбек благодаря автоматической проверке ваших решений 24/7 Понимание "паттернов решения": Научитесь распознавать классы задач и применять соответствующие методы решения. Навык решения задач в ограниченное время: Отработаете умение быстро находить решения, что особенно важно на собеседованиях. Уверенность на интервью: Избавитесь от чувства шока и трепета перед очередным собеседованием, будете чувствовать себя уверенно. Систематизация знаний: Упорядочите и расширите свои знания алгоритмов и структур данных, чтобы поддерживать высокий профессиональный уровень. Структура курса: асимптотические оценки алгоритмы поиска (линейный поиск, двоичный поиск, метод двух указателей) базовые структуры данных (стек, очередь, связные списки) алгоритмы сортировки (слияниями, "быстрая") двоичная куча графы (поиск в глубину и ширину) двоичные деревья поиска (устройство, inorder, preorder, postorder обходы) хеш-таблицы (асимптотики операций, внутреннее устройство) Задания и требования: Практические задачи: В каждом разделе вы получите набор задач для самостоятельного решения, всего 100 задач различной сложности. Какие это задачи: результат решения задачи — это программа, которую вы отправляете в систему с автоматической проверкой. Вы можете делать любое количество попыток, итеративно продвигаясь к решению задачи. Теоретические видеолекции: Краткие и содержательные материалы, объясняющие необходимую теорию простым и понятным языком. Требования для участия: Уровень программирования не ниже Middle на любом языке. Готовность активно работать и совершенствовать свои навыки. Почему этот курс для вас: Многие из наших учащихся отмечают, что теория сразу подкрепляется практикой, что помогает лучше усваивать материал. Вы научитесь решать задачи "за отведенное время", что критически важно на реальных собеседованиях. Курс поможет вам не только систематизировать знания, но и чувствовать себя уверенно при решении любых алгоритмических задач. Автор курса: Курс разработан Ильёй Шишковым — опытным программистом с 11-летним стажем работы в Яндексе. Илья участвовал в международных олимпиадах ICPC, TopCoder, Codeforces и обладает глубокими знаниями в области алгоритмов и структур данных. Присоединяйтесь к нам и сделайте решающий шаг к достижению своей цели — успешному прохождению собеседования в компанию мечты!
Требования

Что нужно для старта

  • Уметь программировать на одном из языков программирования C++, Go, Java, Python
  • Неважно, какой язык для вас является основным, знакомство с С++ сильно упростит для вас прохождение курса
Результат

Что вы получите

  • Уметь находить достаточно быстрое решение для любой задачи с алгоритмического собеседования
  • Распознавать и применять паттерны решения алгоритмических задач (например, два указателя)
  • Уметь реализовывать его на своём языке программирования
  • Уметь оценивать асимптотическую сложность алгоритмов
  • Понимать, что означают оценки «о большое»
  • Уметь реализовывать линейный и двоичный поиск на своём языке программирования
  • Применять алгоритм поиска, наиболее подходящий под решаемую задачу
  • Уметь реализовывать стек, очередь, дек, одно- и двусвязный список на своём языке программирования
  • Понимать внутреннее устройство этих структур данных
  • Применять наиболее подходящую структуру данных для решаемой задачи
  • Уметь комбинировать базовые структуру данных для решаемой задачи
  • Понимать, как работают быстрая сортировка и сортировка слияниями
  • Уметь реализовывать эти сортировки на своём языке программирования
  • Применять наиболее подходящий алгоритм сортировки для решаемой задачи
  • Уметь реализовывать графовые алгоритмы: поиски в ширину и глубину, in-order, pre-order и post-order обходы деревьев.
  • Понимать внутреннее устройство хеш-таблицы и асимптотики работы её операций
  • Уметь реализовывать хеш-таблицу на своём языке программирования
Аудитория

Для кого этот курс

  • 1. Программисты, которые уже заваливали алгоритмическое собеседование в крупной IT-компании и хотят наконец разобраться в теме, чтобы в будущем успешно пройти интервью в Google, Яндекс, Amazon, и другие ведущие компании.
  • 2. Те, кто работает программистами, но всегда считал алгоритмы своей слабой стороной и хочет устранить этот пробел. Если вам интересно разобраться в алгоритмах и повысить свою уверенность — этот курс для вас.
  • 3. Программисты, выходящие на международный рынок труда, которые хотят подготовиться к своему первому собеседованию в крупной зарубежной IT-компании. Курс поможет вам овладеть необходимыми алгоритмическими навыками и чувствовать себя уверенно на интервью.
  • 4. Люди, которые работают в IT-сфере в какой-то роли (менеджер, системный администратор, тестировщик) и хотят перейти в разработку
Содержание

Программа курса

22 занятия
ТемаЧто внутри
01Знакомство и введение

- Приветствие
- Что вас ждёт на курсе
- Познакомьтесь с создателями курса
- Расскажите нам о себе

02Асимптотические оценки алгоритмов

- Введение в асимптотики
- Время работы в лучшем и худшем случае
- Асимптотическое обозначение «О большое»
- Стандартные асимптотики времени работы алгоритмов
- Сложение и умножение асимптотик
- Примеры оценки времени работы алгоритма
- Итоги модуля "Асимптотические оценки алгоритмов"
- Контрольные задания на тему "Асимптотические оценки алгоритмов"

03Разбор задач на асимптотические оценки алгоритмов

- Разбор задач на асимптотические оценки алгоритмов

04Алгоритмы поиска

- Линейный поиск
- Введение в двоичный поиск
- Реализация алгоритма двоичного поиска
- Готовые реализации двоичного поиска в языках программирования
- «Двоичный поиск по ответу»
- Итоги модуля "Алгоритмы поиска"
- Контрольные задачи на тему "Алгоритмы поиска"

05Разбор задач про алгоритмы поиска

- Разбор задач про алгоритмы поиска

06Метод двух указателей

- Вступайте в чат участников курса
- Введение в метод двух указателей
- Задача о поиске отрезка с заданной суммой
- Задача о двух отсортированных массивах
- Задача LongPressedName
- Итоги модуля "Метод двух указателей"
- Контрольные задачи на тему "Метод двух указателей"

07Разбор задач на метод двух указателей

- Разбор задач на метод двух указателей

08Элементарные структуры данных

- Односвязный список
- Задачи на односвязный список
- Стек
- Двусвязный список
- Очередь
- Амортизированная сложность
- Дек
- Контрольные задачи на элементарные структуры данных

09Разбор задач на элементарные структуры данных

- Разбор задач на элементарные структуры данных

10Сортировки

- Введение в задачу сортировки
- Сортировка слияниями
- Алгоритм быстрой сортировки
- Задача нахождения K-й порядковой статистики
- Алгоритмы сортировки за линейное время
- Контрольные задачи

11Разбор задач на тему "Сортировки"

- Разбор задач

12Куча

- Знакомство с преподавателем
- Основные понятия
- Простая двоичная куча
- Упражнения на простую двоичную кучу
- Асимптотики, построение, сортировки
- Задача на порядковые статистики
- Многопутевое слияние
- Контрольные задачи

13Разбор задач на тему «Куча»

- Разбор задач

14Алгоритмы на графах

- Введение в теорию графов. Способы хранения графов
- Поиск в глубину
- Поиск в ширину
- Поиск циклов и топологическая сортировка
- Обзор более сложных алгоритмов на графах
- Контрольные задачи

15Разбор задач на алгоритмы на графах

- Разбор задач

16Двоичные деревья поиска

- Основное свойство двоичного дерева поиска
- Поиск и вставка в двоичное дерево поиска
- Удаление из двоичного дерева поиска
- Обходы двоичных деревьев поиска
- Глубина двоичного дерева поиска и сбалансированные деревья
- Контрольные задачи

17Разбор задач на двоичные деревья поиска

- Разбор задач

18Хеш-таблицы

- Идея индексации по данным
- Задача хеширования
- Выбор хеш-функции
- Разрешение коллизий
- Рехеширование
- Контрольные задачи

19Разбор задач на хеш-таблицы

- Разбор задач

20Как проходить coding interview

- Алгоритм решения задач на coding interview
- Тактика поведения на алгосекции

21Финальные задачи

- Задачи

22Разбор финальных задач

- Разбор задач

01Знакомство и введение

- Приветствие
- Что вас ждёт на курсе
- Познакомьтесь с создателями курса
- Расскажите нам о себе

02Асимптотические оценки алгоритмов

- Введение в асимптотики
- Время работы в лучшем и худшем случае
- Асимптотическое обозначение «О большое»
- Стандартные асимптотики времени работы алгоритмов
- Сложение и умножение асимптотик
- Примеры оценки времени работы алгоритма
- Итоги модуля "Асимптотические оценки алгоритмов"
- Контрольные задания на тему "Асимптотические оценки алгоритмов"

03Разбор задач на асимптотические оценки алгоритмов

- Разбор задач на асимптотические оценки алгоритмов

04Алгоритмы поиска

- Линейный поиск
- Введение в двоичный поиск
- Реализация алгоритма двоичного поиска
- Готовые реализации двоичного поиска в языках программирования
- «Двоичный поиск по ответу»
- Итоги модуля "Алгоритмы поиска"
- Контрольные задачи на тему "Алгоритмы поиска"

05Разбор задач про алгоритмы поиска

- Разбор задач про алгоритмы поиска

06Метод двух указателей

- Вступайте в чат участников курса
- Введение в метод двух указателей
- Задача о поиске отрезка с заданной суммой
- Задача о двух отсортированных массивах
- Задача LongPressedName
- Итоги модуля "Метод двух указателей"
- Контрольные задачи на тему "Метод двух указателей"

07Разбор задач на метод двух указателей

- Разбор задач на метод двух указателей

08Элементарные структуры данных

- Односвязный список
- Задачи на односвязный список
- Стек
- Двусвязный список
- Очередь
- Амортизированная сложность
- Дек
- Контрольные задачи на элементарные структуры данных

09Разбор задач на элементарные структуры данных

- Разбор задач на элементарные структуры данных

10Сортировки

- Введение в задачу сортировки
- Сортировка слияниями
- Алгоритм быстрой сортировки
- Задача нахождения K-й порядковой статистики
- Алгоритмы сортировки за линейное время
- Контрольные задачи

11Разбор задач на тему "Сортировки"

- Разбор задач

12Куча

- Знакомство с преподавателем
- Основные понятия
- Простая двоичная куча
- Упражнения на простую двоичную кучу
- Асимптотики, построение, сортировки
- Задача на порядковые статистики
- Многопутевое слияние
- Контрольные задачи

13Разбор задач на тему «Куча»

- Разбор задач

14Алгоритмы на графах

- Введение в теорию графов. Способы хранения графов
- Поиск в глубину
- Поиск в ширину
- Поиск циклов и топологическая сортировка
- Обзор более сложных алгоритмов на графах
- Контрольные задачи

15Разбор задач на алгоритмы на графах

- Разбор задач

16Двоичные деревья поиска

- Основное свойство двоичного дерева поиска
- Поиск и вставка в двоичное дерево поиска
- Удаление из двоичного дерева поиска
- Обходы двоичных деревьев поиска
- Глубина двоичного дерева поиска и сбалансированные деревья
- Контрольные задачи

17Разбор задач на двоичные деревья поиска

- Разбор задач

18Хеш-таблицы

- Идея индексации по данным
- Задача хеширования
- Выбор хеш-функции
- Разрешение коллизий
- Рехеширование
- Контрольные задачи

19Разбор задач на хеш-таблицы

- Разбор задач

20Как проходить coding interview

- Алгоритм решения задач на coding interview
- Тактика поведения на алгосекции

21Финальные задачи

- Задачи

22Разбор финальных задач

- Разбор задач

Организатор

Автор курса

StepikStepik
Stepik — образовательная платформа и конструктор онлайн-курсов. Мы разрабатываем алгоритмы адаптивного обучения, сотрудничаем с авторами MOOC, помогаем в проведении олимпиад и программ переподготовки. Наша цель — сделать образование открытым и удобным. Stepik — широко известная российская образовательная платформа, основанная в 2013 году. На Stepik зарегистрировано более миллиона пользователей из России и стран СНГ. В настоящее время на Stepik представлены несколько тысяч учебных курсов на самые разные темы.
Подробнее об авторе
Мнения учеников

Отзывы о курсе

Оставьте отзыв

Расскажите о качестве обучения, поддержке и результате. Это поможет другим выбрать организацию осознанно.

Напишите ваш коментарий, не менее 30 символов

Нажимая кнопку, вы даете согласие на обработку персональных данных

Оставьте заявку

Консультант ответит на вопросы о курсе «Алгоритмы: раз и навсегда» и поможет разобраться в деталях обучения.

Комментарий ...

Нажимая кнопку, вы даете согласие на обработку персональных данных

Информация обновлена 7 сентября 2026 г.

Продолжить выбор

Похожие курсы

Bioinformatics Algorithms @UNBC
Bioinformatics Algorithms @UNBC

How do we sequence and compare genomes? How do we identify the genetic basis for disease? How do we construct an evolutionary Tree of Life for all species on Earth? When you compl…

Онлайн11 занятий
70 ₽
Основы C#
Основы C#

Курс несомненно подойдёт начинающим разработчикам, который хотят освоить современный и востребованный язык программирования. Курс мы начнём с изучения основ - встроенных в язык ти…

Онлайн10 занятий
3 999 ₽
Профессиональная переподготовка «Инженер-программист станков ЧПУ»
−8%256 часов
Профессиональная переподготовка «Инженер-программист станков ЧПУ»

▶️ Профессиональная переподготовка «Инженер-программист станков ЧПУ» с выдачей диплома. Дистанционное (онлайн) обучение в учебном центре «НЦПО». 🔥Обучение в рассрочку от 1320 руб.…

Онлайн3 занятий
Домашние заданияИнтерактивные тренажёры+3
17 250 ₽−8%
15 850 ₽от 1 320 ₽/мес на 12 мес.
AI-first разработка на Python
1 месяц
AI-first разработка на Python

Соберете и настроите свою профессиональную среду для разработки с агентами: от написания кода до ревью, автотестов и проверки безопасности.

Онлайн12 занятий
Домашние заданияИнтерактивные тренажёры+3
12 000 ₽от 704 ₽/мес на 24 мес.
Начать без затрат

Бесплатные курсы

Python для решения практических задач
Бесплатно
Python для решения практических задач

Научились решать простые задачи на питоне, но не можете понять, как сделать что-то полезное? Наш курс научит вас правильно гуглить! На примерах задач сбора данных (Data Scraping)…

Онлайн5 занятий
Бесплатно
Claude Code с нуля до реальных задач
Бесплатно1 месяц
Claude Code с нуля до реальных задач

Вы разовьёте аналитическое мышление, научитесь искать уязвимости и обеспечивать безопасность IT-систем. Освоите востребованную профессию даже с нулевым опытом в IT. Программа курс…

Онлайн
Бесплатноот 11 647 ₽/мес
Markdown синтаксис
Бесплатно2 часа
Markdown синтаксис

Этот курс предназначен для всех, кто работает с текстом в digital-среде. Вы освоите Markdown — универсальный язык разметки, который используют в GitHub, документации, блогах и соо…

Онлайн3 занятий
Бесплатно