Встречается на собеседованиях • сегодня
Как правильно проектировать код с использованием асинхронных операций
Асинхронный код в Python проектируется с использованием async/await и библиотеки asyncio. Основные принципы:
- Используйте
async defдля асинхронных функций - Вместо блокирующих вызовов используйте асинхронные аналоги (например,
aiohttpвместоrequests) - Избегайте смешивания синхронного и асинхронного кода
- Для конкурентного выполнения задач используйте
asyncio.gather()
Пример:
python
import asyncio
import aiohttp
async def fetch_url(url):
async with aiohttp.ClientSession() as session:
async with session.get(url) as response:
return await response.text()
async def main():
urls = ['http://example.com', 'http://example.org']
tasks = [fetch_url(url) for url in urls]
results = await asyncio.gather(*tasks)
print(results)
asyncio.run(main())Ключевые моменты:
- Не блокируйте event loop долгими синхронными операциями
- Используйте специализированные async-библиотеки
- Обрабатывайте ошибки через
try/exceptвнутри корутин - Для CPU-bound задач используйте
asyncio.to_thread()или отдельные процессы

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы