# Iterators & Closures (Rust) > Iterator trait, iterator adapters (map, filter, fold), sintassi delle closure, move closures, Fn traits - 22 domande da colloquio - Mid-Level - [Domande da colloquio: Rust](https://sharpskill.dev/it/technologies/rust/domande-colloquio.md) ## 1. Quale trait deve implementare un tipo per poter essere usato in un ciclo for in Rust? **Risposta** Il trait IntoIterator consente a un tipo di essere convertito in un iteratore. Il ciclo for chiama automaticamente into_iter() sull'espressione. Tipi come Vec, array e range implementano questo trait per impostazione predefinita, il che permette di iterarli direttamente con for. ## 2. Quale metodo del trait Iterator deve essere obbligatoriamente implementato? **Risposta** Il metodo next() è l'unico metodo richiesto del trait Iterator. Restituisce Option, ovvero Some(item) se ci sono ancora elementi, oppure None quando l'iterazione è completa. Tutti gli altri metodi come map, filter o collect hanno implementazioni predefinite basate su next(). ## 3. Qual è la differenza tra iter(), iter_mut() e into_iter() su un Vec? **Risposta** iter() restituisce un iteratore su riferimenti immutabili (&T), iter_mut() su riferimenti mutabili (&mut T), e into_iter() consuma il Vec e restituisce gli elementi per valore (T). La scelta dipende dal fatto che si voglia leggere, modificare o prendere possesso degli elementi. ## Altre 19 domande disponibili - Cos'è un iteratore lazy in Rust e perché è importante? - Qual è la sintassi corretta per definire una closure che accetta due parametri i32 e ne restituisce la somma? Registrati gratis: https://sharpskill.dev/it/login ## Altri argomenti di colloquio Rust - [Fondamenti di Rust](https://sharpskill.dev/it/technologies/rust/domande-colloquio/rust-basics.md): 25 domande, Junior - [Ownership & Borrowing](https://sharpskill.dev/it/technologies/rust/domande-colloquio/ownership-borrowing.md): 22 domande, Junior - [Structs & Enums](https://sharpskill.dev/it/technologies/rust/domande-colloquio/structs-enums.md): 20 domande, Junior - [Gestione degli errori](https://sharpskill.dev/it/technologies/rust/domande-colloquio/error-handling.md): 18 domande, Junior - [Collezioni](https://sharpskill.dev/it/technologies/rust/domande-colloquio/collections.md): 20 domande, Junior - [Moduli e package](https://sharpskill.dev/it/technologies/rust/domande-colloquio/modules-packages.md): 18 domande, Junior - [Traits](https://sharpskill.dev/it/technologies/rust/domande-colloquio/traits.md): 22 domande, Mid-Level - [Generics](https://sharpskill.dev/it/technologies/rust/domande-colloquio/generics.md): 20 domande, Mid-Level - [Lifetimes](https://sharpskill.dev/it/technologies/rust/domande-colloquio/lifetimes.md): 20 domande, Mid-Level - [Smart Pointers](https://sharpskill.dev/it/technologies/rust/domande-colloquio/smart-pointers.md): 22 domande, Mid-Level - [Concurrency Basics](https://sharpskill.dev/it/technologies/rust/domande-colloquio/concurrency-basics.md): 20 domande, Mid-Level - [async/await](https://sharpskill.dev/it/technologies/rust/domande-colloquio/async-await.md): 22 domande, Mid-Level - [Testing](https://sharpskill.dev/it/technologies/rust/domande-colloquio/testing.md): 18 domande, Mid-Level - [Cargo & Ecosystem](https://sharpskill.dev/it/technologies/rust/domande-colloquio/cargo-ecosystem.md): 18 domande, Mid-Level - [Pattern Matching](https://sharpskill.dev/it/technologies/rust/domande-colloquio/pattern-matching.md): 18 domande, Mid-Level - [Macro](https://sharpskill.dev/it/technologies/rust/domande-colloquio/macros.md): 20 domande, Mid-Level - [Serde e serializzazione](https://sharpskill.dev/it/technologies/rust/domande-colloquio/serde-serialization.md): 20 domande, Mid-Level - [Unsafe Rust](https://sharpskill.dev/it/technologies/rust/domande-colloquio/unsafe-rust.md): 20 domande, Senior - [Trait avanzati](https://sharpskill.dev/it/technologies/rust/domande-colloquio/advanced-traits.md): 22 domande, Senior - [Lifetime Avanzati](https://sharpskill.dev/it/technologies/rust/domande-colloquio/advanced-lifetimes.md): 20 domande, Senior - [Type System](https://sharpskill.dev/it/technologies/rust/domande-colloquio/type-system.md): 20 domande, Senior - [Tokio & Async I/O](https://sharpskill.dev/it/technologies/rust/domande-colloquio/tokio-async.md): 22 domande, Senior - [Ottimizzazione delle Prestazioni](https://sharpskill.dev/it/technologies/rust/domande-colloquio/performance-optimization.md): 20 domande, Senior - [Memory Management](https://sharpskill.dev/it/technologies/rust/domande-colloquio/memory-management.md): 20 domande, Senior - [Web Frameworks](https://sharpskill.dev/it/technologies/rust/domande-colloquio/web-frameworks.md): 22 domande, Senior - [Database Integration](https://sharpskill.dev/it/technologies/rust/domande-colloquio/database-integration.md): 20 domande, Senior - [Design Pattern in Rust](https://sharpskill.dev/it/technologies/rust/domande-colloquio/design-patterns.md): 20 domande, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/it/technologies/rust/domande-colloquio/iterators-closures