KonstantinKlepikov / lexicom-test

lexicom-test

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Тестовые задания на должность Python программиста

Необходимо выполнить оба задания, результат необходимо представить в github в публичном репозитории или с доступом пользователя rinkatoto.

Решение второго задания необходимо приложить в readme в репозитории. Решение завернутое в докер и приложенный скрипт значительно повышает шансы на one day offer.

Ссылка на ТЗ

One

Вопрос практический. Решение завернутое в докер будет преимуществом. Также в зачет идут любые толковые комментарии и интерпретации ручек относительно реализации этого сервиса. Необходимо разработать RESTful сервис с использованием Fast API и Redis.

Эндпоинты (ручки):

  1. Write_data (запись и обновление данных)

    • Phone
    • Address
  2. Check_data (получение данных)

    • Phone

Сценарии использования сервиса:

  1. Клиент отправляет запрос на ручку вида https://111.111.111.111/check_data?phone=’89090000000’ Эндпоинт в свою очередь получает номер телефона и идёт в redis по ключу (номер телефона) получает сохраненный адрес и отдаёт его в ответе клиенту.
  2. Клиент отправляет запрос на ручку для записи данных в redis вида https://111.111.111.111/write_data с телом
phone: ’89090000000’,
address: ’текстовый адрес’
  1. Клиент отправляет запрос на ручку изменения адреса вида https://111.111.111.111/write_data с телом
phone:’89090000000’
address:’текстовый адрес’

Two

  1. Дано две таблицы в СУБД Postgres.

700000 записей

short_names

name status
nazvanie1 1
nazvanie2 0
nazvanie5445 1

500000 записей

full_names

name status
nazvanie1.mp3
nazvanie5445.mp3
nazvanie3.mp3

В одной таблице хранятся имена файлов без расширения. В другой хранятся имена файлов с расширением.

Одинаковых названий с разными расширениями быть не может, количество расширений не определено, помимо wav и mp3 может встретиться что угодно.

Нам необходимо минимальным количеством запросов к СУБД перенести данные о статусе из таблицы short_names в таблицу full_names.

Необходимо понимать, что на выполнение запросов / время работы скрипта нельзя тратить больше 10 минут.

Лучшее время выполнения этого тестового задания в 2022 году - 45 секунд на SQL запросе. Необходимо предоставить два и более варианта решения этой задачи.

About

lexicom-test


Languages

Language:Python 92.0%Language:Shell 6.0%Language:Makefile 2.0%