Встречается на собеседованиях • сегодня
Расскажи про сложные задачи из опыта
Одна из сложных задач — реализация виртуального скролла для таблицы с 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 для тяжелых вычислений и разбиение на мелкие контексты вместо одного большого.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы