Mediumfastapi

Что такое FastAPI и его преимущества?

1Постановка

Разберём, что от вас хотят в этом вопросе и как к нему подступиться на собеседовании.

2Решение

FastAPI (2018) — современный web-фреймворк на Starlette (ASGI) + Pydantic. Быстрый (на уровне Node.js, Go), async-native, типизированный.

from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()

class UserCreate(BaseModel):   # Pydantic — авто-валидация
    name: str
    age: int = 0

@app.get('/users/{id}')
async def get_user(id: int):   # id парсится в int автоматически
    return {'id': id}

@app.post('/users')
async def create(user: UserCreate):
    return user

Ключевые фичи:

  • декларативная валидация через type hints + Pydantic;
  • авто-генерация OpenAPI/Swagger документации;
  • async/await для I/O;
  • система dependency injection (Depends).

Альтернативы: Django (sync, ORM-heavy), Flask (sync, micro).

3Как отвечать

  • Сначала уточните условия и ограничения, покажите аналитическое мышление.
  • Рассуждайте вслух — интервьюеру важен ход мысли, а не только финальный ответ.
  • Оцените сложность по времени и памяти (Big-O), если это алгоритмический вопрос.
💡

На реальном собеседовании Alffert подскажет развёрнутый ответ в реальном времени.