Встречается на собеседованиях • сегодня

Делал ли асинхронный контекстный менеджер на проекте

Да, делал. Асинхронные контекстные менеджеры (async with) полезны при работе с асинхронными ресурсами, например, соединениями с БД или HTTP-клиентами. Реализуются через методы __aenter__ и __aexit__.

Пример простого асинхронного менеджера для подключения к БД:

python
import asyncpg

class AsyncDBConnection:
def init(self, dsn):
self.dsn = dsn
self.conn = None

text
async def __aenter__(self):
    self.conn = await asyncpg.connect(self.dsn)
    return self.conn

async def __aexit__(self, exc_type, exc_val, exc_tb):
    await self.conn.close()

Использование

async def query_data():
async with AsyncDBConnection('postgres://user:pass@localhost/db') as conn:
return await conn.fetch('SELECT * FROM users')

text

Ключевые моменты:
- `__aenter__` должен быть async
- `__aexit__` тоже async, даже если просто закрывает соединение
- Обрабатывает исключения автоматически
- Полезен для управления асинхронными ресурсами
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы