Встречается на 1% собеседований по Python
Какие действия предпримешь для поиска причины задержки работы эндпоинта до обращения к базе данных
Для поиска причины задержки работы эндпоинта до обращения к БД можно выполнить следующие шаги:
- Логирование времени выполнения - добавить логирование на разных этапах обработки запроса:
python
import time
from fastapi import Request
@app.middleware("http")
async def log_timing(request: Request, call_next):
start_time = time.time()
response = await call_next(request)
process_time = time.time() - start_time
logger.info(f"Total time: {process_time:.2f}s")
return response- Профилирование кода - использовать
cProfileилиline_profilerдля анализа узких мест:
python
import cProfile
pr = cProfile.Profile()
pr.enable()
# Код эндпоинта
pr.disable()
pr.print_stats(sort='time')-
Проверить зависимости - измерить время внешних вызовов (API, кеш, файловая система)
-
Анализ middleware - проверить, не добавляют ли middleware лишнюю задержку
-
Проверить сериализацию - измерить время преобразования данных (JSON, protobuf и т.д.)
-
Убедиться в отсутствии блокирующих операций - проверить, нет ли синхронного кода в асинхронном эндпоинте

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