- динамическая и статическая типизация
- строгая и нестрогая типизация
- компилируемые и интерпретируемые языки
- принципиальное различие скриптовых и “обычных” языков
- типизация в Ruby
- 3 принципа ООП
- реализация множественного наследования в ruby
- duck typing
- как работает утиная типизация в Ruby
- многопоточность в ruby
- Статья 1
- Статья 2
- Статья 3
- Статья 4
- Статья про GIL
- как потоки в Ruby организованы, как работают
- мета-программирование
- MRI, JRuby, Rubinious
- SOLID
- GRASP
- путь запроса от браузера до HTML
- что такое MVC и зачем это нужно
- какая логика в контроллере, должна ли быть и почему
- синхронные и асинхронные операции — предложить варианты решения
- асихронные запросы с веб-страницы
- ActiveJob
- Sidekiq
- самописный менеджер очередей (Rake + Cron, например)
- назначение миграций
- в каком порядке миграции
- организация кеширования в Rails
- includes
- кэширование на уровне adapter БД
- кэширование страниц
- ActionCable
- Redis + ActionCable
- зачем нужны
- что такое TDD
- отличие Minitest от RSpec
- почему Ruby проекты - это очень плохо без тестов
- отличие интеграционных тестов от юнит-тестов
- javascript, опыт работы с ним, используемые библиотеки
- EcmaScript
- Что такое виртуальный DOM?
- В каких случаях вызывается метод render?
- ACID
- Атомарность
- Согласованность
- Изолированность
- Устойчивость
- Что такое NoSQL
- какие NoSQL базы знают
- что такое deadlock?
- транзакции
- уровни изоляций
- блокировочные и версионные СУБД
- индексы (зачем нужны, плюсы и минусы)
- Hash
- B-tree
- GiST
- SP-GiST
- GIN и RUM
- BRIN
- Bloom
- Статья 1
- вьюхи
- репликация
- шардинг (партиционирование)
- timeseries db
- pgBouncer — что это и зачем нужно
- репликация в БД
- Статья 1
- синхронная
- асинхронная
- PgQ (другие очереди)
- синхронные и асинхронные операции
- что такое AUTO VACUUM и зачем он нужен?
- git flow
- чем отличается merge от rebase
- зачем нужна команда git rebase
- методы разрешения конфликтов
- Что такое контейнер?
- Чем контейнер от image отличается?
- В каких случаях используются?
- В чём принципиальное отличие от Capistrano?