
Smart Pointers
Box<T>, Rc<T>, Arc<T>, RefCell<T>, interior mutability, trait Deref và Drop
1Trường hợp sử dụng chính của Box<T> trong Rust là gì?
Trường hợp sử dụng chính của Box<T> trong Rust là gì?
Câu trả lời
Box<T> cấp phát dữ liệu trên heap thay vì stack. Điều này hữu ích cho các kiểu có kích thước không xác định tại thời điểm biên dịch (kiểu đệ quy), để chuyển ownership của dữ liệu lớn mà không cần sao chép, hoặc để tạo trait object. Bản thân con trỏ Box có kích thước cố định trên stack.
2Làm thế nào để định nghĩa một kiểu đệ quy như danh sách liên kết trong Rust?
Làm thế nào để định nghĩa một kiểu đệ quy như danh sách liên kết trong Rust?
Câu trả lời
Một kiểu đệ quy trực tiếp như enum List { Cons(i32, List), Nil } không biên dịch được vì trình biên dịch không thể xác định kích thước. Sử dụng Box<List> tạo ra một mức gián tiếp với kích thước cố định (con trỏ), cho phép trình biên dịch tính được kích thước của kiểu.
3Sự khác biệt chính giữa Rc<T> và Arc<T> là gì?
Sự khác biệt chính giữa Rc<T> và Arc<T> là gì?
Câu trả lời
Rc (Reference Counted) sử dụng bộ đếm tham chiếu không atomic, giúp nó hiệu năng cao hơn nhưng chỉ giới hạn trong một luồng. Arc (Atomically Reference Counted) sử dụng các thao tác atomic cho bộ đếm, cho phép chia sẻ giữa các luồng nhưng có một chút overhead về hiệu năng.
Trait Deref cho phép làm gì trong Rust?
Interior mutability (tính khả biến nội tại) trong Rust là gì?
+19 câu hỏi phỏng vấn
Các chủ đề phỏng vấn Rust khác
Cơ bản về Rust
Ownership & Borrowing
Structs & Enums
Xử lý lỗi
Collections
Modules & Packages
Traits
Generics
Lifetimes
Iterators & Closures
Concurrency Basics
async/await
Testing
Cargo & Ecosystem
Pattern Matching
Macro
Serde & Serialization
Unsafe Rust
Trait nâng cao
Lifetime Nâng Cao
Type System
Tokio & Async I/O
Tối ưu hóa Hiệu suất
Memory Management
Web Frameworks
Database Integration
Design Pattern trong Rust
Nắm vững Rust cho lần phỏng vấn tiếp theo
Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.
Bắt đầu miễn phí