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

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

Рассмотрим тестовое задание на должность Python программиста в компанию ООО «ТП Лаб».

Введение

Мне позвонил HR из ИТ-компании ООО «ТП Лаб» в Санкт-Петербурге, которая занимается разработкой ПО на Python и предложила пройти тестовое задание. Я его выполнил, все оформил как требовалось, но после отправки результата даже не получил никакого фидбека, ситуация очень стрёмная, поэтому передам привет Алене Ермакович и опубликую само задание и результат, который у меня получился.

Наверняка моя статья будет хорошо индексироваться в поисковых системах и всем, кто планирует устроиться в эту компанию, советую не тратить время на выполнение тестовых заданий, останетесь без ответа — как я.

Задание я получил в пятницу вечером и прислал ответ в субботу. Для меня не понятно, почему так произошло, может попал под ковровую бомбардировку эйчара, которая всем налево и направо раздавала задания 🙂

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

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

Тестовое задание

Написать клон телеграм-бота @vsratoslavbot с минимальным функционалом.

Бот получает от пользователя картинку, выбирает из файла-сборника случайную подпись и рисует её на картинке пользователя. Полученную картинку бот отправляет пользователю и предлагает ей поделиться.

Технические требования

  • Реализовать на языке Python.
  • Все настройки бот должен брать из переменных окружения.
  • Картинки пользователя бот должен сохранять в папку (путь до неё настраивается) с именем в формате «YYYY-MM-DD_HH:mm_<user id>.jpg».

YYYY — год, четыре знака,

MM — месяц, два знака,

DD — день, два знака,

HH — часы, 24 часовой формат, два знака,

mm — минуты, два знака,

<user id> — id пользователя, приславшего фото

  • Если пользователь согласен поделиться картинкой — бот репостит её в канал, который указан в настройках бота.
  • Файл-сборник имеет текстовый формат, каждая фраза занимает отдельную строку. Путь до файла-сборника указывается в настройках.

Критерии оценивания

За каждый пункт начисляется один балл, максимум 4.

  • Бот выполняет заявленные функции.
  • Код оформлен в репозиторий на Github/Bitbucket.
  • Бот использует как можно меньше внешних зависимостей, необходимые зависимости указаны в requirements.txt
  • Для бота написан Dockerfile для сборки образа.

Бонус-баллы

За каждый пункт начисляется один балл, максимум 4.

  • Зависимости в requirements.txt указаны с версиями.
  • Есть юнит-тесты.
  • Для бота есть инструкция по запуску в README.md проекта.
  • Подписи к картинкам сделаны шрифтом Lobster.

Решение

Я решил опубликовать свой готовый вариант — github.com/r4hx/ptlab-test

Заключение

Мне на выполнения этого задания понадобилось около 6 часов, а сколько потратишь ты? 🙂

Егор Егоров

Программирую на Python с 2017 года. Люблю создавать контент, который помогает людям понять сложные вещи. Не представляю жизнь без непрерывного цикла обучения, спорта и чувства юмора.

Ссылка на мой github есть в шапке. Залетай.

Оцените автора
Егоров Егор
Добавить комментарий