Go

Go Tingkat Lanjut

Internal compiler, runtime, scheduler, cgo, package unsafe, assembly, build tags

20 pertanyaan wawancaraยท
Senior
1

Tool toolchain Go mana yang memungkinkan inspeksi kode assembly yang dihasilkan oleh compiler?

Jawaban

Perintah go tool compile -S menampilkan kode assembly yang dihasilkan oleh compiler Go. Tool ini penting untuk memahami optimasi compiler dan menganalisis kode yang kritis terhadap performa. Juga dimungkinkan untuk menggunakan go build -gcflags=-S untuk mendapatkan hasil yang sama selama build standar.

2

Apa tujuan utama package unsafe di Go?

Jawaban

Package unsafe memungkinkan untuk melewati sistem tipe Go guna melakukan operasi memori tingkat rendah. Package ini menyediakan fungsi seperti Pointer, Sizeof, Alignof, dan Offsetof yang memungkinkan manipulasi alamat memori secara langsung. Penggunaannya tidak disarankan kecuali untuk kasus tertentu seperti interoperabilitas dengan kode C atau optimasi kritis.

3

Bagaimana scheduler Go (GPM) mengatur eksekusi goroutine?

Jawaban

Scheduler Go menggunakan model GPM: G mewakili goroutine, P mewakili prosesor logis (GOMAXPROCS), dan M mewakili thread sistem. Setiap P memiliki run queue lokal berisi goroutine. Ketika sebuah M terblokir pada syscall, P dapat dilepaskan dan dikaitkan dengan M lain untuk melanjutkan eksekusi goroutine. Desain ini memungkinkan penjadwalan yang efisien dengan context switch minimal.

4

Apa itu cgo dan dalam konteks apa sebaiknya digunakan?

5

Direktif mana yang memungkinkan kompilasi kode secara kondisional berdasarkan OS atau arsitektur target?

+17 pertanyaan wawancara

Kuasai Go untuk wawancara berikutnya

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

Mulai gratis