Что дешевле: сортировка с бинарным поиском или линейный перебор?
Для одного поиска подготовка обычно не окупается. Для серии запросов сравнивают общую стоимость сортировки, поисков и поддержки структуры.
Читать ответПодготовка к интервью
37 вопросов по Ruby с технических собеседований
Что проверяют на интервью
На странице собраны вопросы по Ruby — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: ruby, ruby on rails, hash.
Каталог
Для одного поиска подготовка обычно не окупается. Для серии запросов сравнивают общую стоимость сортировки, поисков и поддержки структуры.
Читать ответОтдельные аргументы, именованные параметры и коллекции позволяют передавать разные объекты. Выбор зависит от контракта метода, а не общей иерархии классов.
Читать ответПуть от Puma и Rack через middleware и маршрутизацию к контроллеру, представлению и HTTP-ответу.
Читать ответДостижимость объектов, mark-and-sweep, поколения и инкрементальная маркировка в CRuby. Почему nil не означает немедленное освобождение памяти.
Читать ответИсключение прерывает текущую операцию, а exit завершает процесс. Объясняем границы rescue, ensure и безопасную отмену работы потока.
Читать ответСоздание пустого массива, заполнение nil, общее значение по умолчанию и отдельный объект для каждого элемента через блок.
Читать ответОба варианта представляют объект Proc, но по-разному проверяют аргументы и обрабатывают return. Показываем различие на небольших примерах.
Читать ответПространства имён и mixin-модули решают разные задачи. Разбираем include, prepend и extend, а также порядок поиска методов.
Читать ответЗащиту выбирают по типу операции и месту хранения данных. Mutex не согласует разные процессы, а одна очередь не исключает повторы или параллельную обработку.
Читать ответRactor предоставляет изолированные контексты выполнения и обмен сообщениями для параллельной работы. Пример и описание API относятся к Ruby 3.4.
Читать ответjoins использует связь таблиц для формирования выборки, а includes заранее загружает ассоциации. Фильтрация пользователей по постам не равна загрузке самих постов.
Читать ответRelation описывает запрос Active Record и позволяет наращивать условия до загрузки данных. После загрузки тот же объект повторно использует полученные записи.
Читать ответ