Встречается на собеседованиях • сегодня
Можно ли выполнить параллельно 10 запросов, если каждый занимает 20 секунд
Да, можно выполнить 10 запросов параллельно, сократив общее время выполнения до ~20 секунд (вместо 200 при последовательном подходе). В Python для этого можно использовать ThreadPoolExecutor из модуля concurrent.futures или асинхронные запросы с asyncio и aiohttp.
Пример с ThreadPoolExecutor:
python
import requests
from concurrent.futures import ThreadPoolExecutor
def make_request(url):
return requests.get(url).status_code
urls = ["https://example.com"] * 10
with ThreadPoolExecutor(max_workers=10) as executor:
results = list(executor.map(make_request, urls))
text
Или асинхронный вариант:
```python
import aiohttp
import asyncio
async def fetch(session, url):
async with session.get(url) as response:
return await response.text()
async def main():
async with aiohttp.ClientSession() as session:
tasks = [fetch(session, "https://example.com") for _ in range(10)]
await asyncio.gather(*tasks)
asyncio.run(main())Оба подхода позволяют выполнить запросы параллельно, но имеют особенности: потоки подходят для IO-bound операций, а asyncio требует асинхронных библиотек.

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