Встречается на собеседованиях • сегодня

Какие знаешь проблемы в голом SQL

  1. SQL-инъекции: Уязвимость при конкатенации строк в запрос.
    java
    String query = "SELECT * FROM users WHERE username = '" + username + "'";
    // Лучше использовать PreparedStatement
    PreparedStatement stmt = connection.prepareStatement("SELECT * FROM users WHERE username = ?");
    stmt.setString(1, username);
  1. Отсутствие типизации: SQL динамически типизирован, ошибки обнаруживаются только при выполнении.

  2. Проблемы с производительностью: Нет оптимизации запросов (например, отсутствие индексов, N+1 проблема).

  3. Сложность миграций: Изменение схемы БД требует ручного управления скриптами.

  4. Блокировки и транзакции: Неправильное управление транзакциями может привести к deadlock или долгим блокировкам.

  5. Плохая читаемость: Сложные запросы трудно поддерживать (например, много JOIN или подзапросов).

  6. Зависимость от диалекта SQL: Разные СУБД (MySQL, PostgreSQL) имеют свои особенности синтаксиса.

Использование ORM (Hibernate, JPA) частично решает эти проблемы.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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