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

Почему нативный компонентный подход работает медленно

Нативный компонентный подход (например, через document.createElement) работает медленнее, чем виртуальный DOM или шаблонизация, потому что:

  1. Прямые манипуляции с DOM – каждое изменение вызывает рефлоу и репайнт, что дорого с точки зрения производительности.
  2. Отсутствие оптимизаций – нет батчинга (группировки) обновлений, каждое изменение применяется синхронно.
  3. Нет диффинга – при обновлении UI пересоздаются все узлы, даже если изменения минимальны.

Пример:

js
// Медленно при частых обновлениях
const button = document.createElement('button');
button.textContent = 'Click me';
document.body.appendChild(button);

// Каждое изменение — отдельный DOM-апдейт
button.textContent = 'Clicked!'; 

Фреймворки (React, Vue и др.) решают это через виртуальный DOM, диффинг и батчинг обновлений.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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