
Iterators & Closures
Iterator 트레이트, iterator 어댑터(map, filter, fold), closure 구문, move closures, Fn 트레이트
22 면접 질문·
Mid-Level
1Rust의 for 루프에서 사용할 수 있으려면 타입이 어떤 트레이트를 구현해야 하나요?
1
Rust의 for 루프에서 사용할 수 있으려면 타입이 어떤 트레이트를 구현해야 하나요?
답변
IntoIterator 트레이트는 타입을 이터레이터로 변환할 수 있게 해줍니다. for 루프는 표현식에 대해 자동으로 into_iter()를 호출합니다. Vec, 배열, range 같은 타입은 기본적으로 이 트레이트를 구현하므로 for로 직접 순회할 수 있습니다.
2Iterator 트레이트의 어떤 메서드를 반드시 구현해야 하나요?
2
Iterator 트레이트의 어떤 메서드를 반드시 구현해야 하나요?
답변
next() 메서드는 Iterator 트레이트에서 유일하게 필수인 메서드입니다. Option<Self::Item>을 반환하며, 남은 요소가 있으면 Some(item), 반복이 끝나면 None을 반환합니다. map, filter, collect 같은 다른 모든 메서드는 next()에 기반한 기본 구현을 가지고 있습니다.
3Vec<T>에서 iter(), iter_mut(), into_iter()의 차이점은 무엇인가요?
3
Vec<T>에서 iter(), iter_mut(), into_iter()의 차이점은 무엇인가요?
답변
iter()는 불변 참조(&T)에 대한 이터레이터를 반환하고, iter_mut()는 가변 참조(&mut T)에 대한 이터레이터를 반환하며, into_iter()는 Vec를 소비하고 요소를 값(T)으로 반환합니다. 선택은 요소를 읽을지, 수정할지, 소유권을 가져올지에 따라 달라집니다.
4
Rust에서 lazy 이터레이터란 무엇이며 왜 중요한가요?
5
두 개의 i32 매개변수를 받아 그 합을 반환하는 closure를 정의하는 올바른 구문은 무엇인가요?
+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개 질문Smart Pointers
Mid-Level
22개 질문Concurrency Basics
Mid-Level
20개 질문async/await
Mid-Level
22개 질문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개 질문