
Go Design Patterns
Singleton, Factory, Builder, Strategy, Decorator, Adapter, functional options, SOLID
1Qual é a principal vantagem do pattern Functional Options em Go?
Qual é a principal vantagem do pattern Functional Options em Go?
Resposta
O pattern Functional Options permite criar APIs configuráveis com parâmetros opcionais sem sobrecarregar os construtores. Ele evita múltiplos construtores com assinaturas diferentes e oferece uma API extensível e legível. Esse pattern é idiomático em Go porque aproveita as funções de primeira classe e evita valores padrão ambíguos.
2Qual abordagem é recomendada para implementar o pattern Singleton em Go?
Qual abordagem é recomendada para implementar o pattern Singleton em Go?
Resposta
Em Go, o pattern Singleton é idealmente implementado com sync.Once, que garante uma inicialização thread-safe e lazy initialization. Essa abordagem evita mutexes manuais e double-checked locking, que são propensos a erros. sync.Once garante que uma função seja executada apenas uma vez, mesmo com múltiplas goroutines concorrentes.
3Qual princípio SOLID incentiva o uso de interfaces em Go?
Qual princípio SOLID incentiva o uso de interfaces em Go?
Resposta
O princípio Dependency Inversion estabelece que módulos de alto nível não devem depender de módulos de baixo nível, mas de abstrações (interfaces). Em Go, isso se traduz em aceitar interfaces e retornar tipos concretos. Esse princípio facilita os testes (mocking), o desacoplamento e a manutenibilidade do código.
Como implementar o pattern Factory em Go de forma idiomática?
Qual é o papel principal do pattern Adapter?
+21 perguntas de entrevista
Outros temas de entrevista Go
Fundamentos de Go
Estruturas de dados em Go
Interfaces em Go
Tratamento de erros
Goroutines básicas
Channels
Go Modules
Servidor HTTP
Cliente HTTP
Codificação JSON
Database/SQL
Pacote context
Testing
Padrões de concorrência
Primitivas de sincronização
Frameworks web Go
Design de API REST
gRPC
Reflection
Gerenciamento de memória
Otimização de desempenho
Generics
Microservices
Segurança e autenticação
Docker & Containerization
Kubernetes Basics
Go Avançado
Desenvolvimento de CLI
Domine Go para sua proxima entrevista
Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.
Comece gratis