Rust

Type System

Zero-cost abstractions, newtype pattern, type aliases, phantom types, const generics

20 preguntas de entrevista·
Senior
1

¿Qué es una zero-cost abstraction en Rust?

Respuesta

Una zero-cost abstraction es una abstracción que no genera ningún coste en tiempo de ejecución comparada con el código equivalente escrito manualmente. El compilador de Rust optimiza estas abstracciones para que el código generado sea tan eficiente como el código de bajo nivel escrito a mano, sin overhead adicional.

2

¿Cuál es la principal ventaja del newtype pattern en Rust?

Respuesta

El newtype pattern permite crear un nuevo tipo distinto que encapsula un tipo existente, ofreciendo seguridad de tipos en tiempo de compilación. Esto evita confundir valores del mismo tipo subyacente pero con significados diferentes, como IDs de usuario e IDs de producto ambos representados como enteros.

3

¿Cómo se declara un type alias en Rust?

Respuesta

Un type alias se declara con la palabra clave type seguida del nombre del alias y el tipo de destino. Por ejemplo, type Kilometers = i32 crea un alias para i32. A diferencia del newtype pattern, un type alias no es un nuevo tipo distinto, sino simplemente un sinónimo que puede usarse de forma intercambiable con el tipo original.

4

¿Cuál es la diferencia entre un type alias y un newtype en términos de type safety?

5

¿Qué es un phantom type en Rust?

+17 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