Встречается на собеседованиях • сегодня
Какие знаешь подходы к оптимизации приложения в рамках приложения
1. **Ленивая загрузка (Lazy Loading)**
Загружаем только необходимые ресурсы (компоненты, изображения) при первом обращении.
```javascript
const LazyComponent = React.lazy(() => import('./LazyComponent'));
```
2. **Мемоизация**
Кешируем результаты вычислений с помощью `React.memo`, `useMemo`, `useCallback`.
```javascript
const memoizedValue = useMemo(() => computeExpensiveValue(a, b), [a, b]);
```
3. **Оптимизация рендеринга**
Избегаем лишних ререндеров с помощью `shouldComponentUpdate` или `React.PureComponent`.
4. **Дебонсинг и троттлинг**
Уменьшаем частоту вызовов тяжелых функций (например, обработчики событий скролла/ресайза).
5. **Оптимизация изображений**
Используем современные форматы (WebP), сжатие и `loading="lazy"` для `
`.
6. **Код-сплиттинг**
Разбиваем бандл на чанки с помощью динамических импортов или `SplitChunksPlugin` в Webpack.
7. **SSR/SSG**
Используем Next.js или аналоги для предварительного рендеринга страниц.
8. **Виртуализация списков**
Для больших списков применяем библиотеки типа `react-window`.
9. **Оптимизация API-запросов**
Кешируем данные (SWR, React Query), объединяем запросы (GraphQL/Batch).
10. **Анализ бандла**
Удаляем неиспользуемый код (Tree Shaking), анализируем через `webpack-bundle-analyzer`.
Пример:
```javascript
// Оптимизация API с React Query
const { data } = useQuery('todos', fetchTodos);
```

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