Go

Paket context

context.Context, pembatalan, timeout, deadline, nilai, WithCancel, WithTimeout

20 pertanyaan wawancaraยท
Mid-Level
1

Apa peran utama paket context di Go?

Jawaban

Paket context memungkinkan pengelolaan timeout, pembatalan, dan deadline secara konsisten di seluruh rantai pemanggilan. Ini mencegah goroutine zombie yang terus berjalan padahal hasilnya tidak lagi dibutuhkan. Selalu teruskan context sebagai parameter pertama dan periksa Done() secara berkala dalam operasi panjang untuk menghormati pembatalan.

2

Fungsi mana yang membuat context kosong tanpa deadline atau pembatalan?

Jawaban

context.Background() mengembalikan context kosong yang tidak dapat dibatalkan, tanpa deadline atau nilai. Ini berfungsi sebagai titik awal untuk membuat context turunan dan biasanya digunakan di main, inisialisasi, atau pengujian. Jangan pernah menggunakan nil sebagai context karena menyebabkan panic saat mengakses metode.

3

Apa perbedaan antara context.Background() dan context.TODO()?

Jawaban

context.TODO() berfungsi sebagai placeholder ketika context yang sesuai belum jelas atau belum tersedia selama pengembangan. context.Background() digunakan untuk titik masuk nyata seperti main atau handler HTTP. Keduanya identik secara fungsional, tetapi TODO() mendokumentasikan niat sementara yang seharusnya diganti nanti.

4

Bagaimana cara membuat context yang dapat dibatalkan secara manual?

5

Channel mana yang memungkinkan mendeteksi pembatalan sebuah context?

+17 pertanyaan wawancara

Kuasai Go untuk wawancara berikutnya

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

Mulai gratis