Чему вы научитесь
- Разберётесь с основными алгоритмическими приёмами, использующимися для решения большинства вычислительных задач. Мы подробно разберём такие техники, как жадные алгоритмы, метод "разделяй и властвуй" и динамическое программирование.
- Научитесь оценивать время работы алгоритмов. Мы наглядно продемонстрируем, как оценить, с какой скоростью растёт время работы алгоритма, и как понять, сколько будет работать алгоритм на больших данных, даже не запуская его.
- Потренируетесь писать эффективный и надёжный код на вашем любимом языке программирования: C++, Java, Python, C, C#, Go, Haskell, Javascript, Kotlin, Ruby, Rust, Scala, или TypeScript.
- Будете применять эффективные техники тестирования и отладки кода. Ваши решения будут проверяться на десятках тщательно подобранных тестов.
- Потренируетесь решать алгоритмические задачи с собеседований. Мы подобрали задачи так, чтобы они покрывали самые распространённые техники, использующиеся для решения задач с собеседований.
- Попрактикуетесь читать и писать по-английски — этот навык для программиста не менее важен, чем умение программировать. Все материалы курса приводятся на английском, вопросы на форуме можно задавать как по-английски, так и по-русски.
О курсе
Подготовьтесь к техническому интервью, решая задачи на программирование и алгоритмические головоломки!
Отличительные особенности курса:
- Тренируйтесь писать эффективный и надёжный код, решая алгоритмические задачи на любом языке программирования. Мы поможем вам в этом: для каждой задачи мы приводим серию подсказок, подробное решение и код на Python. Вы сможете сравнить ваше решение с нашим, а также с решениями других участников курса.
- Тренируйтесь решать алгоритмические задачи, подобные тем, которые вам встретятся в будущем на собеседовании. К каждой такой задаче мы приводим серию подсказок, подобных подсказкам, которые обычно дают на собеседованиях.
- Наши интерактивные головоломки помогут вам самостоятельно дойти до многих важных алгоритмических идей.
- Решив 75% задач курса, вы получите сертификат от Степика. Решив все задачи и сдав экзамен (состоящий из трёх задач на программирование), вы получите персональное рекомендательное письмо от авторов.
На сайте курса мы рассказываем подробнее об интерактивном подходе, использующемся в этой книге.
Сравнение с другими ресурсами для подготовки к собеседованиям
Для кого этот курс
Пройдите этот курс, чтобы подготовиться к алгоритмической секции собеседования или просто хорошо разобраться в алгоритмах.
Начальные требования
Базовое знание хотя бы одного языка программирования. Для всех задач мы приводим решение на языке Python.
Наши преподаватели
Как проходит обучение
Мы тщательно отобрали задачи для этого курса, чтобы помочь вам разобраться с основными алгоритмическими идеями — в частности, теми, которые используются в большинстве задач на алгоритмических секциях собеседований. Чтобы вы не просто запомнили, как решаются такие задачи, а именно научились их решать, мы также подготовили набор интерактивных алгоритмических головоломок, которые помогут вам самостоятельно дойти до важных идей.
Программа курса
Сертификат
Что вы получаете
- 30 задач на программирование, которые можно сдавать на любом языке программирования. К каждой задаче мы приводим подробное решение и код на Python.
- 30 алгоритмических задач с собеседований. К каждой задаче мы приводим серию наводящих вопросов, которые постепенно приводят к решению.
- Возможность общаться с авторами книги на форуме. Мы отвечаем на все вопросы в течение суток.
- Возможность сравнить своё решение с решениями других слушателей курса. Это позволит вам учиться друг у друга и увидеть, как ту же задачу можно было решить короче или на другом языке программирования.
- Сертификат и персональное рекомендательное письмо от авторов.