Python задачи и вопросы
1.25K subscribers
419 photos
1 video
1 file
155 links
Задачи и вопросы с собеседований по python разного уровня сложности

По рекламе: @cyberJohnny
Download Telegram
Что выведет код?

👾 — 100 200 10 200
👍 — 10 200 10 200
🥰 — 100 100 10 20
⚡️ — 100 200 100 200

Библиотека задач по Python
В асинхронном сервисе (Python ≥ 3.11) нужно запустить группу независимых корутин и при первой ошибке гарантированно отменить остальные с корректной агрегацией исключений. Что выбрать?

👾 — asyncio.gather(*cors, return_exceptions=True)
👍 — asyncio.TaskGroup()
🥰 — loop.run_until_complete() по одной корутине в цикле
⚡️ — создать asyncio.create_task на каждую и игнорировать исключения в фоне

Библиотека задач по Python
This media is not supported in your browser
VIEW IN TELEGRAM
📅 24 сентября в 19:00 МСК — бесплатный вебинар с Максимом Шаланкиным.

Тема: «ИИ-агенты: новая фаза развития искусственного интеллекта».

🔹 Почему все говорят про ИИ-агентов и куда вливаются миллиарды инвестиций.
🔹 Чем они отличаются от ChatGPT и обычных ботов.
🔹 Как работает цикл агента: восприятие → планирование → действие → обучение.
🔹 Живое демо простого агента.
🔹 Потенциал для бизнеса: автоматизация процессов и ROI до 80%.

Не придёшь — будешь потом рассказывать, что «агенты — это как чат-боты», и ловить косые взгляды от коллег 😏

👉 Регистрируйтесь через форму на лендинге (https://clc.to/webinarAI)
🔥1
Что выведет код?

👾 — {1}
👍 — {9}
🥰 — {KeyError}
👏 — {1} или {9}

Библиотека задач по Python
Нужно запустить долгую корутину и дать вызывающему коду таймаут, но при истечении времени задача не должна отменяться, а продолжить выполняться в фоне. Что выбрать?

👾 — await asyncio.wait_for(op(), timeout=5)
👍 — t = asyncio.create_task(op()); await asyncio.wait_for(asyncio.shield(t), timeout=5)
🥰 — Запуск через ThreadPoolExecutor
— await asyncio.gather(op(), return_exceptions=True) с таймаутом

Библиотека задач по Python
Нужно вызвать блокирующую функцию (нет async-аналога) из обработчика на asyncio, не блокируя event loop. Что выбрать?

👾 — Просто вызвать функцию напрямую в корутине
👍 — await asyncio.to_thread(func, *args, **kwargs)
🥰 — Обернуть функцию в async def и вызвать await func()
— Запустить функцию через time.sleep для «уступки» циклу

Библиотека задач по Python
👍1
Как в FastAPI (SQLAlchemy 2.0 async) корректно обеспечить «сеанс на запрос» с авто-rollback при исключении и гарантированным закрытием соединения?

👾 — Создать один глобальный AsyncSession и шарить его между хэндлерами
👍 — Использовать зависимость с yield
🥰 — Открывать/закрывать сессию вручную в каждом хэндлере try/except
— Класть сессию в app.state на старте приложения и переиспользовать

Библиотека задач по Python
В FastAPI сервисе при нагрузке появляются предупреждения Unclosed client session/connector is closed, растёт число открытых файловых дескрипторов. Вы используете aiohttp для внешних HTTP-запросов. Какой подход корректный?

👾 — Создавать aiohttp.ClientSession() на каждый запрос и не закрывать — пусть GC разберётся
👍 — Создать один ClientSession на старте приложения (lifespan), переиспользовать во всех хэндлерах и корректно закрыть на shutdown
🥰 — Заменить на синхронный requests внутри run_in_executor — тогда дескрипторы не утекут
— Для каждого запроса создавать новый TCPConnector(force_close=True) и сразу закрывать сессию

Библиотека задач по Python
Что из перечисленного не является ключевым словом в языке Python?

👾 — pass
👍 — eval
🥰 — assert
⚡️ — nonlocal

Библиотека задач по Python
Нужно задать таймаут для блока асинхронных операций так, чтобы по истечении времени корректно произошло отмена вложенных await’ов и наверху ловился TimeoutError без «проглатывания» отмен. Что выбрать?

👾 — await asyncio.wait_for(coro, timeout=5)
👍 — async with asyncio.timeout(5): ...
🥰 — signal.alarm(5) в том же потоке
⚡️ — Оборачивать всё в собственный try/except CancelledError

Библиотека задач по Python
Какой будет вывод следующего фрагмента кода?

s = {1, 2, 3, 3, 2, 4, 5, 5}
print(s)

👾 — {1, 2, 3, 3, 2, 4, 5, 5}
👍 — {1, 2, 3, 4, 5}
🥰 — None
⚡️ — {1, 5}

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