Skip to content

Instantly share code, notes, and snippets.

@sadfuzzy
Created April 14, 2021 16:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sadfuzzy/57bad218ad4b990103c0798d47ff9a7c to your computer and use it in GitHub Desktop.
Save sadfuzzy/57bad218ad4b990103c0798d47ff9a7c to your computer and use it in GitHub Desktop.
Тестовое задание на позицию Golang-developer
Требуется написать клиент и сервер gRPC:
1. сервер должен обеспечивать получение MAC-адреса по IP-адресу из запроса
алгоритм формирования MAC следующий:
- в случае IPv4 возвращается MAC, дополненный двумя нулями спереди ("00xxxxxxxx")
- в случае IPv6 возвращается MAC, состоящий из 6 последних байт самого адреса
- в остальных случаях возвращается пустой MAC - что сигнализирует об ошибке
сервер должен обеспечивать МАКСИМАЛЬНО ВОЗМОЖНУЮ производительность
сервер должен быть сделан в виде отдельного приложения, конфигурационные параметры можно указывать в коммандной строке или в коде - не принципиально
2. клиент должен быть выполнен в виде модуля, который теоретически можно подключить к приложению
клиент должен быть синхронным - т.е. возврат из функции запроса MAC должен возвращать MAC или ошибку
клиент должен иметь конфигурируемый таймаут запроса
3. вся конструкция должна иметь возможность работать на соседних машинах в сети, клиент должен возвращать ответы за время порядка 0.5 секунды
вся конструкция должна быть выложена где-то (github) или упакована в архив для возможности разворачивания и нагрузочного тестирования
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment