P
prepair.app
Пройти интервью →
EnglishУкраїнськаРусский
💎

Junior Ruby on RailsВопросы на собеседовании Ruby on Rails

Junior · без опыта / до 1 года

Собеседование по Ruby идёт на двух уровнях: сам язык — блоки, модули, цепочка поиска метода — и Rails, где большинство вопросов на самом деле про ActiveRecord и базу под ним. Ниже вопросы, которые задают чаще всего, каждый с эталонным ответом. Junior: базовая теория, определения и простые практические кейсы.

Темы для подготовки

Ядро Ruby и блоки
ООП, модули и миксины
ActiveRecord и связи
Rails MVC, роутинг, контроллеры
N+1 и производительность
RSpec, FactoryBot, Rubocop

7 вопросов уровня Junior с ответами

1

Что в Ruby истинно, а что ложно?

Ответ

Ложны только nil и false0, '' и [] истинны. На этом спотыкаются все, кто пришёл из JavaScript или Python. Значит, if list истинно и для пустого списка, и когда вы имеете в виду «пустой», надо писать list.empty?.

2

Чем различаются `nil?`, `empty?` и `blank?`

Ответ

nil? спрашивает, является ли объект nil. empty? спрашивает, пуста ли строка, массив или хеш, — и падает на nil, потому что у nil нет empty?. blank? пришёл из Rails и покрывает оба случая плюс строки из одних пробелов, поэтому именно он обычно нужен для данных из формы.

3

Чем символ отличается от строки?

Ответ

Символ неизменяем и переиспользуется — :name везде один и тот же объект. Строковый литерал каждый раз создаёт новый. Символы — для имён сущностей (ключи хеша, статусы), строки — для текста, который показывают или меняют.

4

Что делает `attr_accessor`?

Ответ

Определяет геттер и сеттер для переменной экземпляра, чтобы не писать их руками. attr_reader даёт только геттер, attr_writer — только сеттер. Привычку ставить attr_accessor по умолчанию стоит сломать: большинство атрибутов не должны быть доступны на запись снаружи.

5

Что такое блок и как его передать?

Ответ

Кусок кода, переданный методу через do...end или { }. Внутри метода yield его выполняет, а block_given? говорит, передали ли блок. each и map — обычные методы, никакого особого синтаксиса за ними нет, только блоки.

6

Что такое MVC в Rails и что где лежит?

Ответ

Модель хранит данные и правила о них, контроллер принимает запрос и решает, что делать, вью рендерит ответ. Практическое правило: бизнес-логика живёт в модели или сервисном объекте, а не в контроллере, а вью, который ходит в базу, делает работу контроллера.

7

Что такое миграция и что такое `schema.rb`?

Ответ

Миграция — версионированное изменение базы, Ruby-файл, который прогоняют вперёд. schema.rb — сгенерированный снимок текущей структуры, и именно его накатывает новая машина вместо проигрывания всех миграций с начала времён. Правят миграции; файл схемы руками не редактируют.

🦎

Прочитать ответы недостаточно

На собеседовании ты говоришь вслух под давлением. Кем задаст эти же вопросы, оценит каждый ответ и покажет, что именно подтянуть.

Пройти интервью Junior Ruby on Rails →
Бесплатно · 3 интервью в месяц

Другие уровни — Ruby on Rails

Middle Ruby on RailsSenior Ruby on RailsВсе вопросы Ruby on Rails

Другие специализации

🔍Junior QA Manual🤖Junior QA AutomationJunior Java Backend🐍Junior Python Backend🐘Junior PHP Backend🦫Junior Go Backend🟢Junior Node.js Backend🔷Junior C++🟨Junior JavaScript⚛️Junior React Frontend