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

Прохожу собеседование на FRONTEND Разработчика в Яндекс. Как решать задачи правильно?

Показательный разбор мок-интервью на frontend-разработчика: палиндром и асинхронный поиск маршрута в графе. Участники обсуждают алгоритмическую сложность, стиль коммуникации кандидата, подсказки и отладку.

Источник: Ulbi TV

Открыть на YouTube

Таймлайн

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

Это художественное мок-интервью на frontend-разработчика с участием интервьюеров Яндекса, а не запись текущего реального найма. На первой задаче разбирают проверку палиндрома с игнорированием регистра и небуквенных символов, а на второй — поиск маршрута в асинхронном графе через очередь и Promises. Интервьюеры объясняют, как уточнять условия, озвучивать ход мысли, получать и использовать подсказки, вручную отлаживать код и оценивать сложность решения по времени и памяти.

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

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

  • Перед кодированием уточняйте входные условия: регистр, допустимые алфавиты, обработку пробелов, пунктуации и цифр, а также ограничение по памяти.
  • Для палиндрома в оговорённой постановке подходит проход двумя указателями с пропуском небуквенных символов: он не требует создавать нормализованную копию строки.
  • Сначала кратко проговорите варианты и выбранный алгоритм, затем пишите код; это позволяет интервьюеру вовремя скорректировать неверное направление.
  • Не нужно комментировать каждую мелочь, но стоит озвучивать инварианты и важные решения — например, почему сравнение не учитывает регистр и когда завершится цикл.
  • По словам интервьюеров, мелкую опечатку обычно предлагают найти самому; чем больше конкретных подсказок требуется для исправления ошибки, тем ниже может быть оценка за задачу.
  • В задаче поиска пути не стоит хранить полный маршрут для каждой вершины: это даёт квадратичный расход памяти. Лучше хранить для вершины предшественника и восстановить маршрут после нахождения цели.
  • В JavaScript учитывайте скрытую стоимость операций с массивом: `shift`, вставка в начало и многократное копирование через spread могут превратить линейный обход в квадратичный.
  • Для подготовки полезно решать незнакомые задачи в условиях таймера или с наблюдателем, чтобы привыкнуть к стрессу формата, а не только к самим алгоритмам.

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