Rust

Generics

Generic functions, structs, enums, trait bounds, where clause, monomorphization

20 면접 질문·
Mid-Level
1

What is the correct syntax for declaring a generic function in Rust?

답변

In Rust, generic type parameters are declared using angle brackets after the function name. The syntax fn name<T>(param: T) indicates that T is a type parameter that will be determined at usage. The compiler then generates specialized code for each concrete type used when calling the function.

2

How to declare a generic struct with a field of type T?

답변

A generic struct is declared with the type parameter in angle brackets after the struct name. The syntax struct Name<T> { field: T } allows creating a reusable structure with different types. The type T can then be used in fields and methods associated with this struct.

3

What is monomorphization in Rust?

답변

Monomorphization is the process by which the Rust compiler generates specialized machine code for each concrete type used with a generic. For example, if a generic function is called with i32 and String, the compiler creates two distinct versions of that function. This ensures optimal performance without runtime overhead.

4

How to add a trait bound on a generic parameter T?

5

What is the difference between impl<T> Struct<T> and impl Struct<i32> syntax?

+17 면접 질문

다음 면접을 위해 Rust을 마스터하세요

모든 질문, flashcards, 기술 테스트, 코드 리뷰 연습, 면접 시뮬레이터에 접근하세요.

무료로 시작하기