# Ruby Metaprogramlama (Ruby on Rails) > define_method, method_missing, class_eval, instance_eval, hooks, DSLs - 20 mülakat soruları - Senior - [Mülakat Soruları: Ruby on Rails](https://sharpskill.dev/tr/technologies/ruby-on-rails/mulakat-sorulari.md) ## 1. Ruby'de metaprogramlama nedir? **Cevap** Metaprogramlama, bir programın çalışma zamanında kod yazma veya değiştirme yeteneğidir. Ruby'de bu, method, class ve module'lerin dinamik olarak tanımlanmasını sağlayarak kodu daha esnek ve özlü hale getirir. Bu teknik, zarif DSL'ler oluşturmak ve kod tekrarını azaltmak için Rails gibi framework'lerde yaygın olarak kullanılır. ## 2. Ruby'de define_method metodunun amacı nedir? **Cevap** define_method, çalışma zamanında dinamik olarak metot oluşturmaya olanak tanır. Bir metot adı (symbol veya string) ve metot gövdesini tanımlayan bir block alır. def'in aksine define_method, bir closure aracılığıyla çevreleyen scope'taki yerel değişkenleri yakalar; bu da parametreli davranışlara sahip metotlar üretmek için kullanışlıdır. ## 3. method_missing metodu Ruby tarafından ne zaman çağrılır? **Cevap** method_missing, bir nesne kalıtım zincirinde bulunmayan bir metot çağrısı aldığında otomatik olarak çağrılır. Çağrılan metodun adını ve argümanlarını alarak bu çağrıların dinamik olarak ele alınmasını sağlar. Bu, ActiveRecord'da kullanılan ghost methods gibi birçok metaprogramming kalıbının temelidir. ## 17 soru daha mevcut - class_eval ile instance_eval arasındaki temel fark nedir? - Bir module bir sınıfa include edildiğinde hangi hook çağrılır? Ücretsiz kaydol: https://sharpskill.dev/tr/login ## Diğer Ruby on Rails mülakat konuları - [Ruby Temelleri](https://sharpskill.dev/tr/technologies/ruby-on-rails/mulakat-sorulari/ruby-basics.md): 25 soru, Junior - [Ruby'de Nesne Yönelimli Programlama](https://sharpskill.dev/tr/technologies/ruby-on-rails/mulakat-sorulari/ruby-oop.md): 20 soru, Junior - [Rails Temelleri](https://sharpskill.dev/tr/technologies/ruby-on-rails/mulakat-sorulari/rails-fundamentals.md): 18 soru, Junior - [Routing & Controllers](https://sharpskill.dev/tr/technologies/ruby-on-rails/mulakat-sorulari/routing-controllers.md): 22 soru, Junior - [ActiveRecord Temelleri](https://sharpskill.dev/tr/technologies/ruby-on-rails/mulakat-sorulari/active-record-basics.md): 25 soru, Junior - [Views ve ERB Şablonları](https://sharpskill.dev/tr/technologies/ruby-on-rails/mulakat-sorulari/views-erb-templates.md): 20 soru, Junior - [ActiveRecord İlişkileri](https://sharpskill.dev/tr/technologies/ruby-on-rails/mulakat-sorulari/active-record-associations.md): 24 soru, Mid-Level - [Gelişmiş ActiveRecord Sorguları](https://sharpskill.dev/tr/technologies/ruby-on-rails/mulakat-sorulari/active-record-queries.md): 28 soru, Mid-Level - [Rails Formları](https://sharpskill.dev/tr/technologies/ruby-on-rails/mulakat-sorulari/rails-forms.md): 20 soru, Mid-Level - [Kimlik Doğrulama ve Yetkilendirme](https://sharpskill.dev/tr/technologies/ruby-on-rails/mulakat-sorulari/authentication-authorization.md): 22 soru, Mid-Level - [Modern Asset Pipeline ve frontend](https://sharpskill.dev/tr/technologies/ruby-on-rails/mulakat-sorulari/rails-asset-pipeline.md): 18 soru, Mid-Level - [Rails API Modu](https://sharpskill.dev/tr/technologies/ruby-on-rails/mulakat-sorulari/rails-api-mode.md): 20 soru, Mid-Level - [RSpec ile Test](https://sharpskill.dev/tr/technologies/ruby-on-rails/mulakat-sorulari/rails-testing-rspec.md): 24 soru, Mid-Level - [ActiveJob & Background Jobs](https://sharpskill.dev/tr/technologies/ruby-on-rails/mulakat-sorulari/active-job-background-jobs.md): 20 soru, Mid-Level - [ActionCable & WebSockets](https://sharpskill.dev/tr/technologies/ruby-on-rails/mulakat-sorulari/action-cable-websockets.md): 18 soru, Mid-Level - [ActionMailer](https://sharpskill.dev/tr/technologies/ruby-on-rails/mulakat-sorulari/action-mailer.md): 18 soru, Mid-Level - [ActiveStorage](https://sharpskill.dev/tr/technologies/ruby-on-rails/mulakat-sorulari/active-storage.md): 20 soru, Mid-Level - [Caching Stratejileri](https://sharpskill.dev/tr/technologies/ruby-on-rails/mulakat-sorulari/caching-strategies.md): 20 soru, Mid-Level - [Gelişmiş migrasyonlar](https://sharpskill.dev/tr/technologies/ruby-on-rails/mulakat-sorulari/database-migrations-advanced.md): 20 soru, Mid-Level - [Rails Engines ve Modüler Uygulamalar](https://sharpskill.dev/tr/technologies/ruby-on-rails/mulakat-sorulari/rails-engines-modular-apps.md): 18 soru, Senior - [Performans Optimizasyonu](https://sharpskill.dev/tr/technologies/ruby-on-rails/mulakat-sorulari/performance-optimization.md): 26 soru, Senior - [Rails Tasarım Desenleri](https://sharpskill.dev/tr/technologies/ruby-on-rails/mulakat-sorulari/rails-design-patterns.md): 22 soru, Senior - [Rails Güvenliği](https://sharpskill.dev/tr/technologies/ruby-on-rails/mulakat-sorulari/rails-security.md): 22 soru, Senior - [Rails ile GraphQL](https://sharpskill.dev/tr/technologies/ruby-on-rails/mulakat-sorulari/graphql-rails.md): 20 soru, Senior - [Dağıtım ve Üretim](https://sharpskill.dev/tr/technologies/ruby-on-rails/mulakat-sorulari/rails-deployment-production.md): 20 soru, Senior - [Monitoring & Logging](https://sharpskill.dev/tr/technologies/ruby-on-rails/mulakat-sorulari/monitoring-logging.md): 20 soru, Senior - [Rails Yükseltme Stratejileri](https://sharpskill.dev/tr/technologies/ruby-on-rails/mulakat-sorulari/rails-upgrade-strategies.md): 18 soru, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/tr/technologies/ruby-on-rails/mulakat-sorulari/ruby-metaprogramming