# Advanced ActiveRecord Queries (Ruby on Rails) > Query interface, where, joins, includes, eager loading, N+1 problem, transactions, locking (optimistic/pessimistic) - 28 interview questions - Mid-Level - [Interview Questions: Ruby on Rails](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions.md) ## 1. Which ActiveRecord method retrieves a record by its primary key and raises an exception if not found? **Answer** The find method retrieves a record by its primary key and raises an ActiveRecord::RecordNotFound exception if the record does not exist. This ensures the code fails explicitly rather than continuing with a nil value. To avoid the exception and return nil instead, use find_by(id: value). ## 2. What is the main difference between find_by and where.first in ActiveRecord? **Answer** find_by directly returns a single record or nil, while where.first returns an ActiveRecord relation then calls first to get the first result. In practice, find_by generates an optimized query with LIMIT 1, whereas where can potentially load more data before selecting the first element. ## 3. How to pass multiple conditions to the where method in ActiveRecord? **Answer** The where method accepts a hash with multiple keys to specify multiple conditions that will be combined with AND. For example, User.where(status: 'active', role: 'admin') generates WHERE status = 'active' AND role = 'admin'. For OR conditions, use or or raw SQL queries. ## 25 more questions available - What is the N+1 problem in ActiveRecord? - Which method to use to solve the N+1 problem by preloading associations? Sign up for free: https://sharpskill.dev/en/login ## Other Ruby on Rails interview topics - [Ruby Basics](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/ruby-basics.md): 25 questions, Junior - [Ruby Object-Oriented Programming](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/ruby-oop.md): 20 questions, Junior - [Rails Fundamentals](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/rails-fundamentals.md): 18 questions, Junior - [Routing & Controllers](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/routing-controllers.md): 22 questions, Junior - [ActiveRecord Basics](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/active-record-basics.md): 25 questions, Junior - [Views & ERB Templates](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/views-erb-templates.md): 20 questions, Junior - [ActiveRecord Associations](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/active-record-associations.md): 24 questions, Mid-Level - [Rails Forms](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/rails-forms.md): 20 questions, Mid-Level - [Authentication & Authorization](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/authentication-authorization.md): 22 questions, Mid-Level - [Modern Asset Pipeline & Frontend](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/rails-asset-pipeline.md): 18 questions, Mid-Level - [Rails API Mode](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/rails-api-mode.md): 20 questions, Mid-Level - [Testing with RSpec](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/rails-testing-rspec.md): 24 questions, Mid-Level - [ActiveJob & Background Jobs](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/active-job-background-jobs.md): 20 questions, Mid-Level - [ActionCable & WebSockets](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/action-cable-websockets.md): 18 questions, Mid-Level - [ActionMailer](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/action-mailer.md): 18 questions, Mid-Level - [ActiveStorage](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/active-storage.md): 20 questions, Mid-Level - [Caching Strategies](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/caching-strategies.md): 20 questions, Mid-Level - [Advanced Migrations](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/database-migrations-advanced.md): 20 questions, Mid-Level - [Rails Engines & Modular Apps](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/rails-engines-modular-apps.md): 18 questions, Senior - [Performance Optimization](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/performance-optimization.md): 26 questions, Senior - [Rails Design Patterns](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/rails-design-patterns.md): 22 questions, Senior - [Ruby Metaprogramming](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/ruby-metaprogramming.md): 20 questions, Senior - [Rails Security](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/rails-security.md): 22 questions, Senior - [GraphQL with Rails](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/graphql-rails.md): 20 questions, Senior - [Deployment & Production](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/rails-deployment-production.md): 20 questions, Senior - [Monitoring & Logging](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/monitoring-logging.md): 20 questions, Senior - [Rails Upgrade Strategies](https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/rails-upgrade-strategies.md): 18 questions, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/en/technologies/ruby-on-rails/interview-questions/active-record-queries