Библиотека вопросов
Вопросы с настоящих собесов. Любой можно отработать голосом за пару минут — с интервьюером, баллом и разбором.
Зачем бэкенду кеш, и какие проблемы появляются, когда вы его добавляете?JuniorВы добавили кеш перед базой данных для карточек товаров, и пользователи начали жаловаться, что видят старые цены. Как устроить кеширование, чтобы этого избежать?MiddleКогда вы используете functools.lru_cache и с какими проблемами при этом можно столкнуться?MiddleОткуда берётся LazyInitializationException и как кеши первого и второго уровня в Hibernate влияют на работу с сущностями?MiddleПеред базой стоит кеш в Redis с карточками товаров, TTL — пять минут. Расскажите, как бы вы организовали чтение и обновление, как кеш может разойтись с базой, и что произойдёт, когда истечёт TTL у очень популярного ключа.MiddleУ вас есть популярный ключ в Redis с TTL, и каждый раз, когда он истекает, база данных получает всплеск нагрузки и начинает тормозить. Что происходит и как это лечить?MiddleСпроектируйте локальный in-memory кеш справочников в Java-сервисе: его читают тысячи запросов в секунду, а данные в источнике обновляются раз в несколько минут.MiddleСпроектируйте сервис коротких ссылок: пользователь отдаёт длинный URL и получает короткий, а переход по короткой ссылке перенаправляет на оригинал.MiddleВы поставили кеш перед тяжёлым запросом к базе. Какие проблемы с этим кешем вы ожидаете на большой нагрузке и как будете их решать?SeniorСервис каталога товаров на Python получает десятки тысяч запросов на чтение в секунду, и база перестаёт справляться. Как вы спроектируете кэширование?SeniorСпроектируйте кеширование для нагруженного Spring Boot приложения, которое работает в нескольких инстансах. Как вы выберете между локальным и распределённым кешем и как будете решать инвалидацию?SeniorНапишите функцию memoizeAsync. Она принимает асинхронную функцию от строкового ключа и время жизни кэша в миллисекундах и возвращает обёртку: повторный вызов с тем же ключом не ходит в сеть, параллельные вызовы делят один запрос, а ошибки не кэшируются.Senior