Senior - Ruby/Rails Flashcards

1
Q

Що таке Thread? Які особливості використання тредів у розробці?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Що таке Process? Які особливості використання процесів у розробці?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Що таке Mutex? Наведіть приклади використання мютексів у розробці?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Якщо потрібно визначити, скільки виконується той чи інший код, як порекомендуєте це зробити?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Які недоліки бачите в Ruby? Коли та як вони можуть себе проявити під час розробки?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Чи можна передати контекст виконання одного методу в інший метод? Якщо так, то як це зробити?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Які callback-s знаєте в Ruby?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Як реалізувати Singlethon-клас у Ruby? Опишіть базові концепти.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Як працює Garbage collection в Ruby? Опишіть базові концепти.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Що таке Ractor? Яка різниця між класичною моделлю роботи з тредами та роботою за допомогою Ractor?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Як працюють Lazy Enumerators? Чим вони відрізняються від класичних Enumerators? Як і коли вони можуть допомогти?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Назвіть приклади використання Fiber’ів?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Як include додає метод модуля в клас? Що відбувається на рівні MRI? У чому різниця в порівнянні з extend та prepend?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

У вас є завдання імпортувати користувачів у базу Rails-застосунку. Користувачі записані в CSV-файлі, де кожен рядок — це дані користувача. Опишіть ваш підхід до розв’язання проблеми. Як зміниться рішення, якщо файл стане дуже великим (> 300000 рядків)?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Якщо у моделі User у вас є callback, які можуть виникнути проблеми під час розв’язання попередньої задачі?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Як ми можемо відстежувати прогрес Background Job?

A
17
Q

Опишіть життєвий цикл Request — Response в Rails. Крізь які основні компоненти фреймворку проходить запит і для чого вони потрібні?

A
18
Q

Які основні типи тестів використовуєте і з якою метою?

A
19
Q

Як ви ставитесь до інтеграційних тестів?

A
20
Q

Що таке поліморфні асоціації в ActiveRecord?

A
21
Q

Як би ви порекомендували побудувати semantic versioning для Rails API, що працює з мобільними застосунками (IOS, Android, Web)? Верхньорівнево опишіть стратегію.

A
22
Q

Якщо необхідно, щоб кожен запит, що прийшов до Rails app незалежно від роуту, повертав 403 статус якнайшвидше, як би ви порекомендували реалізувати код для цієї задачі?

A
23
Q

Які, на вашу думку, п’ять основних мінусів Rails? Що б ви порекомендували змінити, щоб нейтралізувати ці мінуси?

A
24
Q

Чи можна в Rails працювати з кількома базами, якщо так, то як це зробити?

A