Встречается на собеседованиях • сегодня
Расскажи про технологически емкую задачу
Одна из сложных задач — реализация виртуального скролла для больших списков (10k+ элементов). Проблема: рендеринг всех элементов убивает производительность.
**Решение:**
1. Рендерить только видимые элементы + небольшой буфер сверху/снизу.
2. Использовать `transform: translateY()` для имитации скролла.
**Пример на React:**
```jsx
const VirtualList = ({ items, itemHeight, containerHeight }) => {
const [scrollTop, setScrollTop] = useState(0);
const startIdx = Math.floor(scrollTop / itemHeight);
const visibleItems = items.slice(startIdx, startIdx + Math.ceil(containerHeight / itemHeight));
return (
setScrollTop(e.target.scrollTop)}>
);
};
```
**Нюансы:**
- Точный расчет высоты элементов (фиксированная/динамическая).
- Дебаунс скролла.
- Поддержка динамического контента (изменение размера списка).
{visibleItems.map((item, i) => (
{item}
))}

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