Rust

Iterators & Closures

Iterator trait, iterator adapters (map, filter, fold), sintaxis de closures, move closures, Fn traits

22 preguntas de entrevista·
Mid-Level
1

¿Qué trait debe implementar un tipo para poder usarse en un bucle for en Rust?

Respuesta

El trait IntoIterator permite que un tipo se convierta en un iterador. El bucle for llama automáticamente a into_iter() sobre la expresión. Tipos como Vec, arrays y ranges implementan este trait por defecto, lo que permite recorrerlos directamente con for.

2

¿Qué método del trait Iterator debe implementarse obligatoriamente?

Respuesta

El método next() es el único método requerido del trait Iterator. Retorna Option<Self::Item>, ya sea Some(item) si quedan elementos, o None cuando la iteración ha terminado. Todos los demás métodos como map, filter o collect tienen implementaciones por defecto basadas en next().

3

¿Cuál es la diferencia entre iter(), iter_mut() e into_iter() en un Vec<T>?

Respuesta

iter() retorna un iterador sobre referencias inmutables (&T), iter_mut() sobre referencias mutables (&mut T), e into_iter() consume el Vec y retorna los elementos por valor (T). La elección depende de si se quiere leer, modificar o tomar posesión de los elementos.

4

¿Qué es un iterador lazy en Rust y por qué es importante?

5

¿Cuál es la sintaxis correcta para definir una closure que toma dos parámetros i32 y retorna su suma?

+19 preguntas de entrevista

Domina Rust para tu próxima entrevista

Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.

Empieza gratis