Решаете ли вы алгоритмические задачи самостоятельно
Что проверяют
Вопрос кажется про алгоритмы, а на деле он про честность и про способ учиться. Нанимающему важно понять, готовились ли вы к этому собеседованию, разбираете ли задачи сами или ищете готовое решение, и умеете ли признавать, чего пока не умеете.
Как отвечать
Коротко и по факту: да, регулярно, или нет, редко, и вот как это выглядит. Обтекаемых формулировок тут не любят, потому что следом вам, скорее всего, дадут задачу и всё станет видно.
Полезно показать, что для фронтенда алгоритмы это не отдельное хобби, а часть повседневной работы, и привести примеры из своей практики: обход дерева при работе с DOM или с ветками комментариев, дебаунс и троттлинг в обработчиках, виртуализация длинного списка вместо тысяч узлов в разметке, мемоизация тяжёлого вычисления, индексирование данных в словарь вместо поиска перебором на каждый рендер.
Если вы действительно решаете задачи, скажите как: какого рода задачи берёте, разбираете ли чужие решения после своего, ведёте ли конспект приёмов. Если не решаете, так и скажите и добавьте, чем это компенсируете: разбором реальных проблем производительности, чтением исходников библиотек, ревью чужого кода. Честный ответ с планом звучит намного сильнее натянутой истории успеха.
Где спотыкаются
Отвечают заученным рассказом по схеме «ситуация, задача, действие, результат» с готовой цифрой вроде ускорения на треть. На вопрос, где ждут ответа в одно предложение, это выглядит как домашняя заготовка, и доверие к остальным ответам падает.
Второе: заявляют высокий уровень подготовки, а потом не могут оценить сложность собственного решения. Уровень проверяется тут же, поэтому обещать стоит ровно то, что готов подтвердить у доски.
Третье: обесценивают вопрос фразой, что во фронтенде алгоритмы не нужны. Это звучит как защита, и разговор немедленно уходит в проверку: спросят про стоимость фильтрации внутри рендера или про то, почему подтормаживает длинный список, и отвечать придётся.