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

Собеседование на middle Node.js разработчика

Учебное мок-собеседование по Node.js для уровня middle. Вопросы охватывают рантайм Node.js, производительность, npm, NestJS, dependency injection, паттерны и ORM.

Источник: PurpleSchool | Anton Larichev

Открыть на YouTube

Таймлайн

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

Импровизированное мок-собеседование на позицию middle backend Node.js-разработчика: кандидат Михаил отвечает на вопросы, а интервьюер уточняет и корректирует ответы. Разбирают путь TypeScript-кода до выполнения в Node.js, V8, libuv, event loop, блокировку основного потока, worker threads и нативные bindings. Во второй части обсуждают package.json и lock-файлы, NestJS и dependency injection, паттерны, TypeORM, Prisma и декораторы.

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

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

  • TypeScript перед запуском в Node.js компилируется в JavaScript; JavaScript-код исполняет движок V8.
  • Долгая синхронная CPU-операция, например квадратичный перебор массива, блокирует основной поток и event loop; второй HTTP-запрос будет ждать завершения этой работы.
  • async/await сам по себе не переносит вычисления в отдельный поток: для CPU-bound задач нужны worker threads, отдельные процессы либо нативная реализация через bindings.
  • Таймер с задержкой 10 секунд сработает не раньше этого срока, но может сработать существенно позже, если event loop занят.
  • Для диагностики зависаний интервьюер предлагает подключить Chrome DevTools к Node.js-процессу и изучать стек вызовов и длительность функций.
  • Lock-файл следует коммитить, а в сборках использовать npm ci, чтобы ставить зафиксированное дерево зависимостей и не получить неожиданное ламающее обновление.
  • NestJS структурирует приложение через модули, контроллеры и сервисы; dependency injection может предоставлять классы, значения и фабрики с разными областями жизни экземпляров.
  • В обсуждении ORM кандидат считает Prisma более удобной для новых проектов, но отмечает сложности её миграций на существующей базе; это личный опыт участника, а не универсальный вывод.

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