Тестовые задания по Python

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

стэк>
Компания>
Сложность>

ItGlobal • Средняя сложность

difficulty stars

Тестовое задание по Python от компании ItGlobal

Необходимо разработать бекенд (серверную часть) веб-приложения, демонстрирующего расписание рейсовых автобусов. Автобусы двигаются по маршрутам от конечной до конечной в прямом и обратном направлении. В разных направлениях может быть разный набор остановочных пунктов. Фронтенд приложения получает данные с сервера через REST API, необходимо реализовать следующие методы этого API: 1. /api/find-bus Описание: Возвращает автобусы, маршрут которых включает отрезок от одной остановки к другой, с тремя ближайшими к текущему времени вариантами времени прибытия на исходную остановку. Параметры запроса: * from: id исходной остановки. * to: id конечной остановки. Пример ответа: ``` { "from": "ул. Пушкина", "to": "ул. Ленина", "buses": [ { "route": "Автобус No11 в сторону ост. Попова", // указывается конечная остановка маршрута "next_arrivals": ["08:15", "08:40", "09:15"] }, { "route": "Автобус No21 в сторону ост.Ленина", "next_arrivals": ["08:30", "09:04", "09:30"] } ] } ``` 2. Методы (или метод) предоставляющие механизм редактирования маршрутов, т.е. набора остановок на пути следования автобуса (без указания времени). Входный параметры и формат ответа продумать самостоятельно. Требования к реализации: 1. Язык программирования: PHP (версия 7+). 2. Использование фреймворка: допускается использование фреймворка на выбор: Laravel, Symfony, Yii2 или чистый PHP. 3. База данных: PostgreSQL. 4. Использование подхода ООП Оцениваться будут архитектура решения, качество кода, соответствие REST принципам и тестируемость. Будет плюсом если проект будет запускаться в docker. Результат представить в виде ссылки на публичный репозиторий на bitbucket.org. Он должен включать в себя php файлы проекта, sql дамп базы, схему структуры базы данных в виде изображения и инструкцию по запуску проекта.

Python • Лёгкая сложность

difficulty stars

Тестовое задание по Python от компании Python

Результат выполнения задания должен быть выложен соискателем в публичный репозиторий github и помимо кода проекта содержать подробные инструкции по сборке и запуску. Ссылку на проект необходимо направить на почту: hr@bewise.ai в тексте письма указать ваше ФИО и ссылку на ваше резюме Задачи: 1. С помощью Docker (предпочтительно - docker-compose) развернуть образ с любой опенсорсной СУБД (предпочтительно - PostgreSQL). Предоставить все необходимые скрипты и конфигурационные (docker/compose) файлы для развертывания СУБД, а также инструкции для подключения к ней. Необходимо обеспечить сохранность данных при рестарте контейнера (то есть - использовать volume-ы для хранения файлов СУБД на хост-машине. 2. Реализовать на Python3 простой веб сервис (с помощью FastAPI или Flask, например), выполняющий следующие функции: * В сервисе должно быть реализовано REST API, принимающее на вход POST запросы с содержимым вида {"questions_num": integer} ; * После получения запроса сервис, в свою очередь, запрашивает с публичного API (англоязычные вопросы для викторин) https://jservice.io/api/random?count=1 указанное в полученном запросе количество вопросов. * Далее, полученные ответы должны сохраняться в базе данных из п. 1, причем сохранена должна быть как минимум следующая информация (название колонок и типы данный можете выбрать сами, также можете добавлять свои колонки): 1. ID вопроса, 2. Текст вопроса, 3. Текст ответа, * Дата создания вопроса. В случае, если в БД имеется такой же вопрос, к публичному API с викторинами должны выполняться дополнительные запросы до тех пор, пока не будет получен уникальный вопрос для викторины. * Ответом на запрос из п.2.a должен быть предыдущей сохранённый вопрос для викторины. В случае его отсутствия - пустой объект. 3. В репозитории с заданием должны быть предоставлены инструкции по сборке докер-образа с сервисом из п. 2., его настройке и запуску. А также пример запроса к POST API сервиса. 4. Желательно, если при выполнении задания вы будете использовать docker-compose, SqlAalchemy, пользоваться аннотацией типов.

KODE • Лёгкая сложность

difficulty stars

Тестовое задание по Python от компании KODE

2018-internship-backend Задача №1 Дан массив связей пользователей социальной сети. Определите, существует ли связь между любыми двумя заданными пользователями. Например, если у двух пользователей есть общие друзья или у их друзей есть общие друзья и т.д. ![enter image description here](https://lh3.googleusercontent.com/t1E118K3WTaTbuM59a51FW2nixdYXdjcnaBjXWiV6sFJHDM6Nzt3tWaggDkGxpPK2Hx3v9gROzIE "users") Ввод: информация о связях, как кортеж (tuple) кортежей; первое имя (str); второе имя (str). Вывод: существует ли связь между пользователями (bool). Проверка: при проверке вызывается функция `check_relation()`. ```python def check_relation(net, first, second): pass if __name__ == '__main__': net = ( ("Ваня", "Лёша"), ("Лёша", "Катя"), ("Ваня", "Катя"), ("Вова", "Катя"), ("Лёша", "Лена"), ("Оля", "Петя"), ("Стёпа", "Оля"), ("Оля", "Настя"), ("Настя", "Дима"), ("Дима", "Маша") ) assert check_relation(net, "Петя", "Стёпа") is True assert check_relation(net, "Маша", "Петя") is True assert check_relation(net, "Ваня", "Дима") is False assert check_relation(net, "Лёша", "Настя") is False assert check_relation(net, "Стёпа", "Маша") is True assert check_relation(net, "Лена", "Маша") is False assert check_relation(net, "Вова", "Лена") is True ``` **Формат ответ: код отдельным файлом** Задача №2 Реализовать API, которое на HTTP-запрос `GET /weather?city=<city_name>`, где `<city_name>` - это название города на английском языке, возвращает текущую температуру в этом городе в градусах Цельсия, атомсферное давление (мм рт.ст.) и скорость ветра (м/c). При первом запросе, сервис должен получать данные о погоде от openweathermap.com, при последующих запросах для этого города в течение получаса запросы на сервис openweathermap.com происходить не должны. Код должен быть выложен в открытом репозитории на github, содержать файл `requirements.txt` со списком зависимостей и инструкцию по запуску. **Формат ответа: Код должен быть выложен в открытом репозитории на github, содержать файл requirements.txt со списком зависимостей и инструкцию по запуску.** Задача №3 Компания "DOKE" объявляет о проведении стажировки с последующим трудоустройством! Ты умён, но не знаешь, что с этим делать? Запишись на стажировку и получи приглашение на лекции. Есть приглашение? Ты стажёр! Для тебя мы приготовили теоретические и практические занятия с преподавателями-сотрудниками "DOKE". К каждому занятию прилагаются задания (тесты на теорию и практические задачи), чтобы проверить, как ты понял тему. По каждому заданию ты будешь получать оценку. Кто круче? Тот, у кого средний балл выше! А ещё в результате выполнения практических задач каждый стажёр сделает тестовый проект, который будет работать. Чувствуешь, как повышается градус крутости? По окончании стажировки стажёры с высоким средним баллом могут стать интернами компании и получить уникальную возможность поработать над задачами реального проекта под надзором опытных и вежливых наставников. Если всё пойдёт хорошо - ты станешь настоящим DOKE'ром, но это уже другая история Чтобы понять, готов ли ты стажироваться, мы предлагаем тебе помочь будущим коллегам с разработкой новой системы. Спроектируй структуру классов для платформы проведения стажировок: Основные сущности: * Направление (iOS, Android, Backend) * Cтажёр (не работает над проектом компании) * Интерн (работает над проектом компании на особых условиях) * Преподаватель * Теоретический курс * Практический курс * Проект * Стажировка * Интернатура Дополнительные сущности: * Оценки * Тесты * Задачи * Темы * Категории * ... Диаграмма классов должна представлять взаимосвязи между сущностями предметной области, описывать их внутреннюю структуру и типы отношений, методы для работы с экземплярами, свойства и их типы. Должны быть реализованы основные принципы ООП. Примечание: сущности не обязательно должны в точности соответствовать перечисленным выше, если у тебя есть идеи реализации получше - то можешь их предложить :) Удачи, стажёр! **Формат ответа: файл (картинка, желательно) или ссылка на диаграмму draw.io** --- **ВАЖНО: решенные задания принимаются на почту [edu@appkode.ru](mailto:edu@appkode.ru).** **В теме письма "стажировка_backend_\[имя\]".** **Последний срок сдачи - 3 мая.**

KosyanMedia • Лёгкая сложность

difficulty stars

Тестовое задание по Python от компании KosyanMedia

Тестовое задание в команду гейтов (Python) В папке два XML – это ответы на запросы, сделанные к API партнёра via.com. [RS_Via-3.xml](/backend/Python/KosyanMedia/RS_Via-3.xml) [RS_ViaOW.xml](/backend/Python/KosyanMedia/RS_ViaOW.xml) Необходимо их распарсить и вывести списком отличия между результатами двух запросов по маршрутам (тег Flights). * Какие рейсы входят в маршрут * Время начала и время конца маршрута * Цена маршрута * Что изменилось по условиям? * Добавился ли новый маршрут? Язык реализации — python3 Используемые библиотеки и инструменты — всё на твой выбор. Оценивать будем умение выполнять задачу имея неполные данные о ней, умение самостоятельно принимать решения и качество кода.

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