Rust

Type System

Zero-cost abstractions, newtype pattern, type aliases, phantom types, const generics

20 câu hỏi phỏng vấn·
Senior
1

Zero-cost abstraction trong Rust là gì?

Câu trả lời

Zero-cost abstraction là một trừu tượng không gây ra bất kỳ chi phí runtime nào so với mã tương đương được viết thủ công. Trình biên dịch Rust tối ưu hóa các trừu tượng này để mã được sinh ra hiệu quả như mã low-level viết tay, không có overhead bổ sung.

2

Lợi ích chính của newtype pattern trong Rust là gì?

Câu trả lời

Newtype pattern tạo ra một kiểu mới riêng biệt bao bọc một kiểu hiện có, cung cấp an toàn kiểu tại compile time. Điều này ngăn việc nhầm lẫn giữa các giá trị có cùng kiểu cơ sở nhưng mang ý nghĩa khác nhau, như user ID và product ID đều được biểu diễn bằng số nguyên.

3

Làm thế nào để khai báo một type alias trong Rust?

Câu trả lời

Một type alias được khai báo bằng từ khóa type theo sau là tên alias và kiểu đích. Ví dụ, type Kilometers = i32 tạo một alias cho i32. Khác với newtype pattern, một type alias không phải là một kiểu mới riêng biệt mà chỉ là một từ đồng nghĩa có thể dùng thay thế cho kiểu gốc.

4

Sự khác biệt giữa type alias và newtype về mặt type safety là gì?

5

Phantom type trong Rust là gì?

+17 câu hỏi phỏng vấn

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í