Live coding на Java: задача динамического программирования
Кандидат решает задачу на минимальный путь в таблице: формулирует состояние DP, обрабатывает границы и пишет Java-код. При проверке решение получает Accept, после чего его отправляют на полный набор тестов.
- Опубликовано на YouTube:
- Просмотры на YouTube: 2 тыс.
- Лайки на YouTube: 40
Таймлайн
Коротко о видео
Это практическая часть мок-собеседования Java-разработчика в формате live coding. Интервьюер даёт задачу на динамическое программирование и предлагает решать её в общей среде. Кандидат сначала разбирает допустимые переходы между ячейками и приходит к идее хранить для каждой ячейки минимальную сумму пути, который в ней заканчивается. Затем он пишет код, перебирая строки и столбцы, и с помощью вопросов интервьюера проверяет граничные условия: первую строку, первый столбец и риск выхода за пределы массива. Во время отладки кандидат замечает проблему с порядком сравнения и форматированием. В конце они запускают решение, получают успешный результат и отправляют его на все тестовые случаи. Между фрагментами присутствует рекламная подводка.
Затронутые темы
Что взять на заметку
- В DP сначала формулируют состояние для каждой ячейки и переходы к нему.
- Для задач по таблице нужно отдельно обработать границы массива.
- На live coding полезно проговаривать инвариант и проверять решение на маленьком примере.
- После локального запуска нужно отправить решение на полный набор тестов.