Встречается на собеседованиях • сегодня
Как решается I/O bound задача
Для решения I/O bound задач в Python используются асинхронные подходы, позволяющие эффективно работать с операциями ввода-вывода (сеть, файлы, БД) без блокировки потока. Основные методы:
- Asyncio (нативный модуль Python для асинхронного кода)
python
import asyncio
async def fetch_data(url):
# Асинхронный HTTP-запрос
reader, writer = await asyncio.open_connection(url, 80)
writer.write(b"GET / HTTP/1.1\r\nHost: example.com\r\n\r\n")
await writer.drain()
data = await reader.read()
return data- Потоки (Threading) - для задач, где asyncio не подходит
python
from threading import Thread
import requests
def fetch_url(url):
response = requests.get(url)
print(response.status_code)
threads = [Thread(target=fetch_url, args=("https://example.com",)) for _ in range(5)]
for t in threads:
t.start()
for t in threads:
t.join()- Использование пулов (ThreadPoolExecutor, ProcessPoolExecutor)
Ключевые моменты:
- Asyncio идеален для сетевых операций
- Threading лучше для блокирующего I/O (например, файловые операции)
- Важно избегать смешивания подходов без необходимости

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