Rust

Cargo & Ecosystem

Lệnh Cargo, dependency, feature, build script, workspace, crates.io, tài liệu

18 câu hỏi phỏng vấn·
Mid-Level
1

Lệnh Cargo nào biên dịch một dự án mà không tạo ra tệp thực thi cuối cùng?

Câu trả lời

Lệnh cargo check biên dịch mã để kiểm tra lỗi mà không tạo ra tệp nhị phân cuối cùng. Lệnh này nhanh hơn nhiều so với cargo build vì nó bỏ qua bước sinh mã máy. Nó lý tưởng trong quá trình phát triển để nhanh chóng xác nhận rằng mã biên dịch đúng.

2

Làm thế nào để chỉ định một dependency với phiên bản tối thiểu là 1.2.0 nhưng nhỏ hơn 2.0.0 trong Cargo.toml?

Câu trả lời

Cú pháp serde = "1.2" sử dụng phiên bản hóa ngữ nghĩa mặc định của Cargo. Nó có nghĩa là Cargo sẽ chấp nhận bất kỳ phiên bản nào tương thích với 1.2.0, tức là >= 1.2.0 và < 2.0.0. Ký hiệu này tương đương với serde = "^1.2" và là cách viết theo phong cách chuẩn để chỉ định dependency trong Rust.

3

Vai trò của tệp Cargo.lock trong một dự án Rust là gì?

Câu trả lời

Tệp Cargo.lock ghi lại các phiên bản chính xác của tất cả các dependency được sử dụng trong lần biên dịch thành công gần nhất. Điều này đảm bảo các bản build có thể tái tạo bằng cách sử dụng chính xác cùng một phiên bản trên các máy khác nhau. Đối với thư viện, tệp này thường được bỏ qua trong git, nhưng đối với tệp nhị phân và ứng dụng thì nên được đưa vào quản lý phiên bản.

4

Làm thế nào để định nghĩa một feature tùy chọn trong Cargo.toml?

5

Tệp build.rs ở thư mục gốc của một dự án Cargo dùng để làm gì?

+15 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í