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

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

В Python часто используют следующие архитектурные паттерны для сервисов:

MVC (Model-View-Controller)
Разделяет логику на компоненты:

  • Model (данные и бизнес-логика)
  • View (отображение)
  • Controller (обработка ввода)
    Пример: Django, Flask (с шаблонами).

Микросервисы
Небольшие независимые сервисы, общающиеся через API (REST/gRPC).
Пример: FastAPI для создания отдельных сервисов.

CQRS (Command Query Responsibility Segregation)
Разделение на команды (изменение данных) и запросы (чтение).
Пример:

python
class UserCommandHandler:
    def create_user(self, data): ...

class UserQueryHandler:
    def get_user(self, user_id): ...

Event-Driven
Событийная модель (Kafka, RabbitMQ). Пример:

python
# Producer
def send_event(event):
    channel.basic_publish(exchange='', routing_key='events', body=event)

# Consumer
def callback(ch, method, properties, body):
    process_event(body)

Repository Pattern
Абстракция над хранилищем данных:

python
class UserRepository:
    def get(self, id): ...
    def add(self, user): ...

Dependency Injection
Внедрение зависимостей (FastAPI, injector). Пример:

python
def get_db() -> Session:
    db = SessionLocal()
    try:
        yield db
    finally:
        db.close()
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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