Внимание: я не являюсь ни автором задания, ни даже сотрудником компании автора. Я просто нашел ее на просторах github-а и, для обучения и тренировки, попробовал решить ее в меру своего понимания.
Тестовое задание для кандидата на должность Golang разработчика.
Есть внешний сервис, который обрабатывает некие абстрактные объекты батчами. Данный сервис может обрабатывать только
определенное количество элементов n
в заданный временной интервал p
. При превышении ограничения, сервис блокирует
последующую обработку на долгое время.
Задача заключается в реализации клиента к данному внешнему сервису, который позволит обрабатывать максимально возможное количество объектов без блокировки. Приводить реализацию внешнего сервиса необязательно!
- решение должно быть в git-репозитории (можно прислать архив или опубликовать на github, gitlab, bitbucket...).
- документирование кода;
- тесты;
- использование статического анализатора (конфигурацию положить в репозиторий).
make lint // линтер
make test // тесты
make run // запуск
Перед реализацией методов добавлено описание (программа маленькая, незачем прикручивать большую доку вроде Swagger-а)