
async/await
fungsi async, trait Future, runtime tokio, blok async, sintaks .await, Streams, Pin<T>, pembatalan, pola executor
1Apa yang dikembalikan oleh fungsi yang dideklarasikan dengan kata kunci async di Rust?
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.
2Apa peran utama trait Future di Rust?
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.
3Mengapa runtime seperti tokio diperlukan untuk mengeksekusi kode async di Rust?
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.
Apa perbedaan antara async block dan async function di Rust?
Apa yang terjadi saat menggunakan .await pada sebuah Future di Rust?
+19 pertanyaan wawancara
Topik wawancara Rust lainnya
Dasar-Dasar Rust
Ownership & Borrowing
Structs & Enums
Penanganan Error
Collections
Module & Package
Traits
Generics
Lifetimes
Iterators & Closures
Smart Pointers
Concurrency Basics
Testing
Cargo & Ecosystem
Pattern Matching
Macro
Serde & Serialisasi
Unsafe Rust
Trait Lanjutan
Lifetime Lanjutan
Type System
Tokio & Async I/O
Optimasi Performa
Memory Management
Web Frameworks
Database Integration
Design Pattern Rust
Kuasai Rust untuk wawancara berikutnya
Akses semua pertanyaan, flashcards, tes teknis, latihan code review dan simulator wawancara.
Mulai gratis