Рендеринг веб страницы
Раздел для системного понимания производительности и UX на уровне браузера.
Быстрый переход к обучению
Что нужно знать
- Пайплайн рендеринга: parse -> style -> layout -> paint -> composite.
- Блокирующие ресурсы и влияние script/css на первый рендер.
- Гидратация и причины
hydration mismatch. - Разница CSR/SSR/SSG/ISR и критерии выбора.
- Core Web Vitals: LCP, INP, CLS и подходы к улучшению.
Что уметь объяснить на собеседовании
- Где возникает layout thrashing и как его избегать.
- Почему страница визуально готова, но интерактивность запаздывает.
- Как выбирать рендеринг-стратегию под тип страницы и трафик.
- Как связать bundle size с LCP/INP.
- Какие оптимизации реально измерять, а какие преждевременны.
Грейд-фокус
- Junior: критический путь рендера, блокирующие ресурсы, основы Lighthouse.
- Middle: системная диагностика метрик, hydration-баги, приоритизация optimizations.
- Senior: производительность как продуктовая стратегия: бюджеты, guardrails, release-control.
Глубокие кейсы собеседования
-
LCP высокий на мобильном трафике: проблема часто в тяжелом hero-изображении и поздней загрузке критического CSS. Сильный ответ: оптимизировать размер/формат, preconnect/preload, разделить критический и некритичный CSS.
-
INP деградировал после релиза: частая причина - тяжелые синхронные обработчики и массовые перерисовки. Сильный ответ: профилирование long tasks, дробление работы, отложенные вычисления.
-
Hydration mismatch в SSR: серверный и клиентский вывод различаются (дата, random, доступ к
window). Сильный ответ: стабилизировать initial render и изолировать client-only логику.
Практический минимум
- Замерить страницу в Lighthouse и выделить 3 главных bottleneck.
- Убрать один блокирующий ресурс и сравнить результат до/после.
- Проверить hydration-ошибку на SSR-странице и устранить причину.
- Сделать краткий perf-отчет: проблема -> гипотеза -> изменение -> результат.
Типовые ловушки
- Оптимизация на глаз без метрик.
- Игнорирование мобильного профиля сети/CPU.
- Путаница между performance и SEO как будто это одно и то же.
- Фокус на bundle-size без учета runtime-cost.
Self-review перед собеседованием
- Я могу назвать главный bottleneck страницы и как его проверил.
- Я могу объяснить разницу LCP, INP, CLS без теоретической воды.
- Я умею связать оптимизацию с влиянием на продуктовую метрику.
- Я могу описать, как ловил hydration mismatch на практике.
Связанные материалы
Архивный монолит
Полный старый материал: Рендеринг веб-страницы (архив)