Видел пару противоположных мнений насчёт тестовых заданий. Первое: полезно делать, так можно не только попасть во внимание компании, но и получить новые навыки. Второе: тестовое задание - это неуважение ко времени соискателя. Наверное, эти два тезиса имеют право на одновременное существование. Первое для новичков, вроде меня (буду вечным новичком). Второе для мидлов и выше. Короче, работаем с тем, что имеем. А поиск работы, тоже работа. Так значит у меня их теперь две.
У этого задания было три этапа (пока 3, может будет больше). Про первый и второй тоже может быть напишу и закину оттуда пару вопросов, если материала хватит. А третье - проверка навыков программирования, то есть тестовое задание. Итак, примерные условия (не копирую оригинал):
- написать на python, используя любой найденный метод, программку для генерации видео бегущей строки
- выложить на github
- первые два условия обязательные, дальше всё дополнительно. Загрузить решение в google colab.
- создать приложение на джанго
- задеплоить на linux
- добавить сохранение в бд
- добавить ништяки по желанию
Ну и то, что у меня получилось, по пунктам.
1. Первый шаг я загуглил прямо так: "создание видео бегущей строки на python". Нашёл вариант на opencv. Подправил его, добавил чуть функционала, а именно: изменил время видео по длине сообщения, и добавил нейминг с помощью slug. получил это:
Работает довольно бодро, хотя с лютыми по длине сообщениями я не тестировал.
2. Выложил на гитхаб, тут описывать нечего.
3. Colab я пропустил, поэтому сразу шаг 4, создание приложения на джанго. С этим проблем не было, создал сразу с шагом 6-ым в купе, то есть с сохранением в БД. Появилась проблемка с выводом видео в html. Оказывается, с подходящим кодеком для браузера, H264, opencv отказывается работать. Пошёл ковыряться в гугле, как это победить. Не нашёл. Но нашёл в итоге другой вариант, библиотеку movis. Сделал вариант бегущей строки на ней, но, к сожалению, работала она чересчур медленно, поэтому ушёл в дальнейшие поиски. Но в итоге плюнул на это гиблое дело и оставил как есть. А видео, которое создаётся, нельзя сразу посмотреть, но можно скачать.
5. Ну и поскольку 4 и 6 шаг я уже осуществил, остался деплой. Выбрал свой знакомый pythonanywhere и запилил туда. Тоже пришлось повспоминать, порешать ошибки, но через пару часов всё завертелось. Потыкать можно здесь. (если не тыкается, то значит там его уже нет, а лежит что-то другое). Ссылка ведёт на все ранее сгенерированные видео, а новые создаются через главную страницу: если зайти просто на неё, то создаётся пустое видео. А если добавить ?message=Тут текст сообщения, то получится бегущая строка.
7. Ништяки я пропустил, завершил в таком состоянии. Весь код можно посмотреть на гитхабе. https://github.com/funtiknax13/video_creator Вариант создания видео с movis оставил в файле temp_files/main2.py
На этом пожалуй всё, жду вердикт и пытаюсь делать другие тестовые, о которых постараюсь рассказать. На новогодние каникулы надеюсь найду время для собственного проекта. Хочу сделать веб-приложение для учёта доходов и расходов. Давно пора их учитывать, и почему бы вместо изучения функционала готовых решений не создать своё? Если оно получится, то было бы здорово добавлять туда новые фишки по мере необходимости. Эх, мечты, поглядим и увидим. Надеюсь, что всё получится. Всем удачи, и чтобы у вас получалось!)