Встречается на собеседованиях • сегодня
Оптимизировал ли запросы в БД
Да, оптимизировал. Основные подходы:
- Индексы: Создавал индексы на часто используемых полях в WHERE, JOIN и ORDER BY. Например:
java
@Table(indexes = @Index(columnList = "userId"))
@Entity
public class User { ... }- Пакетные операции: Использовал batch-вставки через JPA:
java
em.persist(entity);
if (i % 50 == 0) {
em.flush();
em.clear();
}-
Выборка только нужных данных: Вместо
SELECT *указывал конкретные поля или использовал проекции. -
JOIN FETCH для N+1 проблемы:
java
@Query("SELECT u FROM User u JOIN FETCH u.orders WHERE u.id = :id")
User findByIdWithOrders(@Param("id") Long id);- Кэширование через Hibernate второго уровня или Spring Cache.
Для сложных запросов анализировал EXPLAIN PLAN и добавлял индексы.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы