March 18, 2023

👩🏼‍🏫 Ещё одно тестовое задание для Python-разработчика 🌚

И не простое, а с вопросиками! 🧠

💬Ниже представлено несколько теоретических вопросов, на которые нет однозначного ответа. С их помощью вы сможете в свободной форме рассказать нам о своём личном опыте в том или ином аспекте и проиллюстрировать рассказ примерами.

🔸Чем, по-вашему, Python превосходит остальные языки программирования? Для каких задач он подходит лучше всего? Для чего он не подходит?

🔸Какие особенности Python вам доставляют больше всего неудобств?

🔸Возможно ли писать программы на Python в функциональном стиле? Насколько он для этого подходит?

🔸Какие инструменты и методы помогают вам экономить время и избегать ошибок при написании кода?

🔸На каких ресурсах вы получаете информацию и новости по используемым технологиям?

Предлагаю по ним поразмышлять в комментах👇🏻

А практическая часть такая 👩🏾‍💻

Реализуйте web-приложение для простого учёта посещённых (неважно, как, кем и когда) ссылок.

Приложение должно удовлетворять следующим требованиям:

🔹Приложение написано на языке Python версии ~> 3.7.

🔹Приложение предоставляет JSON API по HTTP.

🔹Приложение предоставляет два HTTP-ресурса.

Запрос:

POST /visited_links
 {
    "links": [
    "https://ya.ru",
    "https://ya.ru?q=123",
    "funbox.ru",
    "https://stackoverflow.com/questions/11828270/how-to-exit-the-vim-editor"
    ]
}

Ответ:

{
    "status": "ok"
}

Запрос:

GET /visited_domains?from=1545221231&to=1545217638

Ответ:

{
    "domains": [
    "ya.ru",
    "funbox.ru",
    "stackoverflow.com"
    ],
    "status": "ok"
}

🔹Первый ресурс служит для передачи в сервис массива ссылок в POST-запросе. Временем их посещения считается время получения запроса сервисом.

🔹Второй ресурс служит для получения GET-запросом списка уникальных доменов, посещенных за переданный интервал времени.

🔹Поле status ответа служит для передачи любых возникающих при обработке запроса ошибок.

🔹Для хранения данных сервис должен использовать БД Redis.

🔹Код должен быть покрыт тестами.

🔹Инструкции по запуску должны находиться в файле README.

PythonTalk в Telegram

Чат PythonTalk в Telegram

PythonTalk на Кью

Предложить материал | Поддержать канал