Встречается на собеседованиях • сегодня

Какие действия предпримешь для поиска причины задержки работы эндпоинта до обращения к базе данных

Для поиска причины задержки работы эндпоинта до обращения к БД можно выполнить следующие шаги:

  1. Логирование времени выполнения - добавить логирование на разных этапах обработки запроса:
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
  1. Профилирование кода - использовать cProfile или line_profiler для анализа узких мест:
python
import cProfile
pr = cProfile.Profile()
pr.enable()
# Код эндпоинта
pr.disable()
pr.print_stats(sort='time')
  1. Проверить зависимости - измерить время внешних вызовов (API, кеш, файловая система)

  2. Анализ middleware - проверить, не добавляют ли middleware лишнюю задержку

  3. Проверить сериализацию - измерить время преобразования данных (JSON, protobuf и т.д.)

  4. Убедиться в отсутствии блокирующих операций - проверить, нет ли синхронного кода в асинхронном эндпоинте

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы