Go

Channels

Channels, buffered vs unbuffered, close, select, range pada channels, nil channels

22 pertanyaan wawancaraยท
Junior
1

Apa itu channel di Go?

Jawaban

Channel adalah tipe data yang memungkinkan komunikasi dan sinkronisasi antar goroutine. Channel berperan sebagai saluran bertipe yang memungkinkan pengiriman dan penerimaan nilai secara thread-safe. Gunakan channel untuk berbagi data antar goroutine alih-alih berbagi memori secara langsung.

2

Bagaimana cara membuat unbuffered channel bertipe integer di Go?

Jawaban

Unbuffered channel dibuat dengan make(chan T) tanpa menentukan kapasitas. Channel ini memblokir pengirim hingga penerima siap, memastikan sinkronisasi yang ketat. Gunakan unbuffered channel untuk komunikasi one-to-one yang memerlukan sinkronisasi eksplisit.

3

Apa perbedaan utama antara buffered dan unbuffered channel?

Jawaban

Unbuffered channel memblokir pengirim hingga penerima siap (sinkronisasi ketat), sedangkan buffered channel dapat menyimpan nilai hingga kapasitasnya sebelum memblokir. Buffered channel memisahkan goroutine dan meningkatkan performa dalam beberapa kasus, tetapi dapat menyembunyikan masalah konkurensi. Gunakan unbuffered untuk sinkronisasi, buffered untuk throughput.

4

Bagaimana cara membuat buffered channel dengan kapasitas 10 elemen?

5

Bagaimana cara mengirim nilai ke dalam channel?

+19 pertanyaan wawancara

Kuasai Go untuk wawancara berikutnya

Akses semua pertanyaan, flashcards, tes teknis, latihan code review dan simulator wawancara.

Mulai gratis