# async/await (Rust) > fungsi async, trait Future, runtime tokio, blok async, sintaks .await, Streams, Pin, pembatalan, pola executor - 22 pertanyaan wawancara - Mid-Level - [Pertanyaan Wawancara: Rust](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara.md) ## 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. ## 19 pertanyaan lagi tersedia - Apa perbedaan antara async block dan async function di Rust? - Apa yang terjadi saat menggunakan .await pada sebuah Future di Rust? Daftar gratis: https://sharpskill.dev/id/login ## Topik wawancara Rust lainnya - [Dasar-Dasar Rust](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/rust-basics.md): 25 pertanyaan, Junior - [Ownership & Borrowing](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/ownership-borrowing.md): 22 pertanyaan, Junior - [Structs & Enums](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/structs-enums.md): 20 pertanyaan, Junior - [Penanganan Error](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/error-handling.md): 18 pertanyaan, Junior - [Collections](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/collections.md): 20 pertanyaan, Junior - [Module & Package](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/modules-packages.md): 18 pertanyaan, Junior - [Traits](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/traits.md): 22 pertanyaan, Mid-Level - [Generics](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/generics.md): 20 pertanyaan, Mid-Level - [Lifetimes](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/lifetimes.md): 20 pertanyaan, Mid-Level - [Iterators & Closures](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/iterators-closures.md): 22 pertanyaan, Mid-Level - [Smart Pointers](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/smart-pointers.md): 22 pertanyaan, Mid-Level - [Concurrency Basics](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/concurrency-basics.md): 20 pertanyaan, Mid-Level - [Testing](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/testing.md): 18 pertanyaan, Mid-Level - [Cargo & Ecosystem](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/cargo-ecosystem.md): 18 pertanyaan, Mid-Level - [Pattern Matching](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/pattern-matching.md): 18 pertanyaan, Mid-Level - [Macro](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/macros.md): 20 pertanyaan, Mid-Level - [Serde & Serialisasi](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/serde-serialization.md): 20 pertanyaan, Mid-Level - [Unsafe Rust](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/unsafe-rust.md): 20 pertanyaan, Senior - [Trait Lanjutan](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/advanced-traits.md): 22 pertanyaan, Senior - [Lifetime Lanjutan](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/advanced-lifetimes.md): 20 pertanyaan, Senior - [Type System](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/type-system.md): 20 pertanyaan, Senior - [Tokio & Async I/O](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/tokio-async.md): 22 pertanyaan, Senior - [Optimasi Performa](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/performance-optimization.md): 20 pertanyaan, Senior - [Memory Management](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/memory-management.md): 20 pertanyaan, Senior - [Web Frameworks](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/web-frameworks.md): 22 pertanyaan, Senior - [Database Integration](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/database-integration.md): 20 pertanyaan, Senior - [Design Pattern Rust](https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/design-patterns.md): 20 pertanyaan, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/id/technologies/rust/pertanyaan-wawancara/async-await