Ruby: вопросы на собеседовании
Вопросы и ответы по Ruby: подготовка, примеры и типичные ошибки.
Проверьте себя по Ruby: 5 вопросов, ~10 минут
Вопросов: 41. Частые идут первыми, сложные возвращаются на повторение.
- Что такое blocks, procs и lambdas в Ruby и чем они отличаются?Junior· спрашивают почти всегда· полный разбор — Jobs/Boost
- В чём разница между
==,eql?,equal?и<=>в Ruby?Junior· спрашивают почти всегда· полный разбор — Jobs/Boost - Что такое модули Ruby и чем они отличаются от классов?Junior· спрашивают почти всегда· полный разбор — Jobs/Boost
- В чём разница между
nil,falseи другими ложными значениями (falsy values) в Ruby?Junior· спрашивают почти всегда - В чём разница между
procиlambdaс точки зрения поведения return и арности (arity)?Junior· спрашивают почти всегда· полный разбор — Jobs/Boost - Для каких задач Ruby является сильным выбором, а где лучше честно выбрать другой язык?Middle· спрашивают почти всегда· полный разбор — Jobs/Boost
- Что такое Ruby и каковы его основные характеристики как языка?Junior· спрашивают почти всегда· полный разбор — Jobs/Boost
- В чём разница между symbols и strings в Ruby и когда использовать каждый?Junior· спрашивают почти всегда· полный разбор — Jobs/Boost
- Что такое
attr_accessor,attr_readerиattr_writerв Ruby?Middle - В чём разница между методами класса (class methods) и методами экземпляра (instance methods) в Ruby?Middle· полный разбор — Jobs/Boost
- В чём разница между
cloneиdupв Ruby?Middle - Что такое модули
ComparableиEnumerableи как их использовать?Middle· полный разбор — Jobs/Boost - В чём разница между
map,collect,select,reject,findиeach?Middle - Что такое исключения в Ruby и как работает поток
begin/rescue/ensure/raise?Middle· полный разбор — Jobs/Boost - В чём разница между
freezeи иммутабельными объектами в Ruby?Middle - Что такое Ruby Gems и как Bundler управляет зависимостями?Middle· полный разбор — Jobs/Boost
- В чём разница между
include,extendиprependв Ruby?Middle· полный разбор — Jobs/Boost - Что такое
inject/reduceв Ruby и как они работают?Middle - Что такое ленивый перечислитель
Enumerable(lazy enumerator) и когда его использовать?Middle· полный разбор — Jobs/Boost - Что такое метапрограммирование в Ruby? Приведите примеры с
method_missing,define_method.Middle - Что такое Ractors в Ruby 3 и как они улучшают параллелизм?Senior· полный разбор — Jobs/Boost
- В чём разница между
requireиrequire_relativeв Ruby?Middle - В чём различия между Ruby 2.x и Ruby 3.x (pattern matching, rightward assignment, Ractors)?Middle· полный разбор — Jobs/Boost
- Как сравнить Ruby с ближайшими альтернативами по производительности, поддерживаемости, найму и экосистеме?Middle· полный разбор — Jobs/Boost
- Как понять, что команда использует Ruby идиоматично, а не переносит привычки из другого языка?Senior· полный разбор — Jobs/Boost
- Представьте, сервис на Ruby стал медленнее или нестабильнее после релиза. Какие language/runtime-specific причины вы проверите?Senior
- Что такое duck typing в Ruby и как это влияет на проектирование API?Middle· полный разбор — Jobs/Boost
- Какие ошибки делают разработчики, переходящие на Ruby с другого языка или стека?Middle
- Что такое mixins в Ruby и как они обеспечивают повторное использование кода?Middle· полный разбор — Jobs/Boost
- Какие особенности runtime, type system или memory model Ruby реально влияют на архитектуру приложения?Middle
- Какие production-риски чаще всего возникают в проектах на Ruby: производительность, зависимости, конкурентность, деплой или observability?Senior· полный разбор — Jobs/Boost
- Что такое
selfв Ruby и как меняется его значение в зависимости от контекста?Middle· полный разбор — Jobs/Boost - Что такое
StructиOpenStructв Ruby и когда их стоит использовать?Middle - Как Ruby обрабатывает параллелизм? Что такое Threads, Fibers и GIL?Senior
- Что такое ключевое слово
yieldв Ruby и как оно работает?Junior· полный разбор — Jobs/Boost - Расскажите о случае, когда особенности Ruby повлияли на архитектурное решение, производительность или сопровождение проекта.Middle· полный разбор — Jobs/Boost
- Как работает GVL и как он влияет на threads в MRI Ruby?Middle
- Какие версии, возможности или изменения экосистемы Ruby важно учитывать на собеседованиях в 2026 году?Middle· полный разбор — Jobs/Boost
- Как работает Zeitwerk autoloading?Middle· полный разбор — Jobs/Boost
- Что такое pattern matching в Ruby 3 и как он работает?Senior· полный разбор — Jobs/Boost
- Каковы распространённые соглашения о стиле кода Ruby (RuboCop, Ruby Style Guide)?Senior· полный разбор — Jobs/Boost