FastAPI, PostgreSQL (orm), RabbitMQ, Redis, Eternal APIs

Такую структуру можно использовать для слоистой архитектуры: api — HTTP, application — сценарии, domain — бизнес-правила, inf — адаптеры БД, очередей, кеша и внешних API.

Короткий ответ

Что ответить на собеседовании

Такую структуру можно использовать для слоистой архитектуры: api — HTTP, application — сценарии, domain — бизнес-правила, inf — адаптеры БД, очередей, кеша и внешних API.

Подробный разбор

Ответ с пояснениями

Условие

FastAPI, PostgreSQL (orm), RabbitMQ, Redis, Eternal APIs

src/api src/application src/domain src/inf

Ответ

Такую структуру можно использовать для слоистой архитектуры: api — HTTP, application — сценарии, domain — бизнес-правила, inf — адаптеры БД, очередей, кеша и внешних API.

В условии указан стек и каталоги, но не сформулировано отдельное задание; рассмотрим распределение ответственности. Роут FastAPI валидирует вход и вызывает сценарий приложения. Сценарий координирует доменные объекты, репозитории и транзакцию. PostgreSQL ORM, RabbitMQ, Redis и клиенты внешних API находятся за интерфейсами инфраструктуры. Domain не должен импортировать FastAPI или знать HTTP-статусы. Зависимости связываются при старте приложения. Внешние вызовы получают таймауты, повторяемые операции — ключи идемпотентности; ошибки переводятся в HTTP на границе API.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее