Senior - Ruby/Rails Flashcards
Що таке Thread? Які особливості використання тредів у розробці?
Що таке Process? Які особливості використання процесів у розробці?
Що таке Mutex? Наведіть приклади використання мютексів у розробці?
Якщо потрібно визначити, скільки виконується той чи інший код, як порекомендуєте це зробити?
Які недоліки бачите в Ruby? Коли та як вони можуть себе проявити під час розробки?
Чи можна передати контекст виконання одного методу в інший метод? Якщо так, то як це зробити?
Які callback-s знаєте в Ruby?
Як реалізувати Singlethon-клас у Ruby? Опишіть базові концепти.
Як працює Garbage collection в Ruby? Опишіть базові концепти.
Що таке Ractor? Яка різниця між класичною моделлю роботи з тредами та роботою за допомогою Ractor?
Як працюють Lazy Enumerators? Чим вони відрізняються від класичних Enumerators? Як і коли вони можуть допомогти?
Назвіть приклади використання Fiber’ів?
Як include додає метод модуля в клас? Що відбувається на рівні MRI? У чому різниця в порівнянні з extend та prepend?
У вас є завдання імпортувати користувачів у базу Rails-застосунку. Користувачі записані в CSV-файлі, де кожен рядок — це дані користувача. Опишіть ваш підхід до розв’язання проблеми. Як зміниться рішення, якщо файл стане дуже великим (> 300000 рядків)?
Якщо у моделі User у вас є callback, які можуть виникнути проблеми під час розв’язання попередньої задачі?
Як ми можемо відстежувати прогрес Background Job?
Опишіть життєвий цикл Request — Response в Rails. Крізь які основні компоненти фреймворку проходить запит і для чого вони потрібні?
Які основні типи тестів використовуєте і з якою метою?
Як ви ставитесь до інтеграційних тестів?
Що таке поліморфні асоціації в ActiveRecord?
Як би ви порекомендували побудувати semantic versioning для Rails API, що працює з мобільними застосунками (IOS, Android, Web)? Верхньорівнево опишіть стратегію.
Якщо необхідно, щоб кожен запит, що прийшов до Rails app незалежно від роуту, повертав 403 статус якнайшвидше, як би ви порекомендували реалізувати код для цієї задачі?
Які, на вашу думку, п’ять основних мінусів Rails? Що б ви порекомендували змінити, щоб нейтралізувати ці мінуси?
Чи можна в Rails працювати з кількома базами, якщо так, то як це зробити?