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

Какие знаешь принципы масштабирования систем

Горизонтальное масштабирование (scaling out) – добавление новых серверов для распределения нагрузки. Пример: балансировщик (Nginx) распределяет запросы между несколькими инстансами приложения.

Вертикальное масштабирование (scaling up) – увеличение ресурсов сервера (CPU, RAM). Подходит для монолитных приложений, но имеет физические ограничения.

Шардинг – разделение данных по разным серверам (например, по регионам или хэш-ключу).

Кэширование (Redis, Memcached) – снижает нагрузку на БД, ускоряет ответы.

Асинхронная обработка (очереди, Kafka) – разгрузка основного потока за счёт фоновых задач.

Микросервисы – разделение системы на независимые компоненты, масштабируемые отдельно.

Пример горизонтального масштабирования в Spring Boot:

java
@RestController
public class ApiController {
    @GetMapping("/data")
    public String getData() {
        return "Response from instance: " + System.getenv("INSTANCE_ID");
    }
}

Запуск нескольких инстансов с разными INSTANCE_ID за балансировщиком.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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