Created
April 14, 2021 16:18
-
-
Save sadfuzzy/57bad218ad4b990103c0798d47ff9a7c to your computer and use it in GitHub Desktop.
Тестовое задание на позицию Golang-developer
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Требуется написать клиент и сервер 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