
async/await
async 함수, Future 트레이트, tokio 런타임, async 블록, .await 구문, Streams, Pin<T>, 취소, executor 패턴
22 면접 질문·
Mid-Level
1Rust에서 async 키워드로 선언된 함수는 무엇을 반환하나요?
1
Rust에서 async 키워드로 선언된 함수는 무엇을 반환하나요?
답변
async 함수는 Future 트레이트를 구현하는 타입을 자동으로 반환합니다. 컴파일러는 함수 본문을 Future를 구현하는 상태 기계(state machine)로 변환합니다. 반환 값은 즉시 계산되지 않으며, Future가 .await로 대기되거나 runtime에 의해 실행될 때만 계산됩니다.
2Rust에서 Future 트레이트의 주요 역할은 무엇인가요?
2
Rust에서 Future 트레이트의 주요 역할은 무엇인가요?
답변
Future 트레이트는 아직 완료되지 않았을 수 있는 비동기 계산을 나타냅니다. poll 메서드를 통해 executor는 Future가 준비되었는지(Poll::Ready) 또는 대기해야 하는지(Poll::Pending)를 확인할 수 있습니다. 이는 Rust 비동기 처리의 근본적인 메커니즘으로, 논블로킹이면서 효율적인 실행을 가능하게 합니다.
3Rust에서 async 코드를 실행하려면 왜 tokio 같은 runtime이 필요한가요?
3
Rust에서 async 코드를 실행하려면 왜 tokio 같은 runtime이 필요한가요?
답변
Rust는 언어를 최소한으로 유지하고 필요에 따라 runtime을 선택할 수 있도록 표준 라이브러리에 비동기 runtime을 포함하지 않습니다. tokio 같은 runtime은 Future를 poll하는 executor, 태스크를 관리하는 scheduler, 그리고 비동기 I/O를 제공합니다. runtime이 없으면 Future는 결코 실행되지 않습니다.
4
Rust에서 async block과 async function의 차이점은 무엇인가요?
5
Rust에서 Future에 .await를 사용하면 어떤 일이 발생하나요?
+19 면접 질문
기타 Rust 면접 주제
Rust 기초
Junior
25개 질문Ownership & Borrowing
Junior
22개 질문Structs & Enums
Junior
20개 질문에러 처리
Junior
18개 질문컬렉션
Junior
20개 질문모듈과 패키지
Junior
18개 질문Traits
Mid-Level
22개 질문Generics
Mid-Level
20개 질문Lifetimes
Mid-Level
20개 질문Iterators & Closures
Mid-Level
22개 질문Smart Pointers
Mid-Level
22개 질문Concurrency Basics
Mid-Level
20개 질문Testing
Mid-Level
18개 질문Cargo & Ecosystem
Mid-Level
18개 질문Pattern Matching
Mid-Level
18개 질문매크로
Mid-Level
20개 질문Serde와 직렬화
Mid-Level
20개 질문Unsafe Rust
Senior
20개 질문고급 트레잇
Senior
22개 질문고급 lifetime
Senior
20개 질문Type System
Senior
20개 질문Tokio & Async I/O
Senior
22개 질문성능 최적화
Senior
20개 질문Memory Management
Senior
20개 질문Web Frameworks
Senior
22개 질문Database Integration
Senior
20개 질문Rust 디자인 패턴
Senior
20개 질문