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