TGViewer
Библиотека джависта | Java, Spring, Maven, Hibernate Библиотека джависта | Java, Spring, Maven, Hibernate @javaproglib · 22K subscribers
Post #7612 2.48K

Forwarded from Библиотека собеса по Java | вопросы с собеседований

✔️ Java-тест: кэш, который врёт

Метод возвращает устаревшие данные. Иногда и только на нескольких потоках. Воспроизвести локально — нереально 👇

📦 Задание — code review

Команда добавила простой in-memory кэш для тяжёлых вычислений. На одном потоке работает идеально. На проде с нагрузкой — иногда возвращает старый результат или null.

@Component
public class PricingCache {

private final Map<String, BigDecimal> cache = new HashMap<>();
private final PricingEngine pricingEngine;

public PricingCache(PricingEngine pricingEngine) {
this.pricingEngine = pricingEngine;
}

public BigDecimal getPrice(String productId) {
if (cache.containsKey(productId)) {
return cache.get(productId);
}
BigDecimal price = pricingEngine.calculate(productId);
cache.put(productId, price);
return price;
}

public void invalidate(String productId) {
cache.remove(productId);
}

public void invalidateAll() {
cache.clear();
}
}


▪️ Объясни

— В чём проблема в коде
— Как переписать getPrice верно

Ставьте → 🔥, если нравится формат. Если нет → 🌚

💬 Решения под спойлер. Сравним, какое будет лучше.

🐸 Библиотека собеса по Java

#practise
  • 🔥 13
  • 👍 4
  • 🤔 2
More from @javaproglib
  1. Oct 14, 2026Post #7897
  2. Oct 14, 2026Почему разработчик планирует отдавать больше задач Claude Винсент Шмальбах описал план пер…
  3. Oct 14, 2026🛠 Контейнер запущен, а тест всё равно падает Порт уже открыт, но приложение ещё применяет…
  4. Oct 13, 2026🧠 Почему BigDecimal считает 2.0 и 2.00 разными Что выведут эти две строки? var a = new Bi…
  5. Oct 12, 2026👀 Как вы смотрите видео? Разбираете урок, слушаете интервью фоном или начинаете на телефо…
  6. Oct 10, 2026Post #7892
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →