-
- Цель этого проекта - объяснить, как работают алгоритмы. Основное внимание уделяется четкости и удобочитаемости кода.
-
Порешать задачки можно тут | Leetcode
- Обязательно набить руку на
easy. - Желательно попробовать
medium- комбинация простых алгоритмов/структур данных. Hard- необязательно, самые хардовые алгоритмы.
- Обязательно набить руку на
-
Алгосики для самых маленьких | Youtube
- Простым и понятным языком, автор канала погружает в мир алгоритмов.
-
- Эта книга написана для тех, кому нужен быстрый старт в основы алгоритмизации и программирования. Данная книга подойдёт как для тех, кто только начинает программировать, так и для тех, кто уже является опытным разработчиком, так как материал в книге всегда является актуальным и востребованным.
-
- Данный труд удачно совмещает в себе описание разнообразных алгоритмов и отличное качество изложения, делающее книгу доступной для читателей разного уровня подготовки. Все алгоритмы описаны простым языком и сопровождены примерами псевдокода.
-
Открытое алгоритмическое собеседование | Youtube
- Краткий конспект по видео:
- Кандидату нужно:
- Уметь оценивать решение / код по затратам на время и память (асимптотитка).
- Уметь использовать базовые техники программирования:
- Рекурсия,
- Базовые структуры данных (динамический массив, список, стэк, ассоциативный массив)
- Редко, но бывают: графы, динамическое программирование, деревья поиска.
- Проверяется:
- Умение кандидата уточнить задачу при её постановке.
- Умение кандидата грамотно прояснить решение задачки.
- Умение составлять тест-кейсы на написанный им же код к задачке.
- Умение написать правильный код (без синтаксических ошибок).
- Умение проверить свой код осмысленным прочтением вслух (с комментариями).
- Умение исправить баг, а также проанализировать код на наличие скрытых брешей, которые могут проявиться в будущем и потребуют дописывания «костылей» программистом: например, дополнительных if-конструкций на обработку таких промахов, что, по сути своей, будет являться следствием недостаточного анализа предварительного решения при написании кода изначально.
- Кандидату нужно:
- Дополнительно:
- Необходимо помнить про сложности, связанные с операциями со структурами данных, ассоциативным массивом, ассоциативным массивом на хэш-таблице, ассоциативным массивом на дереве поиска, операциями на линейных структурах данных, сортировку.
- Перед непосредственным написанием кода кандидат должен озвучить вариант своего решения (своей идеи) интервьюеру!
- Краткий конспект по видео:
-
[Тренировка алгоритмов от Яндекса, 8 лекций с домашними заданиями и 4 разбора заданий.]