Получить доступ

Отзывчивость интерфейса

Основа

Долгие задачи, лишние перерасчёты раскладки и тяжёлые рендеры — почему интерфейс тормозит.

На кадр при 60 Гц — около 16 мс. Всё, что занимает главный поток дольше 50 мс, — долгая задача: интерфейс не реагирует на клики и ввод.

Что важно знать

  • Дробить долгую работу и отдавать управление браузеру (await scheduler.yield() или setTimeout), тяжёлые вычисления — в Web Worker.
  • Layout thrashing: чередование записи стилей и чтения размеров (offsetHeight) в цикле заставляет браузер пересчитывать раскладку каждый раз. Сначала все чтения, потом все записи.
  • Анимировать transform и opacity, а не геометрию.
  • Длинные списки — виртуализация.
  • Обработчики частых событий — throttle, debounce, requestAnimationFrame.
  • Утечки памяти: забытые подписки, таймеры, обработчики — снимок кучи в DevTools.
  • Профилирование: вкладка Performance показывает, что именно занимает кадр.

Вопросы с собеседований

Документация

← Вся карта «Frontend-разработчик»

Закрытая бета

Знать тему — половина дела

На живом собеседовании sotto слышит вопрос интервьюера и показывает короткий ответ и план. Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем