logo-hibrain
news
2022-08-22

Задачи для backend-стажировки

2022-08-22T09:00:00.000Z

Задачи для backend-стажировки в компании Lad. Стэк: JavaScript, TS, Node.js, NATS и т.д.

3209

Задание 1. REST-сервис на Node.js

На Node.js написать REST-сервис со следующим функционалом:

Анализ текста на сайтах: сервис должен принимать на вход массив URL'ов, анализировать страницы по этим адресам, и возвращать PDF документ, в котором в таблице будут представлены три наиболее часто встречающихся слова длиннее 4 символов по каждому из URL'ов.

Примерно так:

http://yandex.ru

Программирование | Санкт-Петербург | Маркет

http://habrahabr.ru

Разработка | Коллеги | тестирование

Использование библиотеки Hapi.js строго обязательно. Других ограничений по использованию библиотек нет.

Фронт для сервиса писать не нужно, достаточно просто API.

Что проверяет задание:

  • работу с документацией библиотеки Hapi.js
  • алгоритмику
  • основы построения PDF-файлов и работа с шаблонизаторами
  • способность к осознанному выбору и применению других библиотек, необходимых для выполнения проекта
  • понимание асинхронности Node.js

Задание 2. Request-Reply - NATS

Реализовать микросервис api, основная задача которого - принимать запросы от клиента и направлять их в микросервис storage с помощью системы обмена сообщениями NATS. В качестве примера взаимодействия микросервисов необходимо реализовать тестовый маршрут GET api/test, который публикует сообщение в NATS.

Реализовать микросервис storage, основная задача которого - принимать запросы от микросервиса api и вызывать соответствующие методы репозитория. В качестве примера взаимодействия микросервисов, необходимо подписаться на сообщение, опубликованное в микросервисе api и указать тестовый обработчик, который вызывает метод find репозитория test.

Стек технологий:

  • TS
  • Node
  • NATS
  • typeORM
  • Postrgesql
  • Docker* (по желанию)

Диаграмма последовательностей успешного выполнения запроса

Срок сдачи заданий

  • Задания нужно сдать до 14 сентября 2022 г. включительно.
  • Задание принимается в виде ссылок на git-репозиторий.
  • Выполненные задания нужно отправить на uskovav@lad24.ru

Полезные материалы по микросервисной архитектуре