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

Приведи примеры неэффективных процессов

1. **Лишние ререндеры компонентов** Если не использовать `React.memo`, `useMemo` или `useCallback`, компоненты могут перерисовываться без необходимости. ```jsx const Component = () => { const [count, setCount] = useState(0); const handleClick = () => setCount(prev => prev + 1); // Без useCallback функция создаётся заново при каждом рендере return ; }; ``` 2. **Медленные API-запросы без оптимизации** Загрузка данных без кеширования (например, через `fetch` напрямую) приводит к повторным запросам. 3. **Избыточные вычисления в цикле** Например, фильтрация массива внутри рендера: ```jsx const List = ({ items }) => { const filtered = items.filter(item => item.active); // Вычисляется каждый рендер return filtered.map(item => ); }; ``` 4. **Неоптимальная анимация через JS** Использование `setInterval` или `requestAnimationFrame` без debounce/throttle может тормозить страницу. 5. **Грубые CSS-селекторы** Например, `div > span > a` медленнее, чем `.link-class`, из-за сложного сопоставления. Оптимизация: мемоизация, кеширование, debounce/throttle, Virtual DOM, CSS-анимации.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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