Go

Design Patterns Go

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

24 questions d'entretien·
Senior
1

Quel est le principal avantage du pattern Functional Options en Go ?

Réponse

Le pattern Functional Options permet de créer des APIs configurables avec des paramètres optionnels sans surcharger les constructeurs. Il évite les constructeurs multiples avec différentes signatures et offre une API extensible et lisible. Ce pattern est idiomatique en Go car il exploite les fonctions de première classe et évite les valeurs par défaut ambiguës.

2

Quelle approche est recommandée pour implémenter le pattern Singleton en Go ?

Réponse

En Go, le pattern Singleton est idéalement implémenté avec sync.Once qui garantit une initialisation thread-safe et paresseuse (lazy initialization). Cette approche évite les mutex manuels et les double-checked locking qui sont sources d'erreurs. sync.Once garantit qu'une fonction est exécutée une seule fois même en présence de multiples goroutines concurrentes.

3

Quel principe SOLID encourage l'utilisation des interfaces en Go ?

Réponse

Le principe Dependency Inversion (Inversion des dépendances) stipule que les modules de haut niveau ne doivent pas dépendre de modules de bas niveau, mais d'abstractions (interfaces). En Go, cela se traduit par l'acceptation d'interfaces et le retour de types concrets. Ce principe facilite les tests (mocking), le découplage et la maintenabilité du code.

4

Comment implémenter le pattern Factory en Go de manière idiomatique ?

5

Quel est le rôle principal du pattern Adapter ?

+21 questions d'entretien

Maîtrise Go pour ton prochain entretien

Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.

Commencer gratuitement