
Smart Pointers
Box<T>, Rc<T>, Arc<T>, RefCell<T>, interior mutability, trait Deref dan Drop
1Apa kasus penggunaan utama Box<T> di Rust?
Apa kasus penggunaan utama Box<T> di Rust?
Jawaban
Box<T> mengalokasikan data di heap alih-alih stack. Ini berguna untuk tipe yang ukurannya tidak diketahui saat compile time (tipe rekursif), untuk memindahkan ownership data besar tanpa menyalin, atau untuk membuat trait object. Pointer Box itu sendiri memiliki ukuran tetap di stack.
2Bagaimana cara mendefinisikan tipe rekursif seperti linked list di Rust?
Bagaimana cara mendefinisikan tipe rekursif seperti linked list di Rust?
Jawaban
Tipe rekursif langsung seperti enum List { Cons(i32, List), Nil } tidak dapat dikompilasi karena compiler tidak dapat menentukan ukurannya. Menggunakan Box<List> menciptakan indirection dengan ukuran tetap (pointer), sehingga compiler dapat menghitung ukuran tipe tersebut.
3Apa perbedaan utama antara Rc<T> dan Arc<T>?
Apa perbedaan utama antara Rc<T> dan Arc<T>?
Jawaban
Rc (Reference Counted) menggunakan penghitung referensi non-atomik, sehingga lebih cepat tetapi terbatas pada satu thread. Arc (Atomically Reference Counted) menggunakan operasi atomik untuk penghitungnya, memungkinkan berbagi antar thread tetapi dengan sedikit overhead performa.
Apa yang dimungkinkan oleh trait Deref di Rust?
Apa itu interior mutability 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
Concurrency Basics
async/await
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