Skip to content

Тестовое задание для стажеров на go в Юле

Notifications You must be signed in to change notification settings

youla-dev/internship-task-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Тестовое задание для стажировки в команде Юла Авто

Контекст:

Предположим что мы разрабатываем систему контроля в некотором бизнес-процессе.

У нас несколько одинаковых датчиков и чтобы собирать данные мы решили создать сервис-агрегатор, который вычисляет среднее арифметическое и предоставляет результат по запросу другим системам.

В случае нестабильной работы хотя бы одного из датчиков, сервис помечает результат работы флагом, означающим неполноту данных

Цель сервиса:

Предоставлять другим сервисам арифметическое среднее показателей нескольких датчиков

Ограничения:

  • сервис актуализирует данные не реже одного раза в минуту
  • сервис предоставляет данные другим системам по HTTP протоколу
  • ожидаемая нагрузка на сервис ~500 rps
  • количество датчиков данных от 2 до 10
  • датчики могут работать некорректно или временно быть недоступными
  • формат данных предоставляемых датчиками - целое число от 0 до 255
  • каждый датчик предоставляет данные по HTTP

Критерии оценки:

  • стабильность работы при условиях задержек и недоступности датчиков
  • качество кода и архитектуры приложения

Вспомогательная информация

Для упрощения разработки, в этом репозитории мы подготовили окружение в котором уже развернуты несколько датчиков.

При помощи docker-compose и утилиты make ты можешь запустить окружение выполнив команду $ make run_sensors.

About

Тестовое задание для стажеров на go в Юле

Resources

Stars

Watchers

Forks