Встречается на собеседованиях • сегодня
Приведи пример задачи которая вызвала трудность
Однажды столкнулся с задачей реализации бесконечной ленты с виртуализацией и сохранением позиции скролла при переходе между страницами. Основная сложность была в том, что нужно было:
- Корректно рассчитать высоту контейнера
- Сохранять и восстанавливать позицию скролла
- Оптимизировать производительность при быстром скролле
Решил через IntersectionObserver и кастомный хук:
jsx
function useScrollPosition(key) {
const [scrollPos, setScrollPos] = useState(0);
useEffect(() => {
const handleScroll = () => {
localStorage.setItem(key, window.scrollY);
};
window.addEventListener('scroll', handleScroll);
return () => window.removeEventListener('scroll', handleScroll);
}, [key]);
useEffect(() => {
const savedPos = localStorage.getItem(key);
if (savedPos) window.scrollTo(0, savedPos);
}, [key]);
return [scrollPos, setScrollPos];
}Проблема была в синхронизации состояния при быстром скролле - решал через троттлинг и debounce.

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