Встречается на собеседованиях • сегодня
Что используют для I/O bound задач
Для I/O bound задач в Python используют асинхронное программирование или многопоточность, так как они позволяют эффективно работать с операциями, где основное время тратится на ожидание (например, сетевые запросы, чтение файлов).
Основные инструменты:
asyncio(асинхронность) — идеально для высоконагруженных сетевых операций.threading(многопоточность) — подходит для задач, где GIL не мешает (например, работа с файлами или внешними API).concurrent.futures.ThreadPoolExecutor— удобная абстракция над потоками.
Пример с asyncio:
python
import asyncio
async def fetch_data(url):
# Имитация I/O операции
await asyncio.sleep(1)
return f"Данные с {url}"
async def main():
tasks = [fetch_data(f"url_{i}") for i in range(3)]
results = await asyncio.gather(*tasks)
print(results)
asyncio.run(main())
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы