Встречается на 5% собеседований по Java

Расскажи про самые сложные задачи, которые решал

Одна из самых сложных задач — реализация распределённого кэширования с поддержкой инвалидации и репликации между серверами. Проблемы: race condition при обновлении данных, сетевые задержки, согласованность данных (CAP-теорема).

Пример на Java с Caffeine и Hazelcast:

java
// Локальный кэш (Caffeine)
Cache<Key, Value> localCache = Caffeine.newBuilder()
    .expireAfterWrite(10, TimeUnit.MINUTES)
    .build();

// Распределённый слой (Hazelcast)
IMap<Key, Value> distributedCache = HazelcastInstance.getMap("global-cache");

// Комбинированная логика
Value get(Key key) {
Value value = localCache.getIfPresent(key);
if (value == null) {
value = distributedCache.get(key);
if (value != null) {
localCache.put(key, value);
}
}
return value;
}

text

Пришлось учитывать: TTL, обработку сетевых сбоев, баланс между consistency и availability.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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