Вернуться в видеотеку

Моковое собеседование по алгоритмам | Вадим Мишанин, Motional

Моковое C++-собеседование по алгоритмам с тремя задачами и последующим разбором решений. Ментор обсуждает сложность алгоритмов, крайние случаи и стиль C++-кода.

Источник: Solvery

Открыть на YouTube

Таймлайн

Коротко о видео

Запись показывает моковое собеседование по алгоритмам на C++ для Junior-позиции: кандидат Миша вслух решает три задачи, а ментор Вадим направляет вопросами. Обсуждаются подсчёт символов из заданного набора, удаление пересекающихся интервалов и проверка взаимно-однозначного соответствия паттерна словам. В конце интервьюер разбирает решения, отмечает удачные уточнения требований и даёт рекомендации по C++-коду.

Затронутые темы

Что взять на заметку

  • Перед реализацией уточняйте входные ограничения: регистр символов, типы границ интервалов и считается ли касание концов пересечением.
  • Для подсчёта символов из строки letters в тексте подходит std::unordered_set<char> с одним проходом по тексту; интервьюер также упоминает фиксированную таблицу на 256 значений как возможную оптимизацию для байтовых символов.
  • В задаче про интервалы полезно начать с сортировки и линейного прохода, но отдельно проверить пустой и единичный массивы, одинаковые интервалы, вложенность и цепочки пересечений.
  • Для паттерна вида «abba» и последовательности слов недостаточно отображения символ → слово: нужен также set уже использованных слов, чтобы обеспечить взаимно-однозначное соответствие.
  • В разборе кода предложено использовать подходящий беззнаковый тип для индексов контейнера и const-ссылки там, где объект не изменяется.
  • Сам кандидат отмечает, что решать задачу вслух под временем ощутимо сложнее, чем ставить запись на паузу; мок-интервью позволяет выявить такие пробелы до реального интервью.

Рекомендуем посмотреть