Rust

async/await

fungsi async, trait Future, runtime tokio, blok async, sintaks .await, Streams, Pin<T>, pembatalan, pola executor

22 pertanyaan wawancaraยท
Mid-Level
1

Apa yang dikembalikan oleh fungsi yang dideklarasikan dengan kata kunci async di Rust?

Jawaban

Fungsi async secara otomatis mengembalikan tipe yang mengimplementasikan trait Future. Compiler mengubah body fungsi menjadi state machine yang mengimplementasikan Future. Nilai kembalian tidak dihitung secara langsung: nilai tersebut baru akan dihitung ketika Future di-await dengan .await atau dieksekusi oleh runtime.

2

Apa peran utama trait Future di Rust?

Jawaban

Trait Future merepresentasikan komputasi asinkron yang mungkin belum selesai. Method poll-nya memungkinkan executor memeriksa apakah Future sudah siap (Poll::Ready) atau perlu menunggu (Poll::Pending). Ini adalah mekanisme fundamental dari asinkronisitas di Rust, yang memungkinkan eksekusi yang non-blocking dan efisien.

3

Mengapa runtime seperti tokio diperlukan untuk mengeksekusi kode async di Rust?

Jawaban

Rust tidak menyertakan runtime asinkron dalam standard library-nya agar bahasa tetap minimal dan memungkinkan pemilihan runtime sesuai kebutuhan. Runtime seperti tokio menyediakan executor yang mem-poll Futures, scheduler untuk mengelola task, dan I/O asinkron. Tanpa runtime, Futures tidak akan pernah dieksekusi.

4

Apa perbedaan antara async block dan async function di Rust?

5

Apa yang terjadi saat menggunakan .await pada sebuah Future di Rust?

+19 pertanyaan wawancara

Kuasai Rust untuk wawancara berikutnya

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

Mulai gratis