Ctrl K
Java · Senior · System design

Design caching for a high-load Spring Boot application running as several instances. How would you choose between a local and a distributed cache, and how would you handle invalidation?

~10 min by voice

How to approach it

They're checking whether the candidate can deliberately choose a cache level for the nature of the data, keep instances consistent during invalidation, and plan for failures: races with the database, cache stampede, Redis going down, heap pressure.

Have you seen this question in a real interview?
Answers0
Avg. score—
Strong—
Practiced0
Topics
Similar questionsПеред базой стоит кеш в Redis с карточками товаров, TTL — пять минут. Расскажите, как бы вы организовали чтение и обновление, как кеш может разойтись с базой, и что произойдёт, когда истечёт TTL у очень популярного ключа. Mid-levelA Spring Boot service needs to accept report generation tasks, each of which takes several minutes. How would you organize running them inside the Java application? Mid-levelWrite a memoizeAsync function. It takes an async function of a string key and a cache time to live in milliseconds, and returns a wrapper: a repeated call with the same key doesn't go to the network, concurrent calls share a single request, and errors aren't cached. SeniorYou have a Spring Boot monolith that a team of thirty people has been developing for five years, and it's started slowing development down. How would you decide whether to split it into services or modularize it internally, and how would you carry out the changes? SeniorYou added a cache in front of the database for product cards, and users started complaining that they see outdated prices. How should you set up caching to avoid this? Mid-level

Answer by voice

The interviewer will ask this question and listen. Think out loud and ask for a hint if you need one. When you're done, pause or tap “That's my answer”. In about a minute, your score and the points you covered show up here.

Sign in to answer

Best with headphones · ~10 min