Оправдано ли использовать больше оперативной памяти для улучшения UX
Что проверяют
Умеете ли вы рассуждать про компромиссы и понимаете ли, что во фронтенде за память платит не компания деньгами, а пользователь подтормаживающей вкладкой на слабом телефоне. Ещё смотрят, чем вы это меряете.
Как отвечать
Правильный ответ начинается с «зависит», но обязан продолжиться критерием. Память оправдана, когда она снимает работу, которую пользователь чувствует: кэш ответов между переходами, виртуальный список с буфером строк, предзагрузка следующего шага сценария, уже декодированные изображения. Не оправдана, когда всё складывают в глобальный стор на всякий случай и не чистят.
Сформулируйте так: сначала бюджет и метрика, потом решение. Бюджет это целевое устройство и доля мобильного трафика, метрика это отклик на действие, время до интерактивности, размер кучи и паузы сборщика мусора в профиле браузера. Полезно добавить, что мобильный браузер выгружает фоновые вкладки при нехватке памяти, поэтому агрессивный кэш в памяти иногда оборачивается полной перезагрузкой приложения. Альтернативы, которые стоит назвать: пагинация, IndexedDB, кэш ответов на уровне HTTP, content-visibility для длинных страниц.
Где спотыкаются
Отвечают безусловным «да, память дешевле времени пользователя». Это рассуждение про сервер. В браузере лишняя память превращается в дёрганый скролл, паузы сборщика и выгруженную вкладку, то есть в ухудшение того самого UX.
Второе: не могут назвать способ измерения. Без снимка кучи и записи профиля разговор остаётся обменом мнениями, а интервьюер ждал инструмент.
Третье: путают память со скоростью. Держать десятки тысяч узлов DOM ради мгновенного скролла хуже по обоим параметрам сразу, и правильный ответ здесь виртуализация, а не увеличение расхода.