SQL — один из базовых навыков для аналитиков, backend-разработчиков, QA и Data Engineers. На собеседованиях проверяют не только синтаксис, но и понимание логики запросов, оптимизации и работы с данными. Ниже — 50 популярных вопросов, которые реально помогают подготовиться. 🚀
Базовый уровень
- Что такое SQL и для чего он нужен?
- Чем отличаются
DELETE,TRUNCATEиDROP? - Что такое
WHERE,HAVING,GROUP BY,ORDER BY? - В чем разница между
INNER JOIN,LEFT JOIN,RIGHT JOIN,FULL JOIN? - Что такое первичный ключ (
PRIMARY KEY)? - Что такое внешний ключ (
FOREIGN KEY)? - Что такое
NULLи как он обрабатывается? - Чем
COUNT(*)отличается отCOUNT(column)? - Как выбрать уникальные значения через
DISTINCT? - Как работает
LIMIT/TOP?
Средний уровень
- Что такое подзапрос?
- Чем коррелированный подзапрос отличается от обычного?
- Что такое индекс и зачем он нужен?
- Когда индекс ускоряет запрос, а когда мешает?
- В чем разница между
UNIONиUNION ALL? - Как работает
CASE WHEN? - Что такое агрегатные функции?
- Как найти дубликаты в таблице?
- Как удалить дубликаты, оставив одну запись?
- Что такое нормализация базы данных?
- Какие есть нормальные формы?
- Что такое денормализация и когда она полезна?
- Чем
CHARотличается отVARCHAR? - Что такое представление (
VIEW)? - Чем
VIEWотличается от таблицы?
Продвинутый уровень
- Что такое CTE (
WITH)? - Что такое оконные функции?
- Чем
ROW_NUMBER(),RANK()иDENSE_RANK()отличаются? - Как найти вторую/третью максимальную зарплату?
- Как работает
PARTITION BY? - Что такое транзакция?
- Что означают свойства ACID?
- Что такое уровни изоляции транзакций?
- Что такое deadlock?
- Что такое блокировки в БД?
- Что показывает
EXPLAIN/EXPLAIN ANALYZE? - Почему запрос может не использовать индекс?
- Что такое кластерный и некластерный индекс?
- В чем разница между OLTP и OLAP?
- Что такое shard/partitioning?
Практические задачи
- Написать запрос на поиск дубликатов.
- Посчитать количество записей по группам.
- Найти пользователей без заказов.
- Вывести последний заказ каждого клиента.
- Найти N-ю по величине запись.
- Посчитать накопительный итог.
- Найти пересечение двух таблиц.
- Обновить значения по условию через
UPDATE. - Удалить строки по условию.
- Составить запрос с несколькими
JOIN.
Что важно на собеседовании ✅
- Объяснять, почему выбран именно такой запрос
- Понимать порядок выполнения SQL-запроса
- Уметь читать чужой код
- Знать, как проверять производительность
- Не путать теорию БД и синтаксис конкретной СУБД
Частый поисковый запрос кандидатов — “что спрашивают на SQL interview”. На практике интервьюеры любят задачи на JOIN, группировки, оконные функции, индексы и транзакции. Поэтому готовиться лучше не по определениям, а через реальные SQL-задачи. 🔍
Подборка каналов про IT — хороший способ регулярно прокачивать SQL, базы данных, аналитику и разработку без перегруза. 📚