Rust

Web Frameworks

Actix-web, Axum, Rocket, routing, middleware, handler, การจัดการ state, JSON serialization

22 คำถามสัมภาษณ์·
Senior
1

Rust web framework ใดที่สร้างขึ้นโดยตรงบน tokio และ tower โดยใช้แนวทางแบบโมดูลที่อิงกับ trait?

คำตอบ

Axum สร้างขึ้นบน tokio และ tower โดยใช้ระบบ Service และ Layer ของ tower สำหรับ middleware สถาปัตยกรรมนี้ช่วยให้มี composability ที่ดีเยี่ยมและผสานรวมกับ ecosystem ของ tower ได้อย่างเป็นธรรมชาติ (timeout, rate limiting, tracing) Axum ใช้ประโยชน์จาก trait ของ Rust สำหรับการดึงข้อมูลและการจัดการ handler แบบ type-safe

2

จะกำหนด route GET ที่มี path parameter ใน Axum ได้อย่างไร?

คำตอบ

ใน Axum path parameter จะใช้ไวยากรณ์ :param ในการกำหนด route และถูกดึงผ่าน extractor Path<T> ชนิด T ต้อง implement Deserialize ซึ่งทำให้การดึงข้อมูลเป็นแบบ type-safe ลำดับของ extractor ใน signature ของ handler จะกำหนดว่าข้อมูลถูกดึงจาก request อย่างไร

3

อะไรคือคุณลักษณะเด่นของโมเดลการทำงานของ Actix-web เมื่อเทียบกับ framework Rust อื่น ๆ?

คำตอบ

Actix-web ใช้ actor model ที่ worker แต่ละตัวเป็น actor อิสระที่มี state ของตัวเอง request จะถูกจัดการโดย actor ที่สื่อสารผ่านข้อความแบบ asynchronous โมเดลนี้ให้การแยกส่วน (isolation) ที่ยอดเยี่ยมและรองรับการขยายแบบ horizontal ได้อย่างเป็นธรรมชาติ แม้ว่า actor model จะไม่ได้บังคับใช้อีกต่อไปในเวอร์ชันล่าสุด

4

จะแชร์ application state ระหว่าง handler ใน Axum ได้อย่างไร?

5

ไวยากรณ์ของ Rocket สำหรับการกำหนด route ที่มีการตรวจสอบ body JSON อัตโนมัติคืออะไร?

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

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

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

เริ่มใช้ฟรี