
Iterators & Closures
Iterator trait, iterator adapters (map, filter, fold), closure syntax, move closures, Fn traits
1Quel trait doit implémenter un type pour pouvoir être utilisé dans une boucle for en Rust ?
Quel trait doit implémenter un type pour pouvoir être utilisé dans une boucle for en Rust ?
Réponse
Le trait IntoIterator permet à un type d'être converti en itérateur. La boucle for appelle automatiquement into_iter() sur l'expression. Les types comme Vec, arrays et ranges implémentent ce trait par défaut, ce qui permet de les parcourir directement avec for.
2Quelle méthode du trait Iterator doit obligatoirement être implémentée ?
Quelle méthode du trait Iterator doit obligatoirement être implémentée ?
Réponse
La méthode next() est la seule méthode requise du trait Iterator. Elle retourne Option<Self::Item>, soit Some(item) s'il reste des éléments, soit None quand l'itération est terminée. Toutes les autres méthodes comme map, filter ou collect ont des implémentations par défaut basées sur next().
3Quelle est la différence entre iter(), iter_mut() et into_iter() sur un Vec<T> ?
Quelle est la différence entre iter(), iter_mut() et into_iter() sur un Vec<T> ?
Réponse
iter() retourne un itérateur sur des références immutables (&T), iter_mut() sur des références mutables (&mut T), et into_iter() consomme le Vec et retourne les éléments par valeur (T). Le choix dépend de si l'on veut lire, modifier ou prendre possession des éléments.
Qu'est-ce qu'un itérateur lazy en Rust et pourquoi est-ce important ?
Quelle est la syntaxe correcte pour définir une closure qui prend deux paramètres i32 et retourne leur somme ?
+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
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
Web Frameworks
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