awesome-everything EN
↑ Обратно к восхождению

Производительность

Bundle budgets: тест с множественным выбором

Суть Синтез с множественным выбором по юниту bundle budgets — четырёхфазная модель стоимости, рычаги Core Web Vitals, splitting vs compression, налог third-party и enforcement в CI.
Высота — путь к senior
НольJuniorMiddleSenior
Ты на senior-высоте — в орбите
◷ 13 min

Шесть вопросов сквозь весь юнит. Каждый отражает решение, которое ты принимаешь на реальном perf-ревью — не определение для пересказа, а вопрос о том, какой рычаг реально двигает число под нагрузкой.

Цель

Подтверди, что умеешь связывать четырёхфазную модель стоимости, пороги Core Web Vitals, иерархию splitting/tree-shaking/compression, налог third-party и enforcement в CI — тот синтез, к которому вели отдельные уроки.

Викторина

Команда A переходит с gzip на brotli и режет transfer с 180 KB до 150 KB. Команда B применяет code-splitting к тому же роуту с 600 KB до 200 KB несжатого. Обе отчитываются о выигрыше в LCP. Кто реально снизил стоимость CPU и почему?

Викторина

Страница грузится за 800 мс на M-ноутбуке разработчика, но висит пустой ~8 с на mid-range Android. TTFB 70 мс на обоих. Что доминирующая причина?

Викторина

У команды P75 LCP — Poor, а P75 CLS — Good. Они режут bundle роута с 700 KB до 200 KB. LCP и INP улучшаются; CLS почти не двигается. Почему это ожидаемый исход?

Викторина

Разработчик пишет `import { debounce } from 'lodash'`, и анализатор показывает 70 KB, а не 2 KB. На своём пакете он уже выставил `sideEffects: false`. В чём реальная причина и фикс?

Викторина

Команда спринт режет первопартийный bundle с 800 KB до 350 KB; через месяц data-команда добавляет через GTM Segment, Hotjar и Intercom (~450 KB), и выигрыш стёрт. Какой контроль поймал бы это до релиза?

Викторина

Lighthouse CI на каждом PR показывает P75 LCP 2.1 с; production RUM показывает 4.8 с P75 на мобильных для того же роута. Как это читает сеньор?

Итог

Сквозная линия юнита — одно дерево решений: байты равны четырём фазам CPU (download — это сеть, parse/compile/execute — CPU юзера), поэтому реальные рычаги сокращают поставляемые байты — сначала splitting, затем tree-shaking, с compression как финишёром только для транспорта. Core Web Vitals количественно меряют стоимость (LCP/INP двигаются с JS, CLS — нет). Third-party скрипты — тихий убийца бюджета, которого первопартийные gate не видят, потому им нужен свой budget плюс CSP. И ничто не держится без enforcement: size-limit в CI, RUM в production, храповик budget-raise против дрейфа.

Продолжить восхождение ↑Bundle budgets: тест на свободное воспроизведение
хоткеи развернуть
поиск
K
пред. пьеса
k
след. пьеса
j
тиры
t
это меню
?
sources3
expand
  1. 01
  2. 02
  3. 03

Trademarks belong to their respective owners. Editorial reference only.