Go

Go Design Patterns

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

24 domande da colloquio·
Senior
1

Qual è il principale vantaggio del pattern Functional Options in Go?

Risposta

Il pattern Functional Options consente di creare API configurabili con parametri opzionali senza sovraccaricare i costruttori. Evita più costruttori con firme diverse e offre un'API estensibile e leggibile. Questo pattern è idiomatico in Go perché sfrutta le funzioni di prima classe ed evita valori predefiniti ambigui.

2

Quale approccio è consigliato per implementare il pattern Singleton in Go?

Risposta

In Go, il pattern Singleton è implementato idealmente con sync.Once, che garantisce un'inizializzazione thread-safe e lazy initialization. Questo approccio evita i mutex manuali e il double-checked locking, che sono soggetti a errori. sync.Once assicura che una funzione venga eseguita una sola volta anche in presenza di più goroutine concorrenti.

3

Quale principio SOLID incoraggia l'uso delle interface in Go?

Risposta

Il principio Dependency Inversion afferma che i moduli di alto livello non dovrebbero dipendere dai moduli di basso livello, ma da astrazioni (interface). In Go, questo si traduce nell'accettare interface e restituire tipi concreti. Questo principio facilita il testing (mocking), il disaccoppiamento e la manutenibilità del codice.

4

Come implementare il pattern Factory in Go in modo idiomatico?

5

Qual è il ruolo principale del pattern Adapter?

+21 domande da colloquio

Padroneggia Go per il tuo prossimo colloquio

Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.

Inizia gratis