Go

Go Design Patterns

Singleton, Factory, Builder, Strategy, Decorator, Adapter, functional options, SOLID

24 perguntas de entrevista·
Senior
1

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.

2

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.

3

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.

4

Como implementar o pattern Factory em Go de forma idiomática?

5

Qual é o papel principal do pattern Adapter?

+21 perguntas de entrevista

Domine Go para sua proxima entrevista

Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.

Comece gratis