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

Какие задачи запомнились

Однажды пришлось оптимизировать алгоритм поиска в графе с миллионами узлов. Задача была в том, чтобы найти кратчайший путь между двумя точками с минимальным использованием памяти. Решил через A* с бинарной кучей вместо стандартной PriorityQueue - выиграли 30% производительности.

Другая интересная задача - реализация кеша с политикой LRU. Сделал через LinkedHashMap + синхронизацию:

java
class LRUCache<K,V> extends LinkedHashMap<K,V> {
    private final int capacity;
    
    public LRUCache(int capacity) {
        super(capacity, 0.75f, true);
        this.capacity = capacity;
    }
    
    @Override
    protected boolean removeEldestEntry(Map.Entry<K,V> eldest) {
        return size() > capacity;
    }
}

Также запомнился баг с утечкой памяти в Spring-приложении из-за циклических зависимостей бинов. Пришлось глубоко разбираться в работе GC и контейнера.

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

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

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

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