Какие книги по алгоритмам ты читал
Что проверяют
Есть ли у вас фундамент и привычка учиться самостоятельно, а не сама библиография. Названную книгу интервьюер почти всегда проверяет следующим вопросом: что из неё запомнилось, какую главу разбирали, пригодилось ли на практике.
Как отвечать
Назовите от одной до трёх книг, которые действительно читали, и к каждой одну конкретную мысль или приём. Список без выводов звучит как выученный. Для Java-разработчика уместны:
- Седжвик и Уэйн, «Алгоритмы на Java»: примеры сразу на Java, хорошо разобраны сортировки, кучи, хэш-таблицы и графы;
- Бхаргава, «Грокаем алгоритмы»: лёгкий вход с картинками, честно называйте её вводной;
- Кормен, Лейзерсон, Ривест, Штайн, «Алгоритмы: построение и анализ»: фундаментальный учебник с доказательствами. Обычно его читают частями, так и скажите;
- Скиена, «Алгоритмы. Руководство по разработке»: как узнать в задаче известный класс и подобрать решение;
- Макдауэлл, «Карьера программиста»: сборник задач для подготовки к собеседованиям.
Сильный ход: связать прочитанное со стандартной библиотекой Java. Arrays.sort для примитивов использует Dual-Pivot Quicksort, а для объектов стабильный TimSort. HashMap превращает переполненную корзину в красно-чёрное дерево, когда в ней больше 8 элементов и таблица уже не меньше 64. PriorityQueue это двоичная куча. Такие связки показывают, что книга легла на реальную работу.
Если книг не читали, так и скажите и назовите, откуда знания: курс, задачи на LeetCode, чтение исходников JDK. Добавьте, какую тему разобрали глубже всего, и будьте готовы её объяснить у доски. Это звучит сильнее, чем пересказ аннотации к Кормену.
Где спотыкаются
Называют Кормена или Кнута, открыв их пару раз. Второй вопрос про конкретную главу обнуляет весь ответ.
Перечисляют названия без единой мысли из книги. Интервьюер не может отличить прочитанное от списка из поиска.
Говорят, что алгоритмы в работе не нужны. Даже если вы в основном пишете CRUD, выбор между ArrayList и LinkedList или стоимость contains у List и у Set это ровно та самая теория.