Встречается на собеседованиях • сегодня
Как оптимизировать работу FastAPI
- Используйте асинхронные функции (
async def) для эндпоинтов, особенно при работе с I/O (запросы к БД, API и т.д.). Это уменьшает блокировку событийного цикла.
python
@app.get("/items/{item_id}")
async def read_item(item_id: int):
return await fetch_item_from_db(item_id)- Кеширование (например,
fastapi-cache2или Redis) для часто запрашиваемых данных.
-
Оптимизация зависимостей – избегайте тяжелых вычислений в
Depends(). -
GzipMiddleware для сжатия ответов:
python
from fastapi.middleware.gzip import GZipMiddleware
app.add_middleware(GZipMiddleware)-
Pydantic модели – используйте
response_modelдля валидации и сериализации ответов. -
Статика через
StaticFilesвместо отдельных эндпоинтов. -
Ленивая загрузка – импортируйте тяжелые модули только при необходимости.
-
Профилирование (
cProfile,pyinstrument) для поиска узких мест. -
Уменьшайте количество запросов к БД – используйте
JOINилиselect_relatedв ORM. -
HTTP/2 и UVICORN с
--workers Nдля параллелизма.

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