Myvideo

Guest

Login

Андрей Багров. Что junior python разработчика спрашивают на собесе и чем он занимается на работе

Uploaded By: Myvideo
1 view
0
0 votes
0

Андрей — старый подписчик моего канала рассказывает про свой опыт поиска работы и делится лайфкаками, как увеличить шансы получить оффер. Задание 1. Реализовать многопоточный HTTP клиент websocket сервер. 1) Клиенту передается URL, каждый поток скачивает X байт параллельно другим, кол-во потоков и кол-во байт на поток ограничено сверху посредством конфига. При передаче URL клиенту, нужно проверить, поддерживаются ли ranges. 2) websocket - сервер, отдает список URL для скачивания, и их статус (размер, потоков запущено на обработку, прогресс), если контент скачан, то ссылку на файловую систему по протоколу file:/// Код задания предоставить в виде репозитория на github\gitlab\bitbucket В должна содержаться инструкция по запуску На выполнение задания дается одна неделя, к рассмотрению принимаются частично выполненные задания Задание 2. Используя django/flask(на выбор), реализовать приложение, которое является агрегатором данных из access логов apache с сохранением в БД. Разбор файлов должен выполняться по cron’у . В приложении реализовать такие функции: - авторизация (пользователи в БД) - просмотр данных сохраненных в БД (группировка по IP, по дате, выборка по промежутку дат) - API для получения данных в виде JSON (смысл тот же: получение данных по временному промежутку, возможность группировать/фильтровать по IP) - конфигурация через файл настроек (где лежат логи, маска файлов, и все, что Вам потребуется для настройки приложения) СУБД: mysql/postgresql Код задания предоставить в виде репозитория на github\gitlab\bitbucket В должна содержаться инструкция по запуску Задание 3. Создать проект на Django. Создать модель с полями охватывающими столбцы из CSV файла. Создать страницу с формой, в которую будет загружаться CSV файл. Создать View, которая будет парсить этот файл в созданную модель. Вывести на отдельную страницу список выгруженных данных. Задание4. Необходимо реализовать обучающий сервис. В общем виде выглядит как список тем, где каждая тема содержит теоретический отрывок и тест. Тест состоит из нескольких вопросов. Каждый вопрос состоит из утверждения и нескольких вариантов ответов. Правильных ответов может быть несколько. На каждый вопрос пользователь отвечает последовательно, и после каждого ответа получает результат: правильно он ответил или нет. Если ответил неправильно, также получает комментарий. После прохождения всего теста пользователь получает общую статистику: на сколько вопросов ответил правильно и сколько неправильно. Один и тот же тест можно проходить только 1 раз. После прохождения теста пользователю на email отправляется письмо с результатом. Задание: спроектировать API для описанного сервиса. Функциональные части сервиса: - Регистрация пользователей через email; - Аутентификация пользователей; - Список тем, выбор темы, изучение материала, тестирование, результат; - Отправка на почту результата тестирования; - Админка. Стандартная админка Django. Разделы - Раздел информации о пользователях ( история прохождения тестов). - Раздел создания вопросов: - Возможность создавать темы, тесты, вопросы с вариантами ответов ( указание правильных ответов); - Валидировать вопросы на внесение минимум одного правильного ответа. - Удаление вопросов; - Редактирование вопросов (редактирование текста вопроса, количества ответов и количество верных ответов); - Раздел с результатами; Требования - Стек реализации: Python, Django, REST API, Postgres; - Код в репозитории на GitHub; - Проект должен быть завернут в docker контейнер; - API должно быть покрыто unit тестами; - Документация API должна быть описана в Swagger или Postman; - Список всех зависимостей должен храниться в ; - Результат должен быть доступен публично (чтобы не обязательно было разворачивать локально). Можно дать доступ через ngrok, можно выложить на свой сервис или на какой-либо другой сервис. Ваш 👍 ПОДПИСКА 🔔 - мотивируют продолжать вести канал. Смотрите и комментируйте. 🔔ПОДПИСЫВАЙТЕСЬ в других сетях:🔔 🔗Вконтакте: 🔗Дзен:

Share with your friends

Link:

Embed:

Video Size:

Custom size:

x

Add to Playlist:

Favorites
My Playlist
Watch Later