Встречается на 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.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы