Ctrl K

Библиотека вопросов

Вопросы с настоящих собесов. Любой можно отработать голосом за пару минут — с интервьюером, баллом и разбором.

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