foundation
Разбор HTML и CSS
Стройте DOM и CSSOM, находите blocking resources и понимайте, как порядок script и stylesheet влияет на рендеринг.
Браузер разбирает HTML в DOM, CSS — в CSSOM, параллельно обнаруживая scripts, stylesheets, шрифты, изображения и preload hints. CSS может блокировать рендеринг: стили нужны до first paint, а parser-blocking scripts останавливают разбор HTML, если не используются defer, async или модульная загрузка.
<link rel="stylesheet" href="/app.css">
<script defer src="/app.js"></script>
`defer` сохраняет порядок и выполняется после parse; `async` качает параллельно и запускается по готовности. Module scripts по умолчанию отложены. Preload прогревает критичные ресурсы; избыточный preload конкурирует с LCP.
На интервью: свяжите порядок ресурсов с first render, таймингом hydration и почему defer часто безопаснее inline blocking scripts.
Типовые ошибки: preload всего подряд; async scripts выполняются вне порядка и ломают зависимости.
Компромисс: удобство против контроля — выбирайте механизм под вашу связность и бюджет производительности.
Чеклист:
- Знайте построение DOM и CSSOM.
- Находите render-blocking CSS и scripts.
- Режим загрузки script под граф зависимостей.
- Измеряйте first render после перестановки.