Здравствуйте!
Вчера я рекомендовал вам отличный канал на YouTube для изучения Python.
А с сегодняшней статьи я начну с вами делиться тестовыми заданиями, которые работодатели отправляют мне после отклика на вакансию.
Для чего вам это нужно? Прежде всего, чтобы испытать свои силы и понять готовы ли вы к тому, чтобы откликаться на вакансии, связанные со знанием Python. Также периодически здесь будут появляться тестовые задания, связанные с тестировкой, так как данная область мне тоже интересна и мне было бы очень интересно поработать тестировщиком(тем более релевантный опыт у меня есть).
Ну что, начнём?
Да, чуть не забыл, названия компании я приводить не буду, мне кажется это немного неэтичным. Всё остальное, если в тестовом не встречается названия, будет предоставлено в оригинальном виде.
Тестовое задание для стажёра на позицию «Аналитик(Python)»
Реализовать HTTP-сервер для предоставления информации по географическим объектам.
Данные взять из географической базы данных GeoNames, по ссылке:
http://download.geonames.org/export/dump/RU.zip
Описание формата данных можно найти по ссылке:
http://download.geonames.org/export/dump/readme.txt
Реализованный сервер должен предоставлять REST API сервис со следующими методами:
1. Метод принимает идентификатор geonameid и возвращает информацию о городе.
2. Метод принимает страницу и количество отображаемых на странице городов и возвращает список городов с их информацией.
3. Метод принимает названия двух городов (на русском языке) и получает информацию о найденных городах, а также дополнительно: какой из них расположен севернее и одинаковая ли у них временная зона (когда несколько городов имеют одно и то же название, разрешать неоднозначность, выбирая город с большим населением; если население совпадает, брать первый попавшийся)
Дополнительные задания:
Дополнительные задания не обязательны к исполнению, и будут учитываться если очень большое количество кандидатов выполнили основное задание на отлично. Вы можете выполнять любую комбинацию из предложенных заданий.
· Для 3-его метода показывать пользователю не только факт различия временных зон, но и на сколько часов они различаются.
· Реализовать метод, в котором пользователь вводит часть названия города и возвращает ему подсказку с возможными вариантами продолжений.
Требования к присылаемым решениям:
В качестве решения принимается скрипт на python с описанием методов в файле readme.md. Скрипт запускается следующим образом: python3 script.py
После этого по адресу 127.0.0.1 и порту 8000 можно обращаться с указанными выше функциями.
Программа должна читать данные из файла RU.txt, который заранее будет лежать в той же директории, что и программа – не требуется их скачивать по ссылкам в самой программе. Данные допускается держать в памяти программы и не работать с БД. Если вы предпочтете использовать БД, делайте это так, чтобы не было необходимости какой-то дополнительной настройки программы, или дополнительных требований к наличию этой БД на машине.
Максимальное время на выполнение задания:
2 недели
Итак, желаю вам удачи в выполнении тестового задания.
Приятного вам обучения!
На этом на сегодня всё, встретимся завтра!
Если понравилась статья, поставьте, пожалуйста, лайк! А если вы ещё не с нами, то обязательно подписывайтесь, тут полезно и интересно.
Предыдущая статья. ......................................................... Следующая статья.