
Type System
Zero-cost abstractions, newtype pattern, type aliases, phantom types, const generics
1Що таке zero-cost abstraction у Rust?
Що таке zero-cost abstraction у Rust?
Відповідь
Zero-cost abstraction — це абстракція, яка не спричиняє жодних витрат під час виконання порівняно з еквівалентним кодом, написаним вручну. Компілятор Rust оптимізує ці абстракції так, щоб згенерований код був настільки ж ефективним, як написаний вручну низькорівневий код, без додаткових накладних витрат.
2Яка основна перевага newtype pattern у Rust?
Яка основна перевага newtype pattern у Rust?
Відповідь
Newtype pattern створює окремий новий тип, що обгортає наявний тип, забезпечуючи безпеку типів під час компіляції. Це запобігає плутанині значень одного базового типу, але з різним змістом, наприклад ID користувачів та ID продуктів, що обидва представлені цілими числами.
3Як оголосити type alias у Rust?
Як оголосити type alias у Rust?
Відповідь
Type alias оголошується ключовим словом type, за яким ідуть назва alias та цільовий тип. Наприклад, type Kilometers = i32 створює alias для i32. На відміну від newtype pattern, type alias не є окремим новим типом, а лише синонімом, який можна використовувати взаємозамінно з оригінальним типом.
Яка різниця між type alias і newtype з точки зору type safety?
Що таке phantom type у Rust?
+17 питань зі співбесід
Інші теми співбесід Rust
Основи Rust
Ownership & Borrowing
Structs & Enums
Обробка помилок
Колекції
Модулі та пакети
Traits
Generics
Lifetimes
Iterators & Closures
Smart Pointers
Concurrency Basics
async/await
Testing
Cargo & Ecosystem
Pattern Matching
Макроси
Serde та серіалізація
Unsafe Rust
Просунуті trait'и
Просунуті Lifetimes
Tokio & Async I/O
Оптимізація продуктивності
Memory Management
Web Frameworks
Database Integration
Патерни проєктування Rust
Опануй Rust для наступної співбесіди
Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.
Почни безкоштовно