Встречается на собеседованиях • сегодня
Какие знаешь виды оптимизации сайта
- **Минификация и конкатенация** CSS/JS: уменьшение размера файлов, удаление пробелов, комментариев.
```js
// До: function hello() { console.log('Hello!'); }
// После: function hello(){console.log('Hello!')}
```
- **Ленивая загрузка (lazy loading)**: загрузка изображений/контента только при прокрутке.
```html
```
- **Кэширование**: использование `localStorage`, `sessionStorage`, Service Workers для кэширования ресурсов.
- **Оптимизация изображений**: сжатие (WebP), ресайз под нужные размеры, использование `srcset`.
- **CDN**: доставка статики через CDN для уменьшения задержки.
- **Дебонсинг/троттлинг**: оптимизация частых событий (скролл, ресайз).
```js
function debounce(func, timeout = 300) {
let timer;
return (...args) => {
clearTimeout(timer);
timer = setTimeout(() => func.apply(this, args), timeout);
};
}
```
- **Оптимизация шрифтов**: подгрузка только нужных начертаний, `font-display: swap`.
- **Уменьшение перерисовок/рефловов**: избегание частых изменений DOM, использование `will-change`.
- **SSR/Static Generation**: предрендеринг страниц для быстрой отдачи (Next.js, Nuxt.js).
- **Tree-shaking**: удаление неиспользуемого кода (Webpack, Rollup).
```
- **Кэширование**: использование `localStorage`, `sessionStorage`, Service Workers для кэширования ресурсов.
- **Оптимизация изображений**: сжатие (WebP), ресайз под нужные размеры, использование `srcset`.
- **CDN**: доставка статики через CDN для уменьшения задержки.
- **Дебонсинг/троттлинг**: оптимизация частых событий (скролл, ресайз).
```js
function debounce(func, timeout = 300) {
let timer;
return (...args) => {
clearTimeout(timer);
timer = setTimeout(() => func.apply(this, args), timeout);
};
}
```
- **Оптимизация шрифтов**: подгрузка только нужных начертаний, `font-display: swap`.
- **Уменьшение перерисовок/рефловов**: избегание частых изменений DOM, использование `will-change`.
- **SSR/Static Generation**: предрендеринг страниц для быстрой отдачи (Next.js, Nuxt.js).
- **Tree-shaking**: удаление неиспользуемого кода (Webpack, Rollup).
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы