Вот вам пример хорошо прописанного тестового задания на стажёрскую позицию python-разработчика от Avito в Market Intelligence-команду 🤛🏻

📊 Нужно реализовать HTTP-сервис для голосования. Голосование в теории может быть любым, хоть на выбор самого популярного покемона. Графический интерфейс не нужен, достаточно сделать JSON API-сервис.

👨🏻‍💻 Какие возможности должно предоставлять API: 🔹Метод POST /api/createPoll/: создание голосования с разными вариантами ответов. 🔹Метод POST /api/poll/ с параметрами : проголосовать за конкретный вариант. 🔹Метод POST /api/getResult/ с параметром : получить результат по конкретному голосованию.

Структура и формат входных и выходных данных на ваше усмотрение.

❗️Требования: 🔸Результаты голосования должны храниться в базе данных. Мы обычно используем PostgreSQL и MongoDB, но можно выбрать любую другую. 🔸Код нужно выложить на GitHub. 🔸Предоставить инструкцию по запуску приложения. В идеале (но не обязательно) – использовать контейнеризацию с возможностью запустить проект командой docker-compose up. 🔸Сервис должен отвечать на 8000 порту.

🧠Усложнения: ▪️Написаны тесты (постарайтесь достичь покрытия в 70% и больше). ▪️Опишите, как изменится архитектура, если мы ожидаем большую нагрузку. ▪️Опишите, как можно защититься от накруток. ▪️Попробуйте оценить, какую нагрузку в RPS сможет выдержать ваш сервис.

👍🏻Описание идеального решения: ▫️Задание декомпозировано, составлен иерархический список работ. Каждый пункт из этого списка может быть реализован за небольшое время. ▫️Составлена схема архитектуры со всеми сущностями и их связями. ▫️Код слабо связан, функции не имеют побочных эффектов. ▫️История коммитов осмысленная. По ней видно, в каком порядке решалась задача. ▫️Покрытие тестами >70%.

#тестовое |🍩 Поддержать канал 🫶