Библиотека задач по Python | тесты, код, задания
6.61K subscribers
838 photos
14 videos
582 links
Задачи и тесты по Python для тренировки и обучения.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/9f7384d6

Для обратной связи: @proglibrary_feeedback_bot
Download Telegram
Вы случайно закоммитили секретные данные (пароль/ключ API) в публичный репозиторий. Какой из подходов наиболее правильный для удаления этой информации из истории?

👾 — Выполнить git reset --hard и закоммитить снова
👍 — Удалить файл локально и сделать новый коммит с исправлением
🥰 — Использовать git filter-repo (или git filter-branch) для переписывания истории и удалить секреты из всех прошлых коммитов
⚡️ — Просто добавить секрет в .gitignore, чтобы он больше не попадал в коммиты

🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

Библиотека задач по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
👾18🥰4
У вас есть высоконагруженное Django-приложение. Пользователи жалуются на медленные отклики при работе с ORM-запросами. Какой из подходов будет наиболее правильным для оптимизации?

👾 — Использовать select_related и prefetch_related для оптимизации запросов и уменьшения количества обращений к базе
👍 — Заменить все ORM-запросы на чистый SQL, так как он всегда быстрее
🥰 — Увеличить таймаут подключения к базе данных
⚡️ — Отключить транзакции, чтобы ускорить коммиты

🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

Библиотека задач по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
👾15👍31
Что выведет код?

👾 — [7, 19, 45, 89]
👍 — [2, 4, 22, 72]
🥰 — [4, 7, 19, 2, 89, 45, 72, 22]
⚡️ — [2, 4, 7, 19, 22, 45, 72, 89]

Библиотека задач по Python
👾47
Ваш Python-сервис должен обрабатывать большое количество одновременных HTTP-запросов. Вы замечаете, что при использовании потоков прироста производительности почти нет. Какой подход наиболее правильный?

👾 — Увеличить количество потоков в ThreadPoolExecutor, чтобы нагрузить CPU
👍 — Перейти на asyncio или uvloop, чтобы эффективно обрабатывать I/O-bound задачи без блокировок
🥰 — Использовать multiprocessing, создавая процесс на каждый запрос
⚡️ — Запускать gc.collect() вручную чаще, чтобы ускорить выполнение потоков

Библиотека задач по Python
👍11
В Python-сервисе нужно обрабатывать очень большие объёмы данных построчно из файлов размером в десятки гигабайт. Какой подход наиболее правильный, чтобы избежать проблем с памятью?

Варианты ответа:
👾 — Использовать readlines() для чтения всего файла в список
👍 — Читать файл построчно через итератор (for line in file:)
🥰 — Сначала загрузить файл в pandas.DataFrame, а затем обрабатывать
⚡️ — Использовать json.load() для загрузки файла в память

Библиотека задач по Python
🥰11👍10
Прокачай свой Python на 100%

Задачи помогают запомнить синтаксис. Фундаментальные курсы помогают понять, почему решение должно быть именно таким. Совмести приятное с полезным.

Оффер 1 + 2:

Платишь за один курс (старший по цене), забираешь три.

Рекомендуем:

— Алгоритмы и структуры данных;
— Математика для Data Science (если смотришь в сторону AI);
— Архитектуры и шаблоны проектирования.

Забрать бандл

До 31 декабря.
Менеджер: @manager_proglib
У вас есть Python-сервис, обрабатывающий большие объёмы данных. При профилировании видно, что программа тратит много времени на создание временных коллекций при работе с map, filter и list comprehensions. Какой подход поможет уменьшить расход памяти и повысить эффективность?

👾 — Переписать код на while-циклы с индексами
👍 — Использовать генераторы и выражения-генераторы вместо создания списков
🥰 — Заменить map и filter на вложенные for-циклы
⚡️ — Принудительно вызывать gc.collect() после каждой итерации

Библиотека задач по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16
Что будет у functools.lru_cache, если аргумент не хешируемый (например, list)?

👾 — Автоматически скопирует и захеширует любой аргумент
👍 — Построит ключ из args/kwargs; при нехешируемом аргументе бросит TypeError на вызове
🥰 — Нехешируемые аргументы игнорируются при ключе
⚡️ — Учитывает только позиционные аргументы, kwargs игнорируются

Библиотека задач по Python
👍6