28 вопросов
Практика
Можешь объяснить процесс оптимизации запросов в SQL и описать ключевые методики, которые используются для улучшения производительности запросов и снижения потребления ресурсов?
Какие best practices нужно следовать, чтобы оптимизировать производительность и эффективность SQL запросов?
Какие методы и инструменты ты бы использовал для мониторинга и оптимизации производительности запросов в production базе данных?
Как ты решаешь, что выбрать — добавить database indexes или денормализовать структуру данных для оптимизации производительности SQL запросов? Какие основные преимущества и недостатки у каждого подхода?
Ты можешь объяснить, что такое parameter sniffing в SQL Server и описать проблемы с производительностью, которые он может вызвать?
Можешь объяснить назначение и область применения временных таблиц в SQL, включая различия между локальными и глобальными временными таблицами и управление их жизненным циклом?
Как работают SQL последовательности, и каковы их основные применения в проектировании баз данных?
Можешь объяснить, что такое partitioning в базах данных и описать, как это улучшает производительность запросов и обслуживание системы?
Можешь объяснить различие между горизонтальным и вертикальным секционированием таблиц в SQL, включая то, как каждый метод организует данные, и привести примеры, когда ты бы использовал каждый подход?
Можешь объяснить database sharding и чем он отличается от table partitioning с точки зрения архитектуры, масштабируемости и реализации?
Какие защитные стратегии и best practices нужно использовать, чтобы защитить веб-приложение от SQL injection атак?
Можешь объяснить, что такое курсор базы данных, описать его основное назначение, назвать основные типы курсоров и обсудить, когда уместно, а когда неуместно использовать курсоры в SQL операциях?
Можешь объяснить, что такое снимок (snapshot) базы данных и описать основные сценарии его использования в SQL-окружении?
Можешь объяснить, что такое временные таблицы (temporal tables) в SQL и описать их основные сценарии использования для отслеживания и управления историческими изменениями данных?
Какой у тебя систематический подход к диагностике и оптимизации медленных SQL-запросов, от первоначального анализа до внедрения решений?
Можешь объяснить, что такое план выполнения запроса в базе данных и описать методы, которые ты бы использовал для его создания и анализа, чтобы выявить узкие места в производительности SQL запросов?
Можешь объяснить, что такое sargability в SQL и как это влияет на производительность запросов и оптимизацию индексов?
Как SQL оператор MERGE объединяет несколько операций модификации данных, и каковы его основные варианты использования для синхронизации данных между таблицами?
Как работает оператор SQL PIVOT, и для каких целей его в основном используют при трансформации данных и создании отчётов?
Можешь объяснить назначение и функциональность оператора CASE в SQL, включая то, как он вычисляет множество условий и возвращает значения на основе этих условий?
Как работает функция COALESCE и в каких ситуациях ты бы использовал её для обработки NULL значений в SQL запросах?
Чем отличаются функции NVL и NVL2 в Oracle SQL по функциональности и областям применения?
Объясни различия между SQL операциями над наборами UNION, UNION ALL, INTERSECT и EXCEPT, включая случаи, когда используется каждая операция, и как они объединяют результаты нескольких запросов.
Можешь ли ты объяснить механизм и структуру рекурсивных Common Table Expressions (CTEs) в SQL, включая то, как якорный и рекурсивный члены работают вместе, и привести примеры практических случаев применения рекурсивных запросов?
Какие альтернативные методы можно использовать, чтобы удалить дублирующиеся записи из результатов запроса без применения ключевого слова DISTINCT?
Какие стратегии и механизмы ты бы использовал для обеспечения консистентности и целостности данных в распределённой SQL среде с несколькими базами данных?
Какова разница в области видимости и доступности между локальными и глобальными переменными в SQL, и как место их объявления влияет на их использование внутри хранимых процедур и по всей базе данных?
Как бы ты объяснил ключевые различия между SQL и PL/SQL, и в каких сценариях ты бы использовал каждый из них?