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 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-levelDesign a URL shortener: a user submits a long URL and gets a short one, and following the short link redirects to the original. 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