Встречается на 2% собеседований по Java
Принимал ли сложные решения
Да, принимал. Например, при разработке высоконагруженного микросервиса столкнулся с проблемой утечки памяти. После анализа через VisualVM обнаружил, что кэш в HashMap рос бесконтрольно. Решение: перешел на WeakHashMap и реализовал LRU-стратегию с ограничением по времени жизни объектов.
java
public class CustomCache<K, V> {
private final Map<K, V> cache = new WeakHashMap<>();
private final long ttl;
public CustomCache(long ttlMillis) {
this.ttl = ttlMillis;
}
public void put(K key, V value) {
cache.put(key, value);
scheduleEviction(key);
}
private void scheduleEviction(K key) {
new Timer().schedule(new TimerTask() {
@Override
public void run() {
cache.remove(key);
}
}, ttl);
}
}Это снизило нагрузку на GC и улучшило стабильность сервиса.

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