# Metaprogramación en Ruby (Ruby on Rails) > define_method, method_missing, class_eval, instance_eval, hooks, DSLs - 20 preguntas de entrevista - Senior - [Preguntas de entrevista: Ruby on Rails](https://sharpskill.dev/es/technologies/ruby-on-rails/preguntas-entrevista.md) ## 1. ¿Qué es la metaprogramación en Ruby? **Respuesta** La metaprogramación es la capacidad de un programa para escribir o modificar código en tiempo de ejecución. En Ruby, esto permite definir métodos, clases y módulos de forma dinámica, haciendo el código más flexible y conciso. Esta técnica se usa ampliamente en frameworks como Rails para crear DSLs elegantes y reducir la duplicación de código. ## 2. ¿Cuál es el propósito del método define_method en Ruby? **Respuesta** define_method permite crear métodos dinámicamente en tiempo de ejecución. Recibe un nombre de método (símbolo o cadena) y un bloque que define el cuerpo del método. A diferencia de def, define_method captura las variables locales del scope envolvente mediante una closure, lo que resulta útil para generar métodos con comportamientos parametrizados. ## 3. ¿Cuándo invoca Ruby al método method_missing? **Respuesta** method_missing se llama automáticamente cuando un objeto recibe una llamada a un método que no existe en su cadena de herencia. Recibe el nombre del método invocado y sus argumentos, lo que permite manejar dinámicamente esas llamadas. Es la base de muchos patrones de metaprogramación, como los ghost methods utilizados en ActiveRecord. ## 17 preguntas más disponibles - ¿Cuál es la principal diferencia entre class_eval e instance_eval? - ¿Qué hook se llama cuando un module se incluye en una clase? Regístrate gratis: https://sharpskill.dev/es/login ## Otros temas de entrevista Ruby on Rails - [Fundamentos de Ruby](https://sharpskill.dev/es/technologies/ruby-on-rails/preguntas-entrevista/ruby-basics.md): 25 preguntas, Junior - [Programación orientada a objetos en Ruby](https://sharpskill.dev/es/technologies/ruby-on-rails/preguntas-entrevista/ruby-oop.md): 20 preguntas, Junior - [Fundamentos de Rails](https://sharpskill.dev/es/technologies/ruby-on-rails/preguntas-entrevista/rails-fundamentals.md): 18 preguntas, Junior - [Routing & Controllers](https://sharpskill.dev/es/technologies/ruby-on-rails/preguntas-entrevista/routing-controllers.md): 22 preguntas, Junior - [Fundamentos de ActiveRecord](https://sharpskill.dev/es/technologies/ruby-on-rails/preguntas-entrevista/active-record-basics.md): 25 preguntas, Junior - [Views y plantillas ERB](https://sharpskill.dev/es/technologies/ruby-on-rails/preguntas-entrevista/views-erb-templates.md): 20 preguntas, Junior - [Asociaciones de ActiveRecord](https://sharpskill.dev/es/technologies/ruby-on-rails/preguntas-entrevista/active-record-associations.md): 24 preguntas, Mid-Level - [Consultas avanzadas de ActiveRecord](https://sharpskill.dev/es/technologies/ruby-on-rails/preguntas-entrevista/active-record-queries.md): 28 preguntas, Mid-Level - [Formularios Rails](https://sharpskill.dev/es/technologies/ruby-on-rails/preguntas-entrevista/rails-forms.md): 20 preguntas, Mid-Level - [Autenticación y Autorización](https://sharpskill.dev/es/technologies/ruby-on-rails/preguntas-entrevista/authentication-authorization.md): 22 preguntas, Mid-Level - [Asset Pipeline moderno y frontend](https://sharpskill.dev/es/technologies/ruby-on-rails/preguntas-entrevista/rails-asset-pipeline.md): 18 preguntas, Mid-Level - [Modo API de Rails](https://sharpskill.dev/es/technologies/ruby-on-rails/preguntas-entrevista/rails-api-mode.md): 20 preguntas, Mid-Level - [Pruebas con RSpec](https://sharpskill.dev/es/technologies/ruby-on-rails/preguntas-entrevista/rails-testing-rspec.md): 24 preguntas, Mid-Level - [ActiveJob & Background Jobs](https://sharpskill.dev/es/technologies/ruby-on-rails/preguntas-entrevista/active-job-background-jobs.md): 20 preguntas, Mid-Level - [ActionCable & WebSockets](https://sharpskill.dev/es/technologies/ruby-on-rails/preguntas-entrevista/action-cable-websockets.md): 18 preguntas, Mid-Level - [ActionMailer](https://sharpskill.dev/es/technologies/ruby-on-rails/preguntas-entrevista/action-mailer.md): 18 preguntas, Mid-Level - [ActiveStorage](https://sharpskill.dev/es/technologies/ruby-on-rails/preguntas-entrevista/active-storage.md): 20 preguntas, Mid-Level - [Estrategias de caching](https://sharpskill.dev/es/technologies/ruby-on-rails/preguntas-entrevista/caching-strategies.md): 20 preguntas, Mid-Level - [Migraciones avanzadas](https://sharpskill.dev/es/technologies/ruby-on-rails/preguntas-entrevista/database-migrations-advanced.md): 20 preguntas, Mid-Level - [Rails Engines y apps modulares](https://sharpskill.dev/es/technologies/ruby-on-rails/preguntas-entrevista/rails-engines-modular-apps.md): 18 preguntas, Senior - [Optimización del rendimiento](https://sharpskill.dev/es/technologies/ruby-on-rails/preguntas-entrevista/performance-optimization.md): 26 preguntas, Senior - [Patrones de diseño en Rails](https://sharpskill.dev/es/technologies/ruby-on-rails/preguntas-entrevista/rails-design-patterns.md): 22 preguntas, Senior - [Seguridad en Rails](https://sharpskill.dev/es/technologies/ruby-on-rails/preguntas-entrevista/rails-security.md): 22 preguntas, Senior - [GraphQL con Rails](https://sharpskill.dev/es/technologies/ruby-on-rails/preguntas-entrevista/graphql-rails.md): 20 preguntas, Senior - [Despliegue y Producción](https://sharpskill.dev/es/technologies/ruby-on-rails/preguntas-entrevista/rails-deployment-production.md): 20 preguntas, Senior - [Monitoring & Logging](https://sharpskill.dev/es/technologies/ruby-on-rails/preguntas-entrevista/monitoring-logging.md): 20 preguntas, Senior - [Estrategias de actualización de Rails](https://sharpskill.dev/es/technologies/ruby-on-rails/preguntas-entrevista/rails-upgrade-strategies.md): 18 preguntas, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/es/technologies/ruby-on-rails/preguntas-entrevista/ruby-metaprogramming