Rust

Type System

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

20 면접 질문·
Senior
1

Rust에서 zero-cost abstraction이란 무엇입니까?

답변

zero-cost abstraction은 수동으로 작성한 동등한 코드와 비교했을 때 런타임 비용이 전혀 발생하지 않는 추상화입니다. Rust 컴파일러는 이러한 추상화를 최적화하여 생성된 코드가 손으로 작성한 저수준 코드만큼 효율적이고 추가 오버헤드가 없도록 합니다.

2

Rust에서 newtype pattern의 주요 장점은 무엇입니까?

답변

newtype pattern은 기존 타입을 감싸는 별개의 새 타입을 생성하여 컴파일 타임 타입 안전성을 제공합니다. 이를 통해 기반 타입은 같지만 의미가 다른 값, 예를 들어 둘 다 정수로 표현되는 사용자 ID와 제품 ID를 혼동하는 것을 방지합니다.

3

Rust에서 type alias는 어떻게 선언하나요?

답변

type alias는 type 키워드 뒤에 alias 이름과 대상 타입을 적어 선언합니다. 예를 들어 type Kilometers = i32 는 i32에 대한 alias를 만듭니다. newtype pattern과 달리 type alias는 별개의 새로운 타입이 아니라 원래 타입과 서로 바꿔 쓸 수 있는 단순한 동의어일 뿐입니다.

4

type safety 관점에서 type alias와 newtype의 차이는 무엇인가요?

5

Rust에서 phantom type이란 무엇인가요?

+17 면접 질문

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

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

무료로 시작하기