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, які можуть виникнути проблеми під час розв’язання попередньої задачі?