Встречается на собеседованиях • сегодня
С какими сложностями столкнулся при реализации самого сложного кейса
При реализации сложного кейса с виртуальным скроллом для таблицы с тысячами строк столкнулся с такими проблемами:
1. **Производительность** - рендер большого количества DOM-элементов вызывал лаги. Решение: виртуализация через расчет видимого диапазона и рендер только видимых строк.
2. **Позиционирование** - при быстром скролле контент "уплывал". Фиксил через debounce и точный расчет offset.
3. **Динамическая высота строк** - если строки имеют разную высоту, пришлось реализовать механизм измерения и кеширования высот.
Пример базовой реализации:
```jsx
const VirtualScroll = ({ items, itemHeight, renderItem }) => {
const [startIndex, setStartIndex] = useState(0);
const visibleCount = Math.ceil(height / itemHeight);
const handleScroll = (e) => {
const scrollTop = e.target.scrollTop;
setStartIndex(Math.floor(scrollTop / itemHeight));
};
return (
);
};
```
{items.slice(startIndex, startIndex + visibleCount).map(renderItem)}

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы