
Web Frameworks
Actix-web, Axum, Rocket, routing, middleware, handler, gestione dello stato, serializzazione JSON
1Quale framework web Rust è costruito direttamente su tokio e tower, privilegiando un approccio modulare basato sui trait?
Quale framework web Rust è costruito direttamente su tokio e tower, privilegiando un approccio modulare basato sui trait?
Risposta
Axum è costruito su tokio e tower, utilizzando il sistema di Service e Layer di tower per i middleware. Questa architettura consente un'elevata componibilità e un'integrazione naturale con l'ecosistema tower (timeout, rate limiting, tracing). Axum sfrutta i trait di Rust per l'estrazione dei dati e la gestione type-safe degli handler.
2Come definire una route GET con un parametro di percorso in Axum?
Come definire una route GET con un parametro di percorso in Axum?
Risposta
In Axum, i parametri di percorso usano la sintassi :param nella definizione della route e vengono estratti tramite l'extractor Path<T>. Il tipo T deve implementare Deserialize, consentendo un'estrazione type-safe. L'ordine degli extractor nella firma dell'handler determina come i dati vengono estratti dalla richiesta.
3Qual è la caratteristica distintiva del modello di esecuzione di Actix-web rispetto agli altri framework Rust?
Qual è la caratteristica distintiva del modello di esecuzione di Actix-web rispetto agli altri framework Rust?
Risposta
Actix-web utilizza il modello ad attori, in cui ogni worker è un attore indipendente con il proprio stato. Le richieste vengono gestite da attori che comunicano tramite messaggi asincroni. Questo modello offre un'eccellente isolamento e una scalabilità orizzontale naturale, sebbene il modello ad attori non sia più obbligatorio nelle versioni recenti.
Come condividere lo stato dell'applicazione tra gli handler in Axum?
Qual è la sintassi di Rocket per definire una route con validazione automatica del body JSON?
+19 domande da colloquio
Altri argomenti di colloquio Rust
Fondamenti di Rust
Ownership & Borrowing
Structs & Enums
Gestione degli errori
Collezioni
Moduli e package
Traits
Generics
Lifetimes
Iterators & Closures
Smart Pointers
Concurrency Basics
async/await
Testing
Cargo & Ecosystem
Pattern Matching
Macro
Serde e serializzazione
Unsafe Rust
Trait avanzati
Lifetime Avanzati
Type System
Tokio & Async I/O
Ottimizzazione delle Prestazioni
Memory Management
Database Integration
Design Pattern in Rust
Padroneggia Rust per il tuo prossimo colloquio
Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.
Inizia gratis