Вопрос немного расплывчатый, но я попытаюсь выкинуть пару решений.
Прежде чем прыгать в кеш, я сначала задам вопросы о наборе данных.Например, насколько велик этот набор данных и как часто меняется набор данных?Если набор данных невелик, вы, вероятно, можете хранить его в памяти неограниченное время, а при обновлении вы можете обновлять отдельные записи в кэше.
Конечно, когда мы говорим, что храним его в кэше, мыТакже нужно иметь в виду поиск данных.Если для извлечения данных требуется захват данных различными способами, а объем данных большой, кэширование может оказаться не таким уж хорошим решением.Этот вид отвечает на первый и второй вопрос, который вы разместили без дополнительной информации от интервьюера.Это, в свою очередь, действительно, где вам нужно выявить требования интервьюера, чтобы убедиться, что вы на правильном пути.
Теперь, наконец, по третьему вопросу, я думаю, что интервьюер пытается заставить вас написатьасинхронно с чем-то вроде механизма очередей, который позволяет пользователю получать быстрый ответ, а ваша система тратит время на его обработку.Дополнительный вопрос здесь может быть о том, сколько времени может занять обработка записи, и это приведет к ряду вопросов, более специфичных для предметной области.Опять же, вам нужно разобраться с требованиями этого, чтобы увидеть, какие компромиссы хочет сделать интервьюер, потому что нет серебряной пули.