
Web Frameworks
Actix-web, Axum, Rocket, routing, middleware, handlers, state management, JSON serialization
1Quel framework web Rust est construit directement sur tokio et tower, favorisant une approche modulaire basée sur les traits ?
Quel framework web Rust est construit directement sur tokio et tower, favorisant une approche modulaire basée sur les traits ?
Réponse
Axum est construit sur tokio et tower, utilisant le système de Service et Layer de tower pour les middleware. Cette architecture permet une grande composabilité et une intégration naturelle avec l'écosystème tower (timeout, rate limiting, tracing). Axum tire parti des traits Rust pour l'extraction de données et la gestion des handlers de manière type-safe.
2Comment définir une route GET avec un paramètre de chemin dans Axum ?
Comment définir une route GET avec un paramètre de chemin dans Axum ?
Réponse
Dans Axum, les paramètres de chemin utilisent la syntaxe :param dans la définition de route, et sont extraits via l'extracteur Path<T>. Le type T doit implémenter Deserialize, ce qui permet une extraction type-safe. L'ordre des extracteurs dans la signature du handler détermine comment les données sont extraites de la requête.
3Quelle est la particularité du modèle d'exécution d'Actix-web par rapport aux autres frameworks Rust ?
Quelle est la particularité du modèle d'exécution d'Actix-web par rapport aux autres frameworks Rust ?
Réponse
Actix-web utilise le modèle d'acteurs où chaque worker est un acteur indépendant avec son propre état. Les requêtes sont traitées par des acteurs qui communiquent via des messages asynchrones. Ce modèle offre une excellente isolation et permet une scalabilité horizontale naturelle, bien que le modèle d'acteurs ne soit plus obligatoire dans les versions récentes.
Comment partager un état applicatif entre les handlers dans Axum ?
Quelle est la syntaxe de Rocket pour définir une route avec validation automatique du body JSON ?
+19 questions d'entretien
Autres sujets d'entretien Rust
Les bases de Rust
Ownership & Borrowing
Structs & Enums
Gestion des erreurs
Collections
Modules & Packages
Traits
Generics
Lifetimes
Iterators & Closures
Smart Pointers
Concurrency Basics
async/await
Testing
Cargo & Ecosystem
Pattern Matching
Macros
Serde & Serialization
Unsafe Rust
Traits Avancés
Lifetimes Avancés
Type System
Tokio & Async I/O
Optimisation de Performance
Memory Management
Database Integration
Design Patterns Rust
Maîtrise Rust pour ton prochain entretien
Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.
Commencer gratuitement