Это небольшое тестовое задание на позицию Full Stack разработчика.
Код максимально приближен к реальному приложению, с которым придется работать.
Текущее состояние: в приложении есть список проектов и кнопка "Собрать проект". "Сборка" проекта представляет из себя некую сложную задачу, которая объединяет в одно текстовое поле данные из проекта и шаблона.
Задача состоит в том, чтобы добавить на фронте выпадашку с выбором шаблона для каждого проекта, передать выбранные шаблон на воркер для сборки проекта, и вывести собранный результат для пользователя на фронте.
Сейчас, при нажатии на кнопку собрать проект выводится сообщение:
Собранный проект: Additionally proccessed data from worker: Project ID 1
Ожидаемый результат
Собранный проект: Additionally proccessed data from worker: Project ID 1, Template args: arg1 = arg1-1, arg2 = arg1-2
Bonus Points:
- Дополнительная декомпозиция классов, которая позволит увеличить читаемость и повлияет на скорость доработки последующей функциональности. Подойдет простое текстовое описание с обоснованием
- Containerfiles
- Система лодинга на фронте в виде минимальной крутяшки при запросах
Сперва, нужно установить зависимости для проектов. Для typescript проектов используется стандартный
$ npm install
Для воркера необходимо установить ASP.NET Core.
В каждом проекте есть рецепты для сборки в justfile. Можно использовать утилиту just, либо в терминале вводить команду, которая находится в рецепте start.
Note
Почему тестовое задание вместо интервью?
Интервью - это всегда стресс. Для нас важнее понять, как человек подходит к решению задач в спокойной обстановке, так как он будет работать в обычное время. После решения задания мы сможем обсудить использованные подходы, кандидат сможет подготовить список вопросов, которые он бы хотел узнать о проекте и продуктивно пообщаться.
