Какие знаешь техники уменьшения воспринимаемого времени загрузки страницы

«Какие знаешь техники уменьшения воспринимаемого времени загрузки страницы» — вопрос из категории Архитектура, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Используй ленивую загрузку (lazy loading) для изображений и компонентов, которые не видны сразу. Оптимизируй критический путь рендеринга (Critical Rendering Path) — минифицируй CSS/JS, размещай стили в <head>, а скрипты перед закрывающим </body>.

Пример lazy loading для изображений:

<img src="placeholder.jpg" data-src="real-image.jpg" loading="lazy" alt="...">

Используй скелетоны или прогресс-бары для контента, загружаемого асинхронно. Кэшируй ресурсы через Service Workers и HTTP-кеширование.

Сжимай изображения (WebP, AVIF) и используй srcset для адаптивности:

<img srcset="image-320w.jpg 320w, image-480w.jpg 480w" sizes="(max-width: 600px) 480px, 800px">

Разделяй код (code splitting) в современных сборщиках (Webpack, Vite) для загрузки только необходимого JS.