Skip to content

Вопросы на экзамен

Экзаменационные требования

Section titled “Экзаменационные требования”

Дисциплина: «Оптимизация веб-приложений»

Section titled “Дисциплина: «Оптимизация веб-приложений»”

1. Теоретические вопросы

Section titled “1. Теоретические вопросы”
  1. Понятие оптимизации веб-приложений. Цели, задачи и основные направления оптимизации.
  2. Производительность веб-приложения. Основные метрики и влияние на пользовательский опыт.
  3. SEO. Назначение и роль поисковой оптимизации в веб-разработке.
  4. Семантическое ядро сайта. Понятие, структура и принципы формирования.
  5. Внутренняя SEO-оптимизация. Основные элементы и область применения.
  6. Техническая оптимизация сайта. Назначение и основные направления.
  7. Внутренняя техническая оптимизация. Структура страницы, мета-теги, заголовки, ссылки, изображения.
  8. Сборщики в JavaScript. Назначение и роль в оптимизации веб-приложений.
  9. Инструменты сборки. Общая характеристика современных сборщиков.
  10. Минификация и бандлинг ресурсов. Назначение и особенности применения.
  11. Оптимизация JavaScript. Основные подходы и практики.
  12. Code Splitting. Принципы, назначение и преимущества.
  13. Динамический импорт модулей. Назначение и применение.
  14. Оптимизация CSS. Основные подходы к уменьшению объёма и ускорению загрузки стилей.
  15. Критический CSS. Назначение и способы применения.
  16. Оптимизация шрифтов. Форматы, подключение, загрузка и влияние на производительность.
  17. CDN. Назначение, принцип работы и преимущества использования.
  18. Клиентское кэширование. Назначение, механизмы и основные заголовки.
  19. Lazy-loading. Принцип работы и области применения.
  20. Оптимизация изображений и медиа-ресурсов. Основные методы и влияние на скорость загрузки.
  21. Service Workers. Назначение, архитектура и сценарии применения.
  22. IndexedDB. Назначение и использование в клиентских веб-приложениях.
  23. Прогрессивные веб-приложения (PWA). Понятие, особенности и преимущества.
  24. Основные компоненты PWA. Manifest, Service Worker, offline-режим.
  25. Main Thread. Роль главного потока в работе браузера.
  26. Процесс отрисовки страницы. Основные этапы и их влияние на производительность.
  27. Работа с DOM. Влияние манипуляций с DOM на производительность.
  28. Reflow и Repaint. Причины возникновения и способы уменьшения их влияния.
  29. Debounce. Назначение и примеры применения.
  30. requestAnimationFrame (RAF). Назначение и использование для анимации и оптимизации интерфейсов.
  31. Работа с консолью браузера. Использование для анализа и отладки производительности.
  32. Оценка производительности веб-приложений. Подходы и основные показатели.
  33. Lighthouse. Назначение, возможности и интерпретация отчётов.
  34. Аудит производительности веб-приложения. Основные этапы и рекомендации по улучшению.

  1. Анализ страницы на предмет SEO-ошибок
  2. Подбор ключевых слов для семантического ядра
  3. Оптимизация мета-тегов страницы
  4. Выявление проблем внутренней технической оптимизации
  5. Настройка сборки JavaScript-проекта
  6. Разделение JavaScript-кода на чанки
  7. Оптимизация загрузки CSS
  8. Подключение и оптимизация веб-шрифтов
  9. Настройка раздачи статических файлов через CDN
  10. Настройка клиентского кэширования
  11. Реализация lazy-loading для изображений
  12. Анализ работы Service Worker
  13. Организация хранения данных в IndexedDB
  14. Подготовка веб-приложения к PWA-формату
  15. Анализ загрузки main thread
  16. Поиск узких мест в отрисовке страницы
  17. Оптимизация обработчиков событий через debounce
  18. Использование requestAnimationFrame для анимации
  19. Анализ DOM-операций и их оптимизация
  20. Проверка производительности страницы с помощью Lighthouse

Студент должен уметь:

  • анализировать веб-приложение с точки зрения производительности;
  • выполнять базовую SEO-оптимизацию страниц;
  • формировать семантическое ядро сайта;
  • выявлять и исправлять ошибки технической и внутренней оптимизации;
  • использовать сборщики JavaScript;
  • применять минификацию и бандлинг ресурсов;
  • выполнять code splitting и динамическую загрузку модулей;
  • оптимизировать CSS и шрифты;
  • использовать CDN для доставки статических ресурсов;
  • настраивать клиентское кэширование;
  • реализовывать lazy-loading;
  • использовать Service Workers;
  • работать с IndexedDB;
  • подготавливать и анализировать PWA;
  • понимать работу main thread и процесса отрисовки;
  • применять debounce и requestAnimationFrame;
  • оптимизировать работу с DOM;
  • использовать консоль разработчика для анализа производительности;
  • выполнять аудит производительности с помощью Lighthouse.

Экзамен включает:

  • теоретический вопрос
  • задачу на анализ или оптимизацию веб-приложения
  • практическое задание