# Makrolar (Rust) > Bildirimsel makrolar (macro_rules!), derive makrolar, attribute makrolar, prosedürel makrolar, makro hijyeni - 20 mülakat soruları - Mid-Level - [Mülakat Soruları: Rust](https://sharpskill.dev/tr/technologies/rust/mulakat-sorulari.md) ## 1. Rust'ta bildirimsel bir makro tanımlamak için kullanılan sözdizimi nedir? **Cevap** macro_rules! sözdizimi, Rust'ta bildirimsel makroları tanımlamak için kullanılır. Bu metaprogramlama biçimi, kodu derleme zamanında dönüştürmek için Rust sözdizimi üzerinde pattern matching kullanır. Bildirimsel makrolar, kalıpları eşleştirerek ve bu kalıplara dayalı kod üreterek çalıştıkları için "macros by example" olarak da adlandırılır. ## 2. Rust'ta bir makro nasıl çağrılır? **Cevap** Rust'ta makrolar, adlarının ardından bir ünlem işareti ve onu izleyen parantez, köşeli parantez veya süslü parantez içindeki argümanlarla çağrılır. Bu kural, makro çağrılarını normal fonksiyon çağrılarından görsel olarak ayırt etmeyi sağlar. Örneğin println!("Hello") veya vec![1, 2, 3] birer makro çağrısıdır. ## 3. Bildirimsel bir makroda bir ifadeyi yakalamak için hangi fragment specifier kullanılır? **Cevap** $e:expr fragment specifier'ı, bildirimsel bir makroda bir Rust ifadesini yakalar. Fragment specifier'lar makronun kabul edebileceği sözdizimi türünü tanımlar. Diğer yaygın specifier'lar arasında tanımlayıcılar için ident, türler için ty, token tree için tt ve kod bloğu için block bulunur. ## 17 soru daha mevcut - Bildirimsel ve prosedürel makrolar arasındaki temel fark nedir? - Rust'ta makro hijyeni nedir? Ücretsiz kaydol: https://sharpskill.dev/tr/login ## Diğer Rust mülakat konuları - [Rust Temelleri](https://sharpskill.dev/tr/technologies/rust/mulakat-sorulari/rust-basics.md): 25 soru, Junior - [Ownership & Borrowing](https://sharpskill.dev/tr/technologies/rust/mulakat-sorulari/ownership-borrowing.md): 22 soru, Junior - [Structs & Enums](https://sharpskill.dev/tr/technologies/rust/mulakat-sorulari/structs-enums.md): 20 soru, Junior - [Hata Yönetimi](https://sharpskill.dev/tr/technologies/rust/mulakat-sorulari/error-handling.md): 18 soru, Junior - [Koleksiyonlar](https://sharpskill.dev/tr/technologies/rust/mulakat-sorulari/collections.md): 20 soru, Junior - [Modüller ve Paketler](https://sharpskill.dev/tr/technologies/rust/mulakat-sorulari/modules-packages.md): 18 soru, Junior - [Traits](https://sharpskill.dev/tr/technologies/rust/mulakat-sorulari/traits.md): 22 soru, Mid-Level - [Generics](https://sharpskill.dev/tr/technologies/rust/mulakat-sorulari/generics.md): 20 soru, Mid-Level - [Lifetimes](https://sharpskill.dev/tr/technologies/rust/mulakat-sorulari/lifetimes.md): 20 soru, Mid-Level - [Iterators & Closures](https://sharpskill.dev/tr/technologies/rust/mulakat-sorulari/iterators-closures.md): 22 soru, Mid-Level - [Smart Pointers](https://sharpskill.dev/tr/technologies/rust/mulakat-sorulari/smart-pointers.md): 22 soru, Mid-Level - [Concurrency Basics](https://sharpskill.dev/tr/technologies/rust/mulakat-sorulari/concurrency-basics.md): 20 soru, Mid-Level - [async/await](https://sharpskill.dev/tr/technologies/rust/mulakat-sorulari/async-await.md): 22 soru, Mid-Level - [Testing](https://sharpskill.dev/tr/technologies/rust/mulakat-sorulari/testing.md): 18 soru, Mid-Level - [Cargo & Ecosystem](https://sharpskill.dev/tr/technologies/rust/mulakat-sorulari/cargo-ecosystem.md): 18 soru, Mid-Level - [Pattern Matching](https://sharpskill.dev/tr/technologies/rust/mulakat-sorulari/pattern-matching.md): 18 soru, Mid-Level - [Serde ve Serileştirme](https://sharpskill.dev/tr/technologies/rust/mulakat-sorulari/serde-serialization.md): 20 soru, Mid-Level - [Unsafe Rust](https://sharpskill.dev/tr/technologies/rust/mulakat-sorulari/unsafe-rust.md): 20 soru, Senior - [Gelişmiş Trait'ler](https://sharpskill.dev/tr/technologies/rust/mulakat-sorulari/advanced-traits.md): 22 soru, Senior - [İleri Düzey Lifetime](https://sharpskill.dev/tr/technologies/rust/mulakat-sorulari/advanced-lifetimes.md): 20 soru, Senior - [Type System](https://sharpskill.dev/tr/technologies/rust/mulakat-sorulari/type-system.md): 20 soru, Senior - [Tokio & Async I/O](https://sharpskill.dev/tr/technologies/rust/mulakat-sorulari/tokio-async.md): 22 soru, Senior - [Performans Optimizasyonu](https://sharpskill.dev/tr/technologies/rust/mulakat-sorulari/performance-optimization.md): 20 soru, Senior - [Memory Management](https://sharpskill.dev/tr/technologies/rust/mulakat-sorulari/memory-management.md): 20 soru, Senior - [Web Frameworks](https://sharpskill.dev/tr/technologies/rust/mulakat-sorulari/web-frameworks.md): 22 soru, Senior - [Database Integration](https://sharpskill.dev/tr/technologies/rust/mulakat-sorulari/database-integration.md): 20 soru, Senior - [Rust Tasarım Desenleri](https://sharpskill.dev/tr/technologies/rust/mulakat-sorulari/design-patterns.md): 20 soru, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/tr/technologies/rust/mulakat-sorulari/macros