Какое сделал самое интересное техническое решение

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

Ответ

Разработал кастомный виртуальный скролл для таблицы с 10k+ строк, который подгружает данные чанками и рендерит только видимые строки. Решение включало:

  1. Расчет видимого viewport на основе позиции скролла
  2. Ленивую подгрузку данных через IntersectionObserver
  3. Оптимизацию через memoization и useMemo
const VirtualScroll = ({ items, rowHeight }) => {
  const [scrollTop, setScrollTop] = useState(0);
  const viewportHeight = 500;

  const startIndex = Math.floor(scrollTop / rowHeight);
  const visibleCount = Math.ceil(viewportHeight / rowHeight);
  const visibleItems = items.slice(startIndex, startIndex + visibleCount);

  return (
    <div onScroll={(e) => setScrollTop(e.target.scrollTop)}>
      <div style={{ height: `${items.length * rowHeight}px` }}>
        {visibleItems.map((item, i) => (
          <Row key={i} item={item} />
        ))}
      </div>
    </div>
  );
};

Это дало 60 FPS даже на слабых устройствах и сократило DOM-ноды с 10k до ~20.