Go

Go Design Patterns

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

24 pytań z rozmów·
Senior
1

Jaka jest główna zaleta wzorca Functional Options w Go?

Odpowiedź

Wzorzec Functional Options pozwala tworzyć konfigurowalne API z opcjonalnymi parametrami bez przeciążania konstruktorów. Unika wielu konstruktorów o różnych sygnaturach i zapewnia rozszerzalne oraz czytelne API. Ten wzorzec jest idiomatyczny w Go, ponieważ wykorzystuje funkcje pierwszej klasy i unika niejednoznacznych wartości domyślnych.

2

Jakie podejście jest zalecane do implementacji wzorca Singleton w Go?

Odpowiedź

W Go wzorzec Singleton najlepiej implementuje się za pomocą sync.Once, który gwarantuje inicjalizację thread-safe oraz lazy initialization. To podejście pozwala uniknąć ręcznych mutexów i double-checked locking, które są podatne na błędy. sync.Once gwarantuje, że funkcja zostanie wykonana tylko raz, nawet przy wielu współbieżnych goroutine.

3

Która zasada SOLID zachęca do używania interface w Go?

Odpowiedź

Zasada Dependency Inversion stanowi, że moduły wysokiego poziomu nie powinny zależeć od modułów niskiego poziomu, lecz od abstrakcji (interface). W Go przekłada się to na przyjmowanie interface i zwracanie typów konkretnych. Ta zasada ułatwia testowanie (mocking), rozprzęganie oraz utrzymywalność kodu.

4

Jak idiomatycznie zaimplementować wzorzec Factory w Go?

5

Jaka jest główna rola wzorca Adapter?

+21 pytań z rozmów

Opanuj Go na następną rozmowę

Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.

Zacznij za darmo