# async/await (Rust) > funzioni async, trait Future, runtime tokio, blocchi async, sintassi .await, Streams, Pin, cancellazione, pattern di executor - 22 domande da colloquio - Mid-Level - [Domande da colloquio: Rust](https://sharpskill.dev/it/technologies/rust/domande-colloquio.md) ## 1. Cosa restituisce in Rust una funzione dichiarata con la parola chiave async? **Risposta** Una funzione async restituisce automaticamente un tipo che implementa il trait Future. Il compilatore trasforma il corpo della funzione in una macchina a stati che implementa Future. Il valore di ritorno non viene calcolato immediatamente: verrà calcolato solo quando il Future viene atteso con .await o eseguito da un runtime. ## 2. Qual è il ruolo principale del trait Future in Rust? **Risposta** Il trait Future rappresenta una computazione asincrona che potrebbe non essere ancora terminata. Il suo metodo poll consente all'executor di verificare se il Future è pronto (Poll::Ready) o deve attendere (Poll::Pending). È il meccanismo fondamentale dell'asincronia in Rust, che abilita un'esecuzione non bloccante ed efficiente. ## 3. Perché è necessario un runtime come tokio per eseguire codice async in Rust? **Risposta** Rust non include un runtime asincrono nella sua libreria standard per mantenere il linguaggio minimale e consentire la scelta del runtime in base alle esigenze. Un runtime come tokio fornisce l'executor che fa poll dei Future, lo scheduler per gestire i task e le I/O asincrone. Senza un runtime, i Future non verrebbero mai eseguiti. ## Altre 19 domande disponibili - Qual è la differenza tra un async block e una async function in Rust? - Cosa succede quando si usa .await su un Future in Rust? 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 - [Iterators & Closures](https://sharpskill.dev/it/technologies/rust/domande-colloquio/iterators-closures.md): 22 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 - [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/async-await