# Fortgeschrittene ActiveRecord-Abfragen (Ruby on Rails) > Query interface, where, joins, includes, eager loading, N+1-Problem, transactions, locking (optimistic/pessimistic) - 28 Interview-Fragen - Mid-Level - [Interview-Fragen: Ruby on Rails](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen.md) ## 1. Welche ActiveRecord-Methode ruft einen Datensatz anhand seines Primärschlüssels ab und löst eine Exception aus, wenn er nicht gefunden wird? **Antwort** Die find-Methode ruft einen Datensatz anhand seines Primärschlüssels ab und löst eine ActiveRecord::RecordNotFound-Exception aus, wenn der Datensatz nicht existiert. Dadurch wird sichergestellt, dass der Code explizit fehlschlägt, anstatt mit einem nil-Wert fortzufahren. Um die Exception zu vermeiden und stattdessen nil zurückzugeben, verwende find_by(id: value). ## 2. Was ist der Hauptunterschied zwischen find_by und where.first in ActiveRecord? **Antwort** find_by gibt direkt einen einzelnen Datensatz oder nil zurück, während where.first eine ActiveRecord-Relation zurückgibt und dann first aufruft, um das erste Ergebnis zu erhalten. In der Praxis erzeugt find_by eine optimierte Abfrage mit LIMIT 1, wohingegen where möglicherweise mehr Daten lädt, bevor das erste Element ausgewählt wird. ## 3. Wie übergibt man mehrere Bedingungen an die where-Methode in ActiveRecord? **Antwort** Die where-Methode akzeptiert einen Hash mit mehreren Schlüsseln, um mehrere Bedingungen anzugeben, die mit AND kombiniert werden. Zum Beispiel erzeugt User.where(status: 'active', role: 'admin') WHERE status = 'active' AND role = 'admin'. Für OR-Bedingungen verwende or oder rohe SQL-Abfragen. ## 25 weitere Fragen verfügbar - Was ist das N+1-Problem in ActiveRecord? - Welche Methode sollte man verwenden, um das N+1-Problem durch Vorladen der Assoziationen zu lösen? 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 - [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 - [Ruby-Metaprogrammierung](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/ruby-metaprogramming.md): 20 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/active-record-queries