Разделите проблему на долгую серверную обработку, объём передачи и дорогую отрисовку; у каждого этапа свой способ оптимизации.
Ситуационная задача: результат обработки может содержать тысячи или десятки тысяч замечаний; ответ долго приходит, а браузер зависает при рендеринге. Что предложите?
Разделите проблему на долгую серверную обработку, объём передачи и дорогую отрисовку; у каждого этапа свой способ оптимизации.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Разделите проблему на долгую серверную обработку, объём передачи и дорогую отрисовку; у каждого этапа свой способ оптимизации.
Длительную работу можно выполнять фоново со статусом и отменой. Результаты отдавайте страницами или порциями с фильтрацией на сервере. В интерфейсе используйте виртуализацию и ограничивайте тяжёлые вычисления, при необходимости переносите их в worker. Показывайте прогресс, но не создавайте десятки тысяч DOM-узлов сразу.