Техническое интервью по Node.js с широким охватом backend-разработки: от runtime JavaScript и алгоритмов до REST, баз данных, инфраструктуры и наблюдаемости. Компания собеседования в источнике не названа.
Запись представляет собой техническое собеседование на Node.js-позицию с заявленной вилкой 260
000 рублей. Кандидата спрашивают о Node.js, V8 и libuv, event loop, алгоритмах и структурах данных, микросервисах, базах данных, JavaScript, сетях, REST и Node.js-фреймворках. В конце обсуждаются тестирование, code review, Docker, Kubernetes и мониторинг через Prometheus и Grafana; автор утверждает, что собеседование было успешным и после него прислали оффер.
Для подготовки к Node.js нужно уметь объяснить роль V8 и libuv, однопоточную модель исполнения и приоритеты очередей nextTick/microtasks в event loop.
На алгоритмической части затрагиваются Big O, массивы, стек и очередь, связные списки, деревья, графы и асимптотика доступа к хеш-таблице, массиву и односвязному списку.
В микросервисах отдельно проверяют транзакционные компромиссы: Saga может ослаблять изоляцию, а two-phase commit требует координатора и создаёт узкое место.
Выбор СУБД обсуждается через форму, важность и характер данных: PostgreSQL — для важных структурированных данных, MongoDB — для гибких/неструктурированных, ClickHouse — для быстрых аналитических сценариев; интервьюер уточняет, что MongoDB в современных версиях поддерживает транзакции.
Нужно различать достижимость объектов для garbage collector и циклические ссылки: недостижимый из глобального контекста самоссылочный объект может быть собран.
Сетевая часть включает уровни OSI, HTTP как прикладной протокол, отличие TCP от UDP, состав HTTP-запроса и практическое различие PUT и PATCH.
Для практической части полезно знать middleware-подход Express, особенности Koa/Fastify/NestJS, схемную валидацию, интеграционные тесты, критерии code review, Docker/Kubernetes и связку Prometheus + Grafana.