Встречается на собеседованиях • сегодня
Какие действия предпримешь для поиска причины задержки работы эндпоинта до обращения к базе данных
Для поиска причины задержки работы эндпоинта до обращения к БД можно выполнить следующие шаги:
- Логирование времени выполнения - добавить логирование на разных этапах обработки запроса:
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
интервью вопросы и ответы