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

Расскажи о интересной задаче, которую приходилось делать

Разрабатывал систему кэширования с инвалидацией по времени и событию. Основная сложность — обеспечить консистентность данных при высокой нагрузке.

Реализовал двухуровневый кэш:

  1. Локальный (Caffeine) — для быстрого доступа
  2. Распределенный (Redis) — для синхронизации между инстансами

При обновлении данных:

java
public void updateItem(Item item) {
    database.update(item);          // 1. Обновляем БД
    localCache.invalidate(item.id); // 2. Чистим локальный кэш
    redis.publish("invalidate", item.id); // 3. Рассылаем событие
}

Подписчики на событие инвалидируют свои локальные кэши. Добавил TTL как fallback. В результате получили отзывчивость локального кэша + консистентность распределенной системы.

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

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

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

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