Как объяснить SQL injection?
Что хотят услышать интервьюеры:
На собеседовании по SQL injection лучше отвечать через связку: определение → пример → риск → production-ограничение. Хороший ответ включает план выполнения, индексы, кардинальность, транзакции и параметризацию.
- Суть: SQL injection возникает при выполнении SQL, собранного из непроверенного пользовательского ввода.
- Где встречается: проектирование схемы, написание запросов, индексы, транзакции и оптимизация SQL Server.
- Типичная ошибка: писать запрос без учета индексов, транзакций, плана выполнения и SQL injection.
- Как отвечать: начните с короткого определения, затем приведите пример, назовите ограничение и типичную ошибку.
- Ожидаемый уровень: Middle. Практическое применение в проекте, ограничения и типовые ошибки.
Ответ:
SELECT UserId, COUNT(*) FROM Orders GROUP BY UserId HAVING COUNT(*) > 1;