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

Какой архитектурный подход используешь в FastAPI

FastAPI основан на архитектурном подходе MVC (Model-View-Controller) с элементами Dependency Injection.

  • Модели (Model) – Pydantic модели для валидации данных и ORM (например, SQLAlchemy).
  • Представления (View) – FastAPI роутеры (@app.get, @app.post и т.д.), которые обрабатывают HTTP-запросы.
  • Контроллеры (Controller) – бизнес-логика в функциях-обработчиках.

Также поддерживает Dependency Injection для управления зависимостями (например, БД, аутентификация).

Пример:

python
from fastapi import FastAPI, Depends
from pydantic import BaseModel

app = FastAPI()

# Model
class Item(BaseModel):
    name: str
    price: float

# Dependency (DI)
def get_db():
    return "fake_db"

# Controller
@app.post("/items/")
def create_item(item: Item, db: str = Depends(get_db)):
    return {"item": item, "db": db}

Это делает код модульным, тестируемым и легко расширяемым.

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

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

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

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