
Unsafe Rust
Unsafe blocks, raw pointers (*const T, *mut T), FFI, unsafe traits, Undefined Behavior (UB), bất biến safety
1Từ khóa nào kích hoạt các siêu năng lực của chế độ unsafe trong Rust?
Từ khóa nào kích hoạt các siêu năng lực của chế độ unsafe trong Rust?
Câu trả lời
Từ khóa unsafe mở khóa năm khả năng bị cấm trong safe Rust: dereference raw pointers, gọi hàm unsafe, truy cập biến static mutable, triển khai unsafe traits, và truy cập field của union. Block này báo cho compiler biết rằng lập trình viên chịu trách nhiệm đảm bảo memory safety.
2Code unsafe mở khóa thêm bao nhiêu khả năng so với safe Rust?
Code unsafe mở khóa thêm bao nhiêu khả năng so với safe Rust?
Câu trả lời
Chế độ unsafe mở khóa chính xác năm khả năng: dereference các raw pointer, gọi các hàm hoặc phương thức unsafe, truy cập hoặc sửa đổi các biến static mutable, implement các trait unsafe, và truy cập các trường của union. Năm thao tác này là những khác biệt duy nhất giữa safe và unsafe Rust.
3Cú pháp đúng để tạo một raw pointer immutable tới một biến trong Rust là gì?
Cú pháp đúng để tạo một raw pointer immutable tới một biến trong Rust là gì?
Câu trả lời
Cú pháp để tạo một raw pointer immutable là let ptr = &x as *const T. Kiểu *const T biểu thị một raw pointer immutable. Việc tạo raw pointer là safe, chỉ deref mới cần một khối unsafe. Cũng có thể dùng ép kiểu ngầm định với let ptr: *const T = &x.
Sự khác biệt giữa *const T và *mut T trong Rust là gì?
Tại sao việc tạo raw pointer được phép trong safe Rust nhưng việc dereference chúng thì không?
+17 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
Smart Pointers
Concurrency Basics
async/await
Testing
Cargo & Ecosystem
Pattern Matching
Macro
Serde & Serialization
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í