Уменьшите объём данных и перенесите тяжёлый парсинг с фильтрацией в worker; отрисовку большого списка оптимизируйте отдельно.
Предположим, у нас есть одностраничный лендинг. Делается запрос, получаем JSON на 50 тысяч строк, и пока он парсится, UI подвисает из-за однопоточности JavaScript. Что бы вы предложили и как оптимизировать фильтрацию и парсинг этого JSON, чтобы страница не подвисала и UI оставался отзывчивым?
Уменьшите объём данных и перенесите тяжёлый парсинг с фильтрацией в worker; отрисовку большого списка оптимизируйте отдельно.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Уменьшите объём данных и перенесите тяжёлый парсинг с фильтрацией в worker; отрисовку большого списка оптимизируйте отдельно.
Если сервер позволяет, запрашивайте страницы и фильтры вместо всего набора. Worker может сам получить и разобрать ответ, возвращая только нужные строки или индексы; огромная копия результата тоже стоит времени. Для потокового разбора нужен подходящий формат и parser. В UI используйте виртуализацию и отмену устаревшего поиска.