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

Какие знаешь архитектуры построения приложений

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

MVC (Model-View-Controller)
Разделение на модель (данные), представление (UI) и контроллер (бизнес-логика). Пример - Django.

python
# models.py (Model)
class User(models.Model):
    name = models.CharField()

# views.py (Controller)
def user_list(request):
    users = User.objects.all()
    return render(request, 'users.html', {'users': users})

users.html (View)

{% for user in users %}{{ user.name }}{% endfor %}

text

**Микросервисы**  
Приложение разбивается на независимые сервисы. Используется Flask/FastAPI:

```python
# service_a.py
@app.get('/users')
def get_users(): ...

# service_b.py
@app.get('/orders')
def get_orders(): ...

Событийно-ориентированная (Event-Driven)
Компоненты общаются через события (RabbitMQ, Kafka):

python
# producer.py
channel.basic_publish(exchange='', routing_key='queue', body='event')

# consumer.py
def callback(ch, method, properties, body):
    print("Received", body)

Слоистая (Layered)
Разделение на presentation, business, data слои. Чистая архитектура с зависимостями внутрь.

Выбор зависит от масштаба, требований к гибкости и сложности приложения.

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

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

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

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