# Go Design Patterns (Go) > Singleton, Factory, Builder, Strategy, Decorator, Adapter, functional options, SOLID - 24 Interview-Fragen - Senior - [Interview-Fragen: Go](https://sharpskill.dev/de/technologies/go/interviewfragen.md) ## 1. Was ist der Hauptvorteil des Functional Options Pattern in Go? **Antwort** Das Functional Options Pattern ermöglicht das Erstellen konfigurierbarer APIs mit optionalen Parametern, ohne Konstruktoren zu überladen. Es vermeidet mehrere Konstruktoren mit unterschiedlichen Signaturen und bietet eine erweiterbare und lesbare API. Dieses Pattern ist in Go idiomatisch, da es First-Class-Functions nutzt und mehrdeutige Standardwerte vermeidet. ## 2. Welcher Ansatz wird zur Implementierung des Singleton Pattern in Go empfohlen? **Antwort** In Go wird das Singleton Pattern idealerweise mit sync.Once implementiert, das eine thread-safe und lazy Initialization garantiert. Dieser Ansatz vermeidet manuelle Mutexes und Double-Checked Locking, die fehleranfällig sind. sync.Once stellt sicher, dass eine Funktion nur einmal ausgeführt wird, selbst bei mehreren gleichzeitigen Goroutines. ## 3. Welches SOLID-Prinzip fördert die Verwendung von Interfaces in Go? **Antwort** Das Dependency-Inversion-Prinzip besagt, dass High-Level-Module nicht von Low-Level-Modulen abhängen sollten, sondern von Abstraktionen (Interfaces). In Go bedeutet dies, Interfaces zu akzeptieren und konkrete Typen zurückzugeben. Dieses Prinzip erleichtert das Testen (Mocking), die Entkopplung und die Wartbarkeit des Codes. ## 21 weitere Fragen verfügbar - Wie implementiert man das Factory Pattern in Go idiomatisch? - Was ist die Hauptaufgabe des Adapter Patterns? Kostenlos registrieren: https://sharpskill.dev/de/login ## Weitere Go-Interviewthemen - [Go-Grundlagen](https://sharpskill.dev/de/technologies/go/interviewfragen/go-basics.md): 25 Fragen, Junior - [Go-Datenstrukturen](https://sharpskill.dev/de/technologies/go/interviewfragen/go-data-structures.md): 20 Fragen, Junior - [Go-Interfaces](https://sharpskill.dev/de/technologies/go/interviewfragen/go-interfaces.md): 18 Fragen, Junior - [Fehlerbehandlung](https://sharpskill.dev/de/technologies/go/interviewfragen/error-handling.md): 20 Fragen, Junior - [Goroutines-Grundlagen](https://sharpskill.dev/de/technologies/go/interviewfragen/goroutines-basics.md): 20 Fragen, Junior - [Channels](https://sharpskill.dev/de/technologies/go/interviewfragen/channels.md): 22 Fragen, Junior - [Go Modules](https://sharpskill.dev/de/technologies/go/interviewfragen/go-modules.md): 18 Fragen, Mid-Level - [HTTP-Server](https://sharpskill.dev/de/technologies/go/interviewfragen/http-server.md): 24 Fragen, Mid-Level - [HTTP-Client](https://sharpskill.dev/de/technologies/go/interviewfragen/http-client.md): 18 Fragen, Mid-Level - [JSON-Kodierung](https://sharpskill.dev/de/technologies/go/interviewfragen/json-encoding.md): 20 Fragen, Mid-Level - [Database/SQL](https://sharpskill.dev/de/technologies/go/interviewfragen/database-sql.md): 22 Fragen, Mid-Level - [context-Paket](https://sharpskill.dev/de/technologies/go/interviewfragen/context-package.md): 20 Fragen, Mid-Level - [Testing](https://sharpskill.dev/de/technologies/go/interviewfragen/testing.md): 22 Fragen, Mid-Level - [Concurrency-Patterns](https://sharpskill.dev/de/technologies/go/interviewfragen/concurrency-patterns.md): 24 Fragen, Mid-Level - [Synchronisationsprimitive](https://sharpskill.dev/de/technologies/go/interviewfragen/sync-primitives.md): 22 Fragen, Mid-Level - [Go-Web-Frameworks](https://sharpskill.dev/de/technologies/go/interviewfragen/go-web-frameworks.md): 20 Fragen, Mid-Level - [REST-API-Design](https://sharpskill.dev/de/technologies/go/interviewfragen/rest-api-design.md): 20 Fragen, Mid-Level - [gRPC](https://sharpskill.dev/de/technologies/go/interviewfragen/grpc.md): 22 Fragen, Mid-Level - [Reflection](https://sharpskill.dev/de/technologies/go/interviewfragen/reflection.md): 20 Fragen, Senior - [Speicherverwaltung](https://sharpskill.dev/de/technologies/go/interviewfragen/memory-management.md): 24 Fragen, Senior - [Performance-Optimierung](https://sharpskill.dev/de/technologies/go/interviewfragen/performance-optimization.md): 22 Fragen, Senior - [Generics](https://sharpskill.dev/de/technologies/go/interviewfragen/generics.md): 20 Fragen, Senior - [Microservices](https://sharpskill.dev/de/technologies/go/interviewfragen/microservices.md): 24 Fragen, Senior - [Sicherheit und Authentifizierung](https://sharpskill.dev/de/technologies/go/interviewfragen/security-authentication.md): 24 Fragen, Senior - [Docker & Containerization](https://sharpskill.dev/de/technologies/go/interviewfragen/docker-containerization.md): 20 Fragen, Senior - [Kubernetes Basics](https://sharpskill.dev/de/technologies/go/interviewfragen/kubernetes-basics.md): 22 Fragen, Senior - [Fortgeschrittenes Go](https://sharpskill.dev/de/technologies/go/interviewfragen/advanced-go.md): 20 Fragen, Senior - [CLI-Entwicklung](https://sharpskill.dev/de/technologies/go/interviewfragen/cli-development.md): 20 Fragen, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/de/technologies/go/interviewfragen/design-patterns