# Ruby-Metaprogrammierung (Ruby on Rails) > define_method, method_missing, class_eval, instance_eval, hooks, DSLs - 20 Interview-Fragen - Senior - [Interview-Fragen: Ruby on Rails](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen.md) ## 1. Was ist Metaprogrammierung in Ruby? **Antwort** Metaprogrammierung ist die Fähigkeit eines Programms, Code zur Laufzeit zu schreiben oder zu verändern. In Ruby ermöglicht dies das dynamische Definieren von Methoden, Klassen und Modulen, wodurch der Code flexibler und kompakter wird. Diese Technik wird in Frameworks wie Rails häufig eingesetzt, um elegante DSLs zu erstellen und Codeduplizierung zu reduzieren. ## 2. Was ist der Zweck der define_method-Methode in Ruby? **Antwort** define_method ermöglicht das dynamische Erstellen von Methoden zur Laufzeit. Es nimmt einen Methodennamen (Symbol oder String) und einen Block entgegen, der den Methodenrumpf definiert. Anders als def erfasst define_method lokale Variablen aus dem umgebenden Scope über eine Closure, was nützlich ist, um Methoden mit parametrisiertem Verhalten zu erzeugen. ## 3. Wann wird die method_missing-Methode von Ruby aufgerufen? **Antwort** method_missing wird automatisch aufgerufen, wenn ein Objekt einen Methodenaufruf erhält, der in seiner Vererbungskette nicht existiert. Sie erhält den Namen der aufgerufenen Methode und deren Argumente, wodurch diese Aufrufe dynamisch behandelt werden können. Dies ist die Grundlage vieler Metaprogramming-Muster wie der in ActiveRecord verwendeten Ghost Methods. ## 17 weitere Fragen verfügbar - Was ist der Hauptunterschied zwischen class_eval und instance_eval? - Welcher Hook wird aufgerufen, wenn ein Module in eine Klasse eingebunden wird? Kostenlos registrieren: https://sharpskill.dev/de/login ## Weitere Ruby on Rails-Interviewthemen - [Ruby-Grundlagen](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/ruby-basics.md): 25 Fragen, Junior - [Objektorientierte Programmierung in Ruby](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/ruby-oop.md): 20 Fragen, Junior - [Rails-Grundlagen](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/rails-fundamentals.md): 18 Fragen, Junior - [Routing & Controllers](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/routing-controllers.md): 22 Fragen, Junior - [ActiveRecord-Grundlagen](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/active-record-basics.md): 25 Fragen, Junior - [Views & ERB-Templates](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/views-erb-templates.md): 20 Fragen, Junior - [ActiveRecord-Assoziationen](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/active-record-associations.md): 24 Fragen, Mid-Level - [Fortgeschrittene ActiveRecord-Abfragen](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/active-record-queries.md): 28 Fragen, Mid-Level - [Rails-Formulare](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/rails-forms.md): 20 Fragen, Mid-Level - [Authentifizierung & Autorisierung](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/authentication-authorization.md): 22 Fragen, Mid-Level - [Moderne Asset Pipeline & Frontend](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/rails-asset-pipeline.md): 18 Fragen, Mid-Level - [Rails API-Modus](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/rails-api-mode.md): 20 Fragen, Mid-Level - [Testen mit RSpec](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/rails-testing-rspec.md): 24 Fragen, Mid-Level - [ActiveJob & Background Jobs](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/active-job-background-jobs.md): 20 Fragen, Mid-Level - [ActionCable & WebSockets](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/action-cable-websockets.md): 18 Fragen, Mid-Level - [ActionMailer](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/action-mailer.md): 18 Fragen, Mid-Level - [ActiveStorage](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/active-storage.md): 20 Fragen, Mid-Level - [Caching-Strategien](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/caching-strategies.md): 20 Fragen, Mid-Level - [Fortgeschrittene Migrationen](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/database-migrations-advanced.md): 20 Fragen, Mid-Level - [Rails Engines & modulare Apps](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/rails-engines-modular-apps.md): 18 Fragen, Senior - [Performance-Optimierung](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/performance-optimization.md): 26 Fragen, Senior - [Rails Design Patterns](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/rails-design-patterns.md): 22 Fragen, Senior - [Rails-Sicherheit](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/rails-security.md): 22 Fragen, Senior - [GraphQL mit Rails](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/graphql-rails.md): 20 Fragen, Senior - [Deployment & Produktion](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/rails-deployment-production.md): 20 Fragen, Senior - [Monitoring & Logging](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/monitoring-logging.md): 20 Fragen, Senior - [Rails-Upgrade-Strategien](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/rails-upgrade-strategies.md): 18 Fragen, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/ruby-metaprogramming