PythonTalk
Олег Булыгин, Data scientist, аналитик, инвестор. Автор и спикер IT-курсов · 18.10
Тестовое на позицию стажёра в Market Intelligence
🔁 От кого: Avito Tech
☝🏻Суть: Нужно сделать HTTP-сервис для одноразовых секретов, что-то наподобие One Time Secret. Он должен позволить создать секрет, задать кодовую фразу для его открытия и cгенерировать код, по которому можно прочитать секрет только один раз. UI не нужен, это должен быть JSON API-сервис. Для его написания можно использовать FastAPI или любой другой фреймворк.
Метод /generate должен принимать секрет и кодовую фразу и отдавать secret_key, по которому этот секрет можно получить.
Метод /secrets/{secret_key} принимает на вход кодовую фразу и отдает секрет.
⚔️Требования: 🔹 всё должно быть написано на Python версии >=3.7; 🔹 сервис должен запускаться с помощью docker-compose up; 🔹 код должен соответствовать PEP, необходимо использование type hints, к публичным методам должна быть написана документация на английском языке; 🔹 используемые технологии на ваш выбор, к ним требований нет.
Необязательные задачи: ➕ есть тесты (постарайтесь достичь покрытия в 70% и больше). Можно использовать pytest или любую другую библиотеку для тестирования. ➕ сервис асинхронно обрабатывает запросы. ➕ данные сервиса хранятся во внешнем хранилище, запуск которого также описан в docker-compose. Мы рекомендуем использовать MongoDB, но вы можете использовать любую подходящую базу. ➕ секреты и кодовые фразы не хранятся в базе в открытом виде. ➕ добавлена возможность задавать время жизни для секретов. Можно попробовать реализовать это с помощью TTL-индексов.
#тестовое | 🍩 Поддержать канал 🫶Максим Иванов
· 18.10
Хорошая идея для пет проекта, спасибо)
ответить
еще контент автора
еще контент автора
PythonTalk
Олег Булыгин, Data scientist, аналитик, инвестор. Автор и спикер IT-курсов · 18.10
войдите, чтобы увидеть
и подписаться на интересных профи