# async/await (Rust) > funciones async, trait Future, runtime tokio, bloques async, sintaxis .await, Streams, Pin, cancelación, patrones de executor - 22 preguntas de entrevista - Mid-Level - [Preguntas de entrevista: Rust](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista.md) ## 1. ¿Qué devuelve en Rust una función declarada con la palabra clave async? **Respuesta** Una función async devuelve automáticamente un tipo que implementa el trait Future. El compilador transforma el cuerpo de la función en una máquina de estados que implementa Future. El valor de retorno no se calcula de inmediato: solo se calculará cuando el Future sea esperado con .await o ejecutado por un runtime. ## 2. ¿Cuál es el rol principal del trait Future en Rust? **Respuesta** El trait Future representa una computación asíncrona que puede no haber terminado todavía. Su método poll permite al executor comprobar si el Future está listo (Poll::Ready) o debe esperar (Poll::Pending). Es el mecanismo fundamental de la asincronía en Rust, que habilita una ejecución no bloqueante y eficiente. ## 3. ¿Por qué es necesario un runtime como tokio para ejecutar código async en Rust? **Respuesta** Rust no incluye un runtime asíncrono en su biblioteca estándar para mantener el lenguaje minimalista y permitir elegir el runtime según las necesidades. Un runtime como tokio proporciona el executor que hace poll de los Futures, el scheduler para gestionar las tareas y las I/O asíncronas. Sin un runtime, los Futures nunca se ejecutarían. ## 19 preguntas más disponibles - ¿Cuál es la diferencia entre un async block y una async function en Rust? - ¿Qué ocurre cuando se usa .await sobre un Future en Rust? Regístrate gratis: https://sharpskill.dev/es/login ## Otros temas de entrevista Rust - [Fundamentos de Rust](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/rust-basics.md): 25 preguntas, Junior - [Ownership & Borrowing](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/ownership-borrowing.md): 22 preguntas, Junior - [Structs & Enums](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/structs-enums.md): 20 preguntas, Junior - [Manejo de errores](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/error-handling.md): 18 preguntas, Junior - [Colecciones](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/collections.md): 20 preguntas, Junior - [Módulos y Paquetes](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/modules-packages.md): 18 preguntas, Junior - [Traits](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/traits.md): 22 preguntas, Mid-Level - [Generics](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/generics.md): 20 preguntas, Mid-Level - [Lifetimes](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/lifetimes.md): 20 preguntas, Mid-Level - [Iterators & Closures](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/iterators-closures.md): 22 preguntas, Mid-Level - [Smart Pointers](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/smart-pointers.md): 22 preguntas, Mid-Level - [Concurrency Basics](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/concurrency-basics.md): 20 preguntas, Mid-Level - [Testing](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/testing.md): 18 preguntas, Mid-Level - [Cargo & Ecosystem](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/cargo-ecosystem.md): 18 preguntas, Mid-Level - [Pattern Matching](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/pattern-matching.md): 18 preguntas, Mid-Level - [Macros](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/macros.md): 20 preguntas, Mid-Level - [Serde y serialización](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/serde-serialization.md): 20 preguntas, Mid-Level - [Unsafe Rust](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/unsafe-rust.md): 20 preguntas, Senior - [Traits avanzados](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/advanced-traits.md): 22 preguntas, Senior - [Lifetimes Avanzados](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/advanced-lifetimes.md): 20 preguntas, Senior - [Type System](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/type-system.md): 20 preguntas, Senior - [Tokio & Async I/O](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/tokio-async.md): 22 preguntas, Senior - [Optimización de Rendimiento](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/performance-optimization.md): 20 preguntas, Senior - [Memory Management](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/memory-management.md): 20 preguntas, Senior - [Web Frameworks](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/web-frameworks.md): 22 preguntas, Senior - [Database Integration](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/database-integration.md): 20 preguntas, Senior - [Patrones de diseño en Rust](https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/design-patterns.md): 20 preguntas, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/es/technologies/rust/preguntas-entrevista/async-await