Встречается на 2% собеседований по Java
Какую структуру данных будешь использовать в простой реализации кэширования
Для простого кэширования с ограничением размера и политикой вытеснения LRU (Least Recently Used) лучше всего подходит LinkedHashMap. Он сочетает хеш-таблицу для быстрого доступа и двусвязный список для поддержания порядка элементов.
Пример реализации:
java
public class SimpleCache<K, V> extends LinkedHashMap<K, V> {
private final int maxSize;
public SimpleCache(int maxSize) {
super(maxSize, 0.75f, true);
this.maxSize = maxSize;
}
@Override
protected boolean removeEldestEntry(Map.Entry<K, V> eldest) {
return size() > maxSize;
}
}Ключевые моменты:
accessOrder=trueв конструкторе включает LRU-порядок- Переопределение
removeEldestEntryавтоматически удаляет старые записи при превышении размера - O(1) для операций get/put
- Потоконебезопасно - для многопоточности нужна синхронизация

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы