Встречается на собеседованиях • сегодня
Как улучшить производительность синхронных запросов
Используйте пул соединений (например, requests.Session() в requests), чтобы избежать накладных расходов на установку соединения для каждого запроса.
python
import requests
with requests.Session() as session:
for _ in range(10):
response = session.get('https://example.com') # Переиспользует соединениеОптимизируйте таймауты:
- Уменьшите
connectиreadтаймауты, чтобы избежать долгого ожидания. - Используйте
timeout=(3.05, 27)(connect, read).
Кешируйте ответы, если данные редко меняются (functools.lru_cache).
Распараллеливайте запросы с помощью concurrent.futures.ThreadPoolExecutor:
python
from concurrent.futures import ThreadPoolExecutor
urls = ['https://example.com'] * 10
with ThreadPoolExecutor(max_workers=5) as executor:
responses = list(executor.map(requests.get, urls))Для CPU-bound задач переходите на асинхронность (asyncio, aiohttp).

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