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

Приведи пример сложного кейса на прошлом проекте

На прошлом проекте столкнулся с необходимостью реализовать динамическую подгрузку и виртуализацию большого списка (10k+ элементов) с возможностью фильтрации и сортировки без перезагрузки страницы. Основные сложности: - Поддержание плавного скролла при быстрой навигации - Корректное обновление позиций элементов при фильтрации - Минимизация перерисовок DOM Решение: ```jsx const VirtualList = ({ items, height }) => { const [scrollTop, setScrollTop] = useState(0); const [visibleItems, setVisibleItems] = useState([]); useEffect(() => { const startIdx = Math.floor(scrollTop / ITEM_HEIGHT); const endIdx = Math.min(startIdx + VISIBLE_COUNT, items.length); setVisibleItems(items.slice(startIdx, endIdx).map(item => ({ ...item, offset: startIdx * ITEM_HEIGHT })); }, [scrollTop, items]); return (
setScrollTop(e.target.scrollTop)}>
{visibleItems.map(item => ( ))}
); }; ``` Оптимизировали через IntersectionObserver и requestAnimationFrame. В итоге добились FPS 60 при любых операциях.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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