Какие подходы к оптимизации веб-приложений существуют
Что проверяют
Есть ли у вас система, и начинаете ли вы с измерения. Список приёмов без метрик считается слабым.
Как отвечать
Начните с того, что оптимизируют не вообще, а по метрикам: LCP (когда виден основной контент), INP (отклик на действие), CLS (сдвиги вёрстки). Инструменты: Lighthouse, вкладка Performance, профайлер React, реальные данные пользователей.
Дальше по слоям.
Сеть и загрузка. Разделение бандла и ленивая загрузка маршрутов, defer и async у скриптов, современные форматы картинок с явными размерами, preconnect и preload для критичных ресурсов, сжатие brotli, кэширование статики с хешем в имени, CDN.
Рендеринг. Серверный рендер или статика вместо пустого HTML, стриминг разметки, отказ от блокирующего CSS, шрифты с font-display: swap и size-adjust против скачков.
Выполнение. Разбиение длинных задач, вынос тяжёлых расчётов в Web Worker, виртуализация длинных списков, мемоизация по замерам, дебаунс обработчиков ввода.
Данные. Кэш запросов с устареванием, пагинация вместо полной выборки, отказ от избыточных полей в ответе.
Правило, которое стоит произнести: сначала замер, потом гипотеза, потом правка и повторный замер. Оптимизация без измерения это угадывание, и половина времени уходит на то, что не влияет.
Где спотыкаются
Начинают с мемоизации, не открыв профайлер.
Меряют на своём быстром ноутбуке, а не с троттлингом процессора и сети.
Забывают про картинки и шрифты, хотя чаще всего вес именно там.
Не называют ни одной метрики, из-за чего непонятно, что считать успехом.