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

Расскажи про сложные задачи из опыта

Одна из сложных задач — реализация виртуального скролла для таблицы с 10k+ строк. Нужно было обеспечить плавный скролл без лагов, динамически подгружая данные и рендеря только видимые строки. Использовал IntersectionObserver и кастомный хук для расчета видимого диапазона.

jsx
const useVirtualScroll = (items, itemHeight) => {
  const [startIdx, setStartIdx] = useState(0);
  const containerRef = useRef();

useEffect(() => {
const observer = new IntersectionObserver((entries) => {
const entry = entries[0];
if (entry.isIntersecting) {
const newStartIdx = Math.floor(entry.boundingClientRect.top / itemHeight);
setStartIdx(newStartIdx);
}
}, { threshold: 0.1 });

text
observer.observe(containerRef.current);
return () => observer.disconnect();

}, []);

return { startIdx, containerRef };
};

text

Другая задача — оптимизация перерисовок в большом React-приложении. Решал через мемоизацию компонентов, useMemo для тяжелых вычислений и разбиение на мелкие контексты вместо одного большого.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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