Писал ли сервисы, утилиты, скрипты, плагины на Node.js
Что проверяют
Выходите ли вы за пределы браузера. Для фронтендера Node это признак самостоятельности: человек чинит собственный конвейер сборки, делает инструменты команде и не ждёт соседнюю команду ради каждой мелочи. Проверяют не факт, а способность рассказать один пример до деталей.
Как отвечать
Назовите конкретные вещи и зачем они появились. Типичный набор:
- кодогенерация клиента и типов из схемы API, чтобы фронтенд не расходился с бэкендом при каждом изменении контракта;
- прослойка на сервере: склейка нескольких вызовов в один, скрытие ключей, кеш ответов;
- серверный рендеринг и его настройка под конкретный проект;
- правило для линтера или плагин к сборщику, закрывающий ошибку, которая повторялась в код-ревью;
- утилита командной строки, создающая заготовку компонента или фичи по шаблону проекта;
- разовые скрипты обслуживания: перенос иконок, оптимизация картинок, отчёт о размере бандла.
Дальше стоит показать серверные знания: цикл событий один, поэтому тяжёлое синхронное вычисление останавливает обслуживание всех запросов и его выносят в рабочие потоки; большой файл читается потоком, а не целиком в память; у исходящих запросов должны быть таймауты; при запуске сторонних программ безопаснее передавать аргументы списком, а не собирать строку для оболочки.
Где спотыкаются
Отвечают списком без единой детали: писал сервисы, утилиты, плагины. Первый уточняющий вопрос о том, как именно работает ваш плагин и куда он встраивается, обнуляет весь ответ. Один разобранный пример сильнее пяти названий.
Второе: переносят браузерные привычки на сервер. Необработанный отклонённый промис, разбор гигантского файла целиком, отсутствие таймаутов. В браузере это одна вкладка пользователя, здесь это весь процесс и все его клиенты.
Третье: называют достижения вместо задачи. Фраза про ускорение сборки вдвое без ответа на вопрос, что было узким местом и как вы это измерили, звучит как заученная строчка из резюме.