SobesLab логотип SobesLab

Junior

  1. Что такое база данных? Junior
  2. Что такое СУБД? Junior
  3. Какие типы СУБД вы знаете? Junior
  4. Что такое SQL? Junior
  5. В чем разница между SQL и MySQL? Junior
  6. Что означает NULL в SQL? Junior
  7. Что такое DDL (Data Definition Language)? Junior
  8. Что такое DML (Data Manipulation Language)? Junior
  9. Что такое DCL (Data Control Language)? Junior
  10. Что такое TCL (Transaction Control Language)? Junior
  11. Что такое транзакция? Junior
  12. Что такое нормализация данных? Junior
  13. Что такое денормализация и зачем она применяется? Junior
  14. Какие существуют типы отношений между таблицами? Junior
  15. Что такое первичный ключ? Junior
  16. Что такое внешний ключ? Junior
  17. В чем разница между первичным и внешним ключом? Junior
  18. Что такое уникальный ключ? Junior
  19. Чем отличается PRIMARY KEY от UNIQUE? Junior
  20. Что такое составной ключ? Junior
  21. Может ли таблица иметь более одного первичного ключа? Junior
  22. Может ли таблица иметь несколько внешних ключей? Junior
  23. Что такое ограничение (constraint) в базе данных? Junior
  24. Приведите примеры ограничений в SQL. Junior
  25. Для чего используется ограничение NOT NULL? Junior
  26. Для чего используется ограничение UNIQUE? Junior
  27. Для чего используется ограничение CHECK? Junior
  28. Для чего используется ограничение DEFAULT? Junior
  29. Что такое индекс в базе данных? Junior
  30. Как индексы влияют на производительность SELECT запросов? Junior
  31. Как наличие индексов влияет на скорость операций INSERT/UPDATE/DELETE? Junior
  32. В чем разница между операторами DELETE и TRUNCATE? Junior
  33. В чем разница между TRUNCATE и DROP? Junior
  34. В чем разница между INNER JOIN, LEFT JOIN и RIGHT JOIN? Junior
  35. Что такое FULL OUTER JOIN? Junior
  36. Что такое CROSS JOIN? Junior
  37. Что такое SELF JOIN? Junior
  38. Что такое NATURAL JOIN? Junior
  39. Чем JOIN отличается от UNION? Junior
  40. Что такое UNION и чем отличается UNION от UNION ALL? Junior
  41. Для использования UNION какие требования к результирующим наборам данных? Junior
  42. Для чего используется ключевое слово DISTINCT? Junior
  43. Что делает оператор ORDER BY? Junior
  44. Как работает оператор LIKE? Какие существуют wildcard-символы? Junior
  45. Для чего используется оператор GROUP BY? Junior
  46. Назовите три агрегатные функции SQL и кратко опишите их. Junior
  47. Что такое подзапрос (subquery)? Junior
  48. Являются ли индексы и ключи одним и тем же? (ключ vs индекс) Junior
  49. Как обеспечить уникальность записей в таблице? Junior
  50. Чем база данных отличается от электронной таблицы (например, Excel)? Junior
  51. Что такое псевдоним (alias) таблицы или столбца в SQL? Junior
  52. Как ограничить количество строк, возвращаемых запросом? Junior
  53. Какой порядок сортировки используется по умолчанию в ORDER BY? Junior
  54. В чем разница между COUNT(*) и COUNT(1)? Junior
  55. Чем отличаются типы данных CHAR и VARCHAR? Junior
  56. Как проверить, является ли значение NULL (пустым) в SQL? Junior
  57. В чем разница между DELETE и DROP? Junior
  58. Для каких задач используется SQL? Junior
  59. В чем разница между базой данных и СУБД? Junior
  60. Что делает команда SELECT? Junior
  61. Если одна таблица содержит m записей, а другая n записей, сколько строк вернёт их CROSS JOIN? Junior

Middle

  1. В чем разница между WHERE и HAVING? Middle
  2. Что такое представление (view) в базе данных? Middle
  3. Что такое хранимая процедура и для чего она используется? Middle
  4. Что такое коррелированный подзапрос? Middle
  5. Что такое CTE (Common Table Expression)? Middle
  6. В чем разница между кластеризованным и некластеризованным индексом? Middle
  7. Что такое составной (комбинированный) индекс? Middle
  8. Что такое покрывающий индекс? Middle
  9. Что такое план выполнения SQL-запроса и зачем он нужен? Middle
  10. Назовите свойства ACID транзакции. Middle
  11. Что такое SQL-инъекция? Middle
  12. Как защититься от SQL-инъекций? Middle
  13. Чем отличаются реляционные и нереляционные (NoSQL) базы данных? Middle
  14. Что такое первая нормальная форма (1NF)? Middle
  15. Что такое вторая нормальная форма (2NF)? Middle
  16. Что такое третья нормальная форма (3NF)? Middle
  17. Что такое суррогатный ключ? Middle
  18. Что такое естественный (натуральный) ключ? Middle
  19. Что такое триггер в базе данных и для чего он используется? Middle
  20. Что эффективнее использовать: оператор IN или EXISTS? Middle
  21. Когда лучше использовать JOIN, а когда подзапрос (subquery)? Middle
  22. Что такое курсор в SQL и когда его целесообразно использовать? Middle
  23. Как реализовать связь "многие ко многим" между двумя таблицами? Middle
  24. В чем разница между COUNT(*) и COUNT(column)? Middle
  25. Что делает оператор INTERSECT? Middle
  26. Что делает оператор EXCEPT (MINUS)? Middle
  27. В чем разница между DISTINCT и GROUP BY при получении уникальных значений? Middle
  28. Для чего используются команды GRANT и REVOKE? Middle
  29. Какие требования должны выполняться для использования UNION? Middle
  30. Что такое оконные функции в SQL? Middle
  31. В чем разница между функциями RANK() и DENSE_RANK()? Middle
  32. Как найти вторую по величине (второй максимум) значение, например зарплату, в таблице? Middle
  33. Как найти сотрудников с зарплатой выше средней по своему отделу? Middle
  34. Как выбрать записи из одной таблицы, не имеющие соответствующих записей в другой? Middle
  35. Как найти дубликаты записей в таблице по определенному полю? Middle
  36. Как удалить дублирующиеся строки из таблицы, оставив только уникальные записи? Middle
  37. Как вывести топ-3 самых высоких значений (например, зарплат)? Middle
  38. Как получить количество записей в каждой категории (группе)? Middle
  39. Что делает условие EXISTS в SQL? Middle
  40. Для чего используется функция ROW_NUMBER()? Middle
  41. Для чего применяется функция COALESCE? Middle
  42. Для чего используется оператор CASE в SQL? Middle
  43. Как выполнить JOIN более чем двух таблиц в одном запросе? Middle
  44. Можно ли использовать подзапрос в секции FROM? Если да, для чего это используется? Middle
  45. Как найти записи, присутствующие в обеих (двух) таблицах? Middle
  46. Как вычислить накопительный итог (running total) по значениям столбца? Middle
  47. Как вычислить процент (долю) каждого значения от общей суммы? Middle
  48. Как получить текущую дату и время с помощью SQL? Middle
  49. Чем отличаются типы числовых данных DECIMAL (NUMERIC) и FLOAT (REAL)? Middle
  50. Какой тип данных используют для хранения больших двоичных объектов (BLOB)? Middle
  51. Как конкатенировать (соединить) строки в SQL? Middle
  52. Как преобразовать строку к верхнему/нижнему регистру в SQL? Middle
  53. Как удалить пробелы в начале или конце строки в SQL? Middle
  54. Как определить, какой менеджер имеет самое большое количество подчинённых? Middle
  55. Что такое скалярная функция в SQL? Middle
  56. Чем база данных отличается от схемы? Middle
  57. Чем представление (VIEW) отличается от таблицы? Middle
  58. Каковы недостатки денормализации данных? Middle
  59. Как обновить данные в одной таблице на основе данных из другой таблицы? Middle
  60. Чем отличается COUNT(*) от COUNT(DISTINCT столбец)? Middle
  61. Как получить n-ый по величине элемент из набора значений? Middle
  62. Зачем нужны хранимые процедуры? Каковы их преимущества? Middle
  63. Создается ли индекс автоматически при объявлении внешнего ключа? Middle
  64. Что произойдет при попытке удалить таблицу, на которую ссылаются внешние ключи? Middle
  65. Какие действия могут быть заданы для внешнего ключа при удалении (CASCADE, SET NULL и др.)? Middle
  66. Чем отличается SQL от PL/SQL или T-SQL? Middle
  67. Как можно реализовать отношение один-к-одному между двумя таблицами? Middle
  68. Какие существуют операции над множествами (set operations) в SQL? Middle
  69. Как найти пары записей (например, сотрудников) с одинаковым значением в определённом поле (например, с одинаковой зарплатой)? Middle
  70. Как сгруппировать данные по кварталам даты (например, вычислить квартальную выручку)? Middle

Senior

  1. Что такое материализованное представление? Senior
  2. Что такое репликация баз данных и для чего она нужна? Senior
  3. Какие существуют стратегии резервного копирования баз данных? Senior
  4. Что такое партиционирование таблиц и зачем его применять? Senior
  5. В чем разница между хранимой процедурой и функцией? Senior
  6. Что такое двухфазный коммит (two-phase commit)? Senior
  7. Какие уровни изоляции транзакций существуют? Senior
  8. Что такое оптимистичная блокировка? Senior
  9. Что такое пессимистичная блокировка? Senior
  10. Что такое взаимная блокировка (deadlock)? Senior
  11. Как предотвратить ситуацию deadlock в базе данных? Senior
  12. Что такое "грязное" чтение (dirty read)? Senior
  13. Что такое неповторяющееся чтение (non-repeatable read)? Senior
  14. Что такое фантомное чтение (phantom read)? Senior
  15. Что такое SAVEPOINT и как он используется? Senior
  16. Что делает команда COMMIT? Senior
  17. Что делает команда ROLLBACK? Senior
  18. Назовите основные методы оптимизации SQL-запросов. Senior
    Несколько ключевых подходов: 1) Создание индексов на столбцы, используемые в WHERE, JOIN и ORDER BY – чтобы ускорить доступ по ним. 2) Избегать SELECT * – запрашивать только нужные столбцы (меньше данных – быстрее). 3) Фильтровать данные на как можно более раннем этапе (условия WHERE, HAVING), исключать лишние строки сразу. 4) Проверять и обновлять статистику – оптимизатор на основе статистики решает, как выполнить запрос, актуальные статистические данные помогают ему выбрать лучший план. 5) Избегать неоптимальных конструкций: например, функции над индексированными столбцами в условии (они мешают использовать индекс), или ненужных подзапросов, которые можно заменить JOIN. 6) Использовать EXPLAIN – анализировать план выполнения, чтобы выявить проблемные места (seq scan больших таблиц, отсутствие нужного индекса и т.п.) и скорректировать запрос или добавить индекс.
  19. В чем суть теоремы CAP в контексте распределённых систем? Senior
  20. Чем отличаются системы OLTP и OLAP? Senior
  21. Что такое шардинг базы данных и зачем он применяется? Senior
  22. Чем отличаются модели ACID и BASE? Senior
  23. Какие виды NoSQL баз данных вы знаете? Senior
  24. Что такое журнал транзакций (transaction log) и для чего он нужен? Senior
  25. Что такое подготовленный запрос (prepared statement) и зачем он используется? Senior
  26. Может ли столбец с UNIQUE ограничением содержать несколько NULL значений? Senior
  27. Какие алгоритмы выполнения JOIN известны в СУБД? Senior
  28. Какие структуры данных используют индексы в реляционных СУБД? Senior
  29. Как работает оптимизатор запросов в СУБД? Senior
  30. Что такое MVCC (Multiversion Concurrency Control)? Senior
  31. Чем отличается колоночная модель хранения данных от строковой? Senior
  32. В чем разница между условием в секции ON и условием в WHERE при OUTER JOIN? Senior
  33. Какие типы блокировок (locks) существуют в СУБД? Senior
  34. Что такое последовательность (SEQUENCE) в базе данных? Senior
  35. Как можно реализовать связь "многие ко многим" и чем она отличается от двух связей один-ко-многим? Senior
  36. Что такое LATERAL JOIN и где он используется? Senior
  37. Что такое PIVOT (ротация таблицы) и где он применяется? Senior
  38. Как вычислить медиану значений с помощью SQL? Senior
  39. Что такое рекурсивный CTE и для чего он используется? Senior
  40. Как хранить и обрабатывать JSON-данные в реляционной базе данных? Senior
  41. Что такое форма Бойса-Кодда (BCNF) в нормализации данных? Senior
  42. Что такое распределённая база данных? Senior
  43. Что означает концепция eventual consistency? Senior
  44. Чем отличается синхронная репликация от асинхронной? Senior
  45. Что такое звёздная схема (Star Schema) в базе данных? Senior
  46. Чем отличается схема типа "Snowflake" от звёздной схемы? Senior
  47. Как получить 5 последних записей для каждой группы (например, 5 последних заказов каждого клиента)? Senior
  48. Как определить максимальную глубину иерархии, например самую длинную цепочку "начальник-подчинённый" в таблице сотрудников? Senior
  49. Как найти пользователей, которые приобрели все товары в заданной категории? Senior
  50. В чем проблема использования оператора NOT IN с подзапросом, если подзапрос может возвращать NULL? Senior
  51. Как найти самый длинный непрерывный период (последовательность) дат или записей? Senior
  52. В каких случаях индекс может не использоваться оптимизатором запросов? Senior
  53. Каковы потенциальные недостатки наличия слишком большого количества индексов в таблице? Senior