🎯 Зачем спрашивают
- Понимает ли кандидат базовые механизмы ускорения доставки контента в веб-приложениях.
- Знает ли он, что оптимизация производительности — это не только «сжать картинку», но и правильно выстроить инфраструктуру.
- Осознаёт ли, что CDN — это не только про скорость, но и про надёжность, безопасность (DDoS-защита), кеширование.
- Может ли кандидат привести реальные trade-offs (стоимость, сложности с кеш-инвалидацией).
📝 Ответ
CDN (Content Delivery Network) — инструмент повышения производительности сайта или приложения.
Это сеть географически распределённых серверов, кеширующих статику:
- CSS
- JS
- медиа (изображения, видео)
- шрифты
Когда пользователь заходит на сайт, то запрос идёт не к «основному» серверу (origin), а к ближайшему CDN-узлу (edge server). Контент загружается быстрее, с меньшей задержкой.
Подробнее:
Что делает CDN:
- Снижает задержеку (latency) – контент (изображения, видео, скрипты, стили) доставляется пользователю с ближайшего сервера CDN, а не из одного удалённого дата-центра.
- Ускоряет загрузку страницы – статические ресурсы кэшируются в CDN, поэтому клиент получает их быстрее.
- Разгружает основной сервер – меньше прямых обращений к origin-серверу, что уменьшает риск перегрузки.
- Оптимизирует трафик – многие CDN умеют сжимать изображения, минифицировать файлы и использовать современные протоколы (HTTP/2, HTTP/3, QUIC).
- Устойчивость и доступность – при сбоях в одном узле CDN запросы перенаправляются на другой, что повышает надёжность.
Типы CDN
- Storage-backed CDN — коробочные, хранилище + CDN в одном пакете (например, AWS CloudFront + S3).
- Proxy CDN — некоробочные, CDN как прослойка над тем, что у вас уже есть (Cloudflare, Fastly).
⚖️ Компромиссы
- ✅ Плюсы: быстрее загрузка, меньше нагрузка на origin, защита от DDoS, гибкий кеш.
- ❌ Минусы: сложнее отладка (проблемы кеша), возможные задержки при инвалидировании, стоимость.
🔎 Встречные вопросы
- Как инвалидировать кеш в CDN?
- В чём разница между push CDN и pull CDN?
- Как работает edge-compute (Cloudflare Workers)?
- Когда CDN может навредить (например, при stale контенте)?
🚩 Красные флаги
- CDN = это просто прокси (слишком упрощённо).
- CDN = это только картинки (ограниченное понимание).
- Нет упоминания про кеш-инвалидацию или TTL.