Skip to content
This repository has been archived by the owner on Oct 25, 2020. It is now read-only.
/ go-test-task Public archive

Test task for go developer job application

License

Notifications You must be signed in to change notification settings

xdefrag/go-test-task

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Тестовое задание

Тестовое задание создано для быстрой проверки знаний и привычек программиста. Выполните базовое + усложнения, до тех пор пока не надоест. Оцениваться прежде всего будет структурирование кода, ведение документации и юнит-тесты.

Базовое

Написать сервер и клиент:

  • Cервер получает число из очереди, если оно делится без остатка на N (устанавливается в конфигурации), то сохраняет его в память.
  • Клиент отправляет случайные числа на сервер через очереди.

Все общение между клиентом и сервером должно происходить через очереди (предпочтительнее RabbitMQ) сообщениями в protobuf.

Усложнение

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

Логи

Действия должны логироваться на стороне клиента и сервера. Стоит учесть уникальный идентификатор операции, для разграничения принадлежности логов.

Метрики

Клиент должен учитывать количество отправленных сообщений, сервер же вести учет прошедших и не прошедших проверок запросов.

Ограничение запросов

У сервера должна быть возможность ограничивать количество обрабатываемых запросов, а у клиента – отправляемых. Ограничения должны устанавливаться в конфигурации.

Сохраненные числа

Создать возможность запросить у сервера все сохраненные числа.

Контейниризация

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

Непрерывная интеграция

Настроить проверку линтером и прогон тестов при каждом коммите.

Полезные ссылки

About

Test task for go developer job application

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published