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

Собеседование senior backend-разработчика / Node.js | Хекслет

Длинное учебное интервью о проектировании backend-систем и инженерных компромиссах. Основные темы — шина сообщений в финтехе, Node.js-стек, тестирование, инфраструктура, производительность и культура разработки.

Источник: Hexlet

Открыть на YouTube

Таймлайн

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

Это учебное публичное собеседование с Романом Гафуровым о его опыте senior backend-разработчика. Кандидат описывает инфраструктурную платформу анонимного финтех-проекта: собственную шину сообщений, конфигурацию через Consul, микросервисы, SSR-админку, тестирование и CI/CD в Kubernetes. Во второй половине собеседующие подробно спорят о Node.js, Express, ORM, React, Go, Ruby, тестах, производительности, стоимости разработки и инженерной культуре.

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

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

  • Кандидат описывает собственную шину сообщений как альтернативу прежнему готовому решению, которое, по его словам, не выдерживало нужную нагрузку; выбор оправдывается скоростью доставки и требованиями безопасности финтех-системы.
  • Внутренние сервисы проекта общаются через шину, а доступ к чувствительным данным и операциям ограничивается правилами взаимодействия сервисов.
  • Для доставки сообщений обсуждаются подтверждения на стороне потребителя, повторная выборка пропущенных сообщений и необходимость проектировать обработчики с учётом повторов и сбоев.
  • Настройки шины хранятся в Consul KV; отдельный сервис агрегирует изменения, а агенты на узлах получают обновления. Отставшие узлы выявляют по метрикам и восстанавливают вручную или повторным чтением конфигурации.
  • Админка разделена на backend и frontend-сервисы; для первоначальной полной загрузки данных используется server-side rendering. В разговоре упоминаются Redis, Consul, React, Express, Caddy, Docker и Kubernetes.
  • Тесты в описанной команде включают unit-тесты разработчиков и внешние функциональные проверки в поднятом окружении; для параллельных тестов генерируют непересекающиеся данные.
  • По словам кандидата, при расследовании утечки памяти в Node.js он исправил использование устаревшей библиотеки рендеринга графиков и снизил потребление памяти примерно с 1 ГБ до 100 МБ.

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

1 ч 18 мин
BackendSenior

Валентин Удальцов, Виталий Лихачев: Публичное собеседование Senior Software Engineer (PHP)

Публичное учебное интервью по PHP для уровня Senior Software Engineer. В нём разбирают современные практики разработки, архитектуру, конкурентный доступ к данным, PostgreSQL, Redis, очереди и transactional outbox.

1 ч 56 мин
BackendJunior

Сильный джун или почти миддл? / Техсобес студента-программиста на позицию Junior Python Dev.

Разбор мок-собеседования студента на позицию Junior Python Developer: проекты, Python Core, конкурентность, ООП, SQL/ORM, базы данных и микросервисная архитектура. В конце — обратная связь и рекомендации по подготовке к реальным интервью.