Rust

Web Frameworks

Actix-web, Axum, Rocket, routing, middleware, handler, quản lý state, JSON serialization

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

Web framework Rust nào được xây dựng trực tiếp trên tokio và tower, ưu tiên cách tiếp cận mô-đun dựa trên trait?

Câu trả lời

Axum được xây dựng trên tokio và tower, sử dụng hệ thống Service và Layer của tower cho middleware. Kiến trúc này mang lại khả năng kết hợp (composability) cao và tích hợp tự nhiên với hệ sinh thái tower (timeout, rate limiting, tracing). Axum tận dụng các trait của Rust để trích xuất dữ liệu và quản lý handler một cách type-safe.

2

Làm thế nào để định nghĩa một route GET với path parameter trong Axum?

Câu trả lời

Trong Axum, path parameter sử dụng cú pháp :param trong định nghĩa route và được trích xuất qua extractor Path<T>. Kiểu T phải triển khai Deserialize, cho phép trích xuất type-safe. Thứ tự của các extractor trong signature của handler quyết định cách dữ liệu được trích xuất từ request.

3

Đặc điểm nổi bật của mô hình thực thi của Actix-web so với các framework Rust khác là gì?

Câu trả lời

Actix-web sử dụng actor model trong đó mỗi worker là một actor độc lập với state riêng. Các request được xử lý bởi các actor giao tiếp qua các message bất đồng bộ. Mô hình này mang lại sự cô lập tuyệt vời và khả năng mở rộng theo chiều ngang một cách tự nhiên, mặc dù actor model không còn bắt buộc trong các phiên bản gần đây.

4

Làm thế nào để chia sẻ application state giữa các handler trong Axum?

5

Cú pháp của Rocket để định nghĩa một route với việc xác thực body JSON tự động là gì?

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