Что дешевле: сортировка с бинарным поиском или линейный перебор?
Для одного поиска подготовка обычно не окупается. Для серии запросов сравнивают общую стоимость сортировки, поисков и поддержки структуры.
Читать ответПодготовка к интервью
Разбирайте реальные вопросы, сверяйтесь с подробными ответами и готовьтесь по технологиям и компаниям.
Проверьте, насколько резюме подходит выбранной позиции, и получите рекомендации по улучшению.
Каталог
Для одного поиска подготовка обычно не окупается. Для серии запросов сравнивают общую стоимость сортировки, поисков и поддержки структуры.
Читать ответОтдельные аргументы, именованные параметры и коллекции позволяют передавать разные объекты. Выбор зависит от контракта метода, а не общей иерархии классов.
Читать ответДостижимость объектов, mark-and-sweep, поколения и инкрементальная маркировка в CRuby. Почему nil не означает немедленное освобождение памяти.
Читать ответИсключение прерывает текущую операцию, а exit завершает процесс. Объясняем границы rescue, ensure и безопасную отмену работы потока.
Читать ответСоздание пустого массива, заполнение nil, общее значение по умолчанию и отдельный объект для каждого элемента через блок.
Читать ответОба варианта представляют объект Proc, но по-разному проверяют аргументы и обрабатывают return. Показываем различие на небольших примерах.
Читать ответПространства имён и mixin-модули решают разные задачи. Разбираем include, prepend и extend, а также порядок поиска методов.
Читать ответRactor предоставляет изолированные контексты выполнения и обмен сообщениями для параллельной работы. Пример и описание API относятся к Ruby 3.4.
Читать ответЧтение через [] и запись через []=, значения по умолчанию и отличие fetch от обычного обращения по ключу.
Читать ответЦелочисленная позиция Array и произвольный ключ Hash — похожая запись доступа, но разная семантика.
Читать ответКласс как объект и описание поведения экземпляров: initialize, состояние, методы и наследование.
Читать ответСервер приложений принимает запросы, вызывает Ruby-приложение и отправляет ответ. Важно отделять его работу с соединениями и процессами от бизнес-логики Rails и гарантий базы данных.
Читать ответ