Проверяет понимание блокирующих операций в критическом пути рендеринга браузера и их влияния на скорость загрузки страницы.
Критический путь рендеринга (Critical Rendering Path) — это последовательность шагов, которые браузер выполняет для преобразования HTML, CSS и JavaScript в пиксели на экране. Любая задержка на этом пути увеличивает время до первой отрисовки (First Paint), что напрямую влияет на восприятие скорости сайта. Понимание блокирующих операций помогает разработчику оптимизировать загрузку и улучшить пользовательский опыт.
Главные блокировщики — это CSS и синхронный JavaScript. CSS блокирует рендеринг, потому что браузер не может отрисовать страницу, пока не построит полное CSS-дерево (CSSOM). JavaScript блокирует парсинг HTML, так как скрипт может изменить DOM, и браузер останавливается, чтобы выполнить его.
<!-- Блокирующий CSS -->
<link rel="stylesheet" href="styles.css">
<!-- Блокирующий JS в head -->
<script src="script.js"></script>
<!-- Неблокирующий JS с defer -->
<script src="script.js" defer></script>
<!-- Неблокирующий JS с async -->
<script src="script.js" async></script>Чтобы уменьшить блокировку, CSS рекомендуется подключать в head, но минимизировать его объём и использовать media-атрибуты для некритичных стилей. JavaScript лучше выносить в конец body или использовать атрибуты async и defer. Также полезно инлайнить критический CSS и откладывать загрузку второстепенных ресурсов.
Вывод: Знание блокирующих операций критического пути рендеринга необходимо для оптимизации скорости загрузки. Применяйте эти принципы при разработке веб-приложений, чтобы сократить время до первой отрисовки и улучшить метрики производительности, такие как Lighthouse Performance Score.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию