Встречается на 2% собеседований по Java

Как оптимизировать поиск по таблице

Оптимизация поиска по таблице в Java зависит от контекста. Основные подходы:

  1. Индексация - использование структур данных с быстрым поиском:
java
Map<String, Record> index = new HashMap<>(); // O(1) поиск по ключу
  1. Сортировка + бинарный поиск для упорядоченных данных:
java
Collections.sort(data); // O(n log n)
int index = Collections.binarySearch(data, key); // O(log n)
  1. Кэширование часто запрашиваемых данных:
java
Cache<String, Record> cache = Caffeine.newBuilder()
    .maximumSize(10_000)
    .build();
  1. Оптимизация запросов к БД:
  • Добавление индексов
  • Использование проекций (SELECT только нужных полей)
  • Пейджинг (LIMIT/OFFSET)

Для больших объемов данных рассмотрите:

  • Полнотекстовые индексы (Lucene/Elasticsearch)
  • In-memory базы данных (Redis)
  • Партиционирование таблиц
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы