Прохожу собеседование на FRONTEND Разработчика в Яндекс. Как решать задачи правильно?
Показательный разбор мок-интервью на frontend-разработчика: палиндром и асинхронный поиск маршрута в графе. Участники обсуждают алгоритмическую сложность, стиль коммуникации кандидата, подсказки и отладку.
Ulbi TV
Открыть на YouTube- Опубликовано на YouTube:
- Просмотры на YouTube: 214,5 тыс.
- Лайки на YouTube: 5,1 тыс.
Таймлайн
Коротко о видео
Это художественное мок-интервью на frontend-разработчика с участием интервьюеров Яндекса, а не запись текущего реального найма. На первой задаче разбирают проверку палиндрома с игнорированием регистра и небуквенных символов, а на второй — поиск маршрута в асинхронном графе через очередь и Promises. Интервьюеры объясняют, как уточнять условия, озвучивать ход мысли, получать и использовать подсказки, вручную отлаживать код и оценивать сложность решения по времени и памяти.
Затронутые темы
Что взять на заметку
- Перед кодированием уточняйте входные условия: регистр, допустимые алфавиты, обработку пробелов, пунктуации и цифр, а также ограничение по памяти.
- Для палиндрома в оговорённой постановке подходит проход двумя указателями с пропуском небуквенных символов: он не требует создавать нормализованную копию строки.
- Сначала кратко проговорите варианты и выбранный алгоритм, затем пишите код; это позволяет интервьюеру вовремя скорректировать неверное направление.
- Не нужно комментировать каждую мелочь, но стоит озвучивать инварианты и важные решения — например, почему сравнение не учитывает регистр и когда завершится цикл.
- По словам интервьюеров, мелкую опечатку обычно предлагают найти самому; чем больше конкретных подсказок требуется для исправления ошибки, тем ниже может быть оценка за задачу.
- В задаче поиска пути не стоит хранить полный маршрут для каждой вершины: это даёт квадратичный расход памяти. Лучше хранить для вершины предшественника и восстановить маршрут после нахождения цели.
- В JavaScript учитывайте скрытую стоимость операций с массивом: `shift`, вставка в начало и многократное копирование через spread могут превратить линейный обход в квадратичный.
- Для подготовки полезно решать незнакомые задачи в условиях таймера или с наблюдателем, чтобы привыкнуть к стрессу формата, а не только к самим алгоритмам.