Встречается на собеседованиях • сегодня

Какие применял способы оптимизации Relayout

  1. Batch DOM changes – группирую изменения DOM, используя requestAnimationFrame или DocumentFragment:
js
const fragment = document.createDocumentFragment();
items.forEach(item => {
  const el = document.createElement('div');
  fragment.appendChild(el);
});
container.appendChild(fragment);
  1. CSS transform вместо top/left – анимирую через transform, что не вызывает relayout:
css
.animated {
  transform: translateX(100px); /* лучше чем left: 100px */
}
  1. Избегаю чтения layout свойств (offset, scroll) в циклах** – кеширую значения перед циклом.

  2. Использую will-change для сложных анимаций, подсказывая браузеру об изменениях:

css
.element {
  will-change: transform;
}
  1. Virtual DOM (React/Vue) – минимизирую прямые манипуляции с DOM, полагаясь на diff-алгоритмы фреймворков.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы