
Go Design Patterns
Singleton, Factory, Builder, Strategy, Decorator, Adapter, functional options, SOLID
1Apa keuntungan utama dari pattern Functional Options di Go?
Apa keuntungan utama dari pattern Functional Options di Go?
Jawaban
Pattern Functional Options memungkinkan pembuatan API yang dapat dikonfigurasi dengan parameter opsional tanpa melakukan overloading pada constructor. Pattern ini menghindari banyak constructor dengan signature berbeda dan menyediakan API yang extensible serta mudah dibaca. Pattern ini idiomatic di Go karena memanfaatkan first-class function dan menghindari nilai default yang ambigu.
2Pendekatan apa yang direkomendasikan untuk mengimplementasikan pattern Singleton di Go?
Pendekatan apa yang direkomendasikan untuk mengimplementasikan pattern Singleton di Go?
Jawaban
Di Go, pattern Singleton idealnya diimplementasikan dengan sync.Once yang menjamin inisialisasi thread-safe dan lazy initialization. Pendekatan ini menghindari mutex manual dan double-checked locking yang rawan kesalahan. sync.Once memastikan bahwa sebuah fungsi dieksekusi hanya sekali bahkan dengan banyak goroutine yang berjalan bersamaan.
3Prinsip SOLID mana yang mendorong penggunaan interface di Go?
Prinsip SOLID mana yang mendorong penggunaan interface di Go?
Jawaban
Prinsip Dependency Inversion menyatakan bahwa modul tingkat tinggi tidak boleh bergantung pada modul tingkat rendah, melainkan pada abstraksi (interface). Di Go, ini berarti menerima interface dan mengembalikan tipe konkret. Prinsip ini memudahkan pengujian (mocking), decoupling, dan maintainability kode.
Bagaimana cara mengimplementasikan pattern Factory di Go secara idiomatic?
Apa peran utama dari Adapter pattern?
+21 pertanyaan wawancara
Topik wawancara Go lainnya
Dasar-Dasar Go
Struktur Data Go
Interface Go
Penanganan Error
Dasar-Dasar Goroutine
Channels
Go Modules
Server HTTP
Klien HTTP
Enkoding JSON
Database/SQL
Paket context
Testing
Pola Concurrency
Primitif Sinkronisasi
Framework web Go
Desain API REST
gRPC
Reflection
Manajemen Memori
Optimasi Performa
Generics
Microservices
Keamanan dan Autentikasi
Docker & Containerization
Kubernetes Basics
Go Tingkat Lanjut
Pengembangan CLI
Kuasai Go untuk wawancara berikutnya
Akses semua pertanyaan, flashcards, tes teknis, latihan code review dan simulator wawancara.
Mulai gratis