
Arquitetura de Microsserviços
Decomposição de serviços, API gateway, service discovery, transações distribuídas, padrões de resiliência, fundamentos do Kubernetes (deployments, services, config)
1O que é o padrão Bounded Context no Domain-Driven Design aplicado a microsserviços?
O que é o padrão Bounded Context no Domain-Driven Design aplicado a microsserviços?
Resposta
Um Bounded Context define uma fronteira explícita em torno de um modelo de domínio com sua própria linguagem ubíqua e banco de dados. Na arquitetura de microsserviços, cada Bounded Context geralmente se torna um microsserviço distribuído independente. Isso garante a autonomia dos dados e evita o compartilhamento de modelos entre serviços. Por exemplo, a entidade User no contexto Profile pode compartilhar o ID com a entidade Buyer no contexto Ordering, mas permanecem modelos distintos com seus próprios atributos e lógica de negócio.
2Qual é o papel principal de um API Gateway em uma arquitetura de microsserviços?
Qual é o papel principal de um API Gateway em uma arquitetura de microsserviços?
Resposta
Um API Gateway serve como ponto de entrada único para grupos de microsserviços, funcionando como um reverse proxy que roteia as requisições dos clientes para os serviços apropriados. Ele implementa o padrão Backend for Frontend (BFF) e lida com preocupações transversais como autenticação, terminação SSL, caching e agregação de respostas. Isso simplifica a comunicação client-to-microservice ao evitar múltiplas chamadas diretas e centralizar a lógica de roteamento.
3Como funciona o service discovery no Docker Compose?
Como funciona o service discovery no Docker Compose?
Resposta
O Docker Compose usa um DNS interno para o service discovery. Cada serviço definido no docker-compose.yml é acessível por seu nome de serviço como hostname. Por exemplo, se um serviço Redis se chama 'basketdata', os outros serviços podem se conectar a ele via ConnectionString=basketdata. O Docker resolve automaticamente esse nome para o endereço IP interno do contêiner na rede Docker compartilhada, eliminando a necessidade de hardcodear os endereços IP.
Qual é o princípio do padrão Circuit Breaker com Polly no .NET?
Como configurar uma política de retry com Polly para HttpClient no .NET?
+22 perguntas de entrevista
Outros temas de entrevista .NET
Fundamentos de C#
LINQ & Delegates
Fundamentos da linguagem C#
Fundamentos do ASP.NET Core
Ciclo de vida das requisições no ASP.NET Core
Configuration & Settings
Ciclo de vida da aplicação
Dependency Injection
Entity Framework Core
Minimal APIs
Desenvolvimento de Web API
Async no ASP.NET Core
Authentication & Authorization
HttpClient & Networking
Serialização JSON
Entity Framework Core avançado
Recursos avançados do C#
Clean Architecture
Logging, Monitoring & Observability
Testes unitários e xUnit
Testes de integração
Docker & Containerization
NuGet Package Management
Memory Management & GC
Programação reativa
Async/await & Patterns
.NET Design Patterns
Otimização de desempenho
Segurança e Best Practices
SignalR e tempo real
Domine .NET para sua proxima entrevista
Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.
Comece gratis