Rust

Cargo & Ecosystem

คำสั่ง Cargo, dependency, feature, build script, workspace, crates.io, เอกสาร

18 คำถามสัมภาษณ์·
Mid-Level
1

คำสั่ง Cargo ใดที่คอมไพล์โปรเจกต์โดยไม่สร้างไฟล์ executable สุดท้าย?

คำตอบ

คำสั่ง cargo check คอมไพล์โค้ดเพื่อตรวจสอบข้อผิดพลาดโดยไม่สร้างไบนารีสุดท้าย คำสั่งนี้เร็วกว่า cargo build มากเพราะข้ามขั้นตอนการสร้างโค้ดเครื่อง เหมาะอย่างยิ่งระหว่างการพัฒนาเพื่อตรวจสอบอย่างรวดเร็วว่าโค้ดคอมไพล์ได้อย่างถูกต้อง

2

จะระบุ dependency ที่มีเวอร์ชันขั้นต่ำ 1.2.0 แต่ต่ำกว่า 2.0.0 ใน Cargo.toml ได้อย่างไร?

คำตอบ

ไวยากรณ์ serde = "1.2" ใช้การกำหนดเวอร์ชันเชิงความหมายเริ่มต้นของ Cargo ซึ่งหมายความว่า Cargo จะยอมรับเวอร์ชันใด ๆ ที่เข้ากันได้กับ 1.2.0 นั่นคือ >= 1.2.0 และ < 2.0.0 สัญกรณ์นี้เทียบเท่ากับ serde = "^1.2" และเป็นวิธีที่เป็นสำนวนในการระบุ dependency ใน Rust

3

ไฟล์ Cargo.lock มีบทบาทอย่างไรในโปรเจกต์ Rust?

คำตอบ

ไฟล์ Cargo.lock บันทึกเวอร์ชันที่แน่นอนของ dependency ทั้งหมดที่ใช้ระหว่างการคอมไพล์สำเร็จครั้งล่าสุด สิ่งนี้รับประกัน build ที่ทำซ้ำได้โดยใช้เวอร์ชันเดียวกันทุกประการบนเครื่องที่ต่างกัน สำหรับไลบรารี ไฟล์นี้มักถูกละเว้นใน git แต่สำหรับไบนารีและแอปพลิเคชัน ควรเก็บไว้ในการควบคุมเวอร์ชัน

4

จะกำหนด feature ที่เป็นทางเลือกใน Cargo.toml ได้อย่างไร?

5

ไฟล์ build.rs ที่อยู่ในรากของโปรเจกต์ Cargo มีไว้เพื่ออะไร?

+15 คำถามสัมภาษณ์

เชี่ยวชาญ Rust สำหรับการสัมภาษณ์ครั้งถัดไป

เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์

เริ่มใช้ฟรี