# Makros (Rust) > Deklarative Makros (macro_rules!), Derive-Makros, Attribut-Makros, prozedurale Makros, Makro-Hygiene - 20 Interview-Fragen - Mid-Level - [Interview-Fragen: Rust](https://sharpskill.dev/de/technologies/rust/interviewfragen.md) ## 1. Welche Syntax wird verwendet, um ein deklaratives Makro in Rust zu definieren? **Antwort** Die macro_rules!-Syntax wird verwendet, um deklarative Makros in Rust zu definieren. Diese Form der Metaprogrammierung nutzt Pattern Matching auf der Rust-Syntax, um Code zur Kompilierzeit zu transformieren. Deklarative Makros werden auch "macros by example" genannt, da sie funktionieren, indem sie Muster abgleichen und basierend auf diesen Mustern Code erzeugen. ## 2. Wie ruft man ein Makro in Rust auf? **Antwort** Makros in Rust werden mit einem Ausrufezeichen nach ihrem Namen aufgerufen, gefolgt von Argumenten in runden, eckigen oder geschweiften Klammern. Diese Konvention ermöglicht es, Makroaufrufe visuell von normalen Funktionsaufrufen zu unterscheiden. Zum Beispiel sind println!("Hello") oder vec![1, 2, 3] Makroaufrufe. ## 3. Welchen Fragment-Specifier verwendet man, um einen Ausdruck in einem deklarativen Makro zu erfassen? **Antwort** Der Fragment-Specifier $e:expr erfasst einen Rust-Ausdruck in einem deklarativen Makro. Fragment-Specifier definieren die Art von Syntax, die das Makro akzeptieren kann. Andere gängige Specifier sind ident für Bezeichner, ty für Typen, tt für einen Token-Tree und block für einen Codeblock. ## 17 weitere Fragen verfügbar - Was ist der Hauptunterschied zwischen deklarativen und prozeduralen Makros? - Was ist Makro-Hygiene in Rust? Kostenlos registrieren: https://sharpskill.dev/de/login ## Weitere Rust-Interviewthemen - [Rust-Grundlagen](https://sharpskill.dev/de/technologies/rust/interviewfragen/rust-basics.md): 25 Fragen, Junior - [Ownership & Borrowing](https://sharpskill.dev/de/technologies/rust/interviewfragen/ownership-borrowing.md): 22 Fragen, Junior - [Structs & Enums](https://sharpskill.dev/de/technologies/rust/interviewfragen/structs-enums.md): 20 Fragen, Junior - [Fehlerbehandlung](https://sharpskill.dev/de/technologies/rust/interviewfragen/error-handling.md): 18 Fragen, Junior - [Collections](https://sharpskill.dev/de/technologies/rust/interviewfragen/collections.md): 20 Fragen, Junior - [Module & Packages](https://sharpskill.dev/de/technologies/rust/interviewfragen/modules-packages.md): 18 Fragen, Junior - [Traits](https://sharpskill.dev/de/technologies/rust/interviewfragen/traits.md): 22 Fragen, Mid-Level - [Generics](https://sharpskill.dev/de/technologies/rust/interviewfragen/generics.md): 20 Fragen, Mid-Level - [Lifetimes](https://sharpskill.dev/de/technologies/rust/interviewfragen/lifetimes.md): 20 Fragen, Mid-Level - [Iterators & Closures](https://sharpskill.dev/de/technologies/rust/interviewfragen/iterators-closures.md): 22 Fragen, Mid-Level - [Smart Pointers](https://sharpskill.dev/de/technologies/rust/interviewfragen/smart-pointers.md): 22 Fragen, Mid-Level - [Concurrency Basics](https://sharpskill.dev/de/technologies/rust/interviewfragen/concurrency-basics.md): 20 Fragen, Mid-Level - [async/await](https://sharpskill.dev/de/technologies/rust/interviewfragen/async-await.md): 22 Fragen, Mid-Level - [Testing](https://sharpskill.dev/de/technologies/rust/interviewfragen/testing.md): 18 Fragen, Mid-Level - [Cargo & Ecosystem](https://sharpskill.dev/de/technologies/rust/interviewfragen/cargo-ecosystem.md): 18 Fragen, Mid-Level - [Pattern Matching](https://sharpskill.dev/de/technologies/rust/interviewfragen/pattern-matching.md): 18 Fragen, Mid-Level - [Serde & Serialisierung](https://sharpskill.dev/de/technologies/rust/interviewfragen/serde-serialization.md): 20 Fragen, Mid-Level - [Unsafe Rust](https://sharpskill.dev/de/technologies/rust/interviewfragen/unsafe-rust.md): 20 Fragen, Senior - [Fortgeschrittene Traits](https://sharpskill.dev/de/technologies/rust/interviewfragen/advanced-traits.md): 22 Fragen, Senior - [Fortgeschrittene Lifetimes](https://sharpskill.dev/de/technologies/rust/interviewfragen/advanced-lifetimes.md): 20 Fragen, Senior - [Type System](https://sharpskill.dev/de/technologies/rust/interviewfragen/type-system.md): 20 Fragen, Senior - [Tokio & Async I/O](https://sharpskill.dev/de/technologies/rust/interviewfragen/tokio-async.md): 22 Fragen, Senior - [Performance-Optimierung](https://sharpskill.dev/de/technologies/rust/interviewfragen/performance-optimization.md): 20 Fragen, Senior - [Memory Management](https://sharpskill.dev/de/technologies/rust/interviewfragen/memory-management.md): 20 Fragen, Senior - [Web Frameworks](https://sharpskill.dev/de/technologies/rust/interviewfragen/web-frameworks.md): 22 Fragen, Senior - [Database Integration](https://sharpskill.dev/de/technologies/rust/interviewfragen/database-integration.md): 20 Fragen, Senior - [Rust Design Patterns](https://sharpskill.dev/de/technologies/rust/interviewfragen/design-patterns.md): 20 Fragen, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/de/technologies/rust/interviewfragen/macros