Code Review of Assessment Task

Представим что тебе на Code Review принесли тестовое задание для одного из кандидатов на позицию Middle Software Engineer. Необходимо максимально подробно разобрать его и описать все минусы предложенного решения - несоответствие функциональным и не функциональным требованиям, общепринятым подходам и лучшим практикам. Субъективные "придирки" так же приветствуются, не бойся обидеть или задолбать кандидата по мелочам, за исключением каких-то стилистических вещей форматирования кода.

Оригинальное тестовое задание

Создать новый проект на NestJS (или чистом NodeJs), который отвечает следующим требованиям:

  1. Сервис должен принимать HTTP запрос с 2 мя числовыми параметрами: радиус основания цилиндра и высота цилиндра, в ответ отдавать расчет площади.
  2. Условимся что расчет площади цилиндра производится во внешнем сервисе, с которым мы взаимодействуем по NATS через pub/sub. Этот сервис так же необходимо реализовать в этом проекте, запускаться он должен независимо от основного сервиса.
  3. Добавить экспорт для Prometheus метрик по обработчику NATS: количество обработанных сообщений, времени обработки каждого сообщения и статусу каждого ответа. Если есть дополнительные метрики, которые на твой взгляд здесь будут полезны, то их так же добавь.
  4. Добавить возможность динамически изменять уровень логирования (debug / info). Обеспечить, чтобы изменение уровня логирования не приводило к перезагрузке сервиса, а также добавить обработку ошибок при изменении уровня логирования.
  5. Добавить health check для сервиса.