Встречается на собеседованиях • сегодня
Делал ли асинхронный контекстный менеджер на проекте
Да, делал. Асинхронные контекстные менеджеры (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, даже если просто закрывает соединение
- Обрабатывает исключения автоматически
- Полезен для управления асинхронными ресурсами
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы