Встречается на собеседованиях • сегодня
Как бы ты спроектировал API с использованием FastAPI
FastAPI отлично подходит для создания современных API благодаря асинхронности, автоматической документации и валидации данных. Вот ключевые моменты:
- Структура проекта:
python
app/
├── main.py # Точка входа
├── api/ # Роутеры
│ ├── v1/ # Версия API
│ │ ├── items.py
│ │ └── users.py
├── models/ # Pydantic модели
├── database/ # Работа с БД
└── config.py # Настройки- Пример роутера:
python
# api/v1/items.py
from fastapi import APIRouter, HTTPException
router = APIRouter(prefix="/items")
@router.get("/{item_id}")
async def read_item(item_id: int):
return {"item_id": item_id}- Основные практики:
- Используйте Pydantic для валидации входных/выходных данных
- Добавляйте версионирование API (v1, v2)
- Реализуйте JWT-аутентификацию через OAuth2PasswordBearer
- Добавляйте лимиты запросов (rate limiting)
- Используйте dependency injection для повторяющейся логики
- Настройте CORS для фронтенда
- Добавьте логирование и обработку ошибок
- Главный файл:
python
# main.py
from fastapi import FastAPI
from api.v1 import items, users
app = FastAPI()
app.include_router(items.router)
app.include_router(users.router)Такой подход обеспечит масштабируемость, читаемость кода и удобство поддержки API.

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