Documentation
📚 Вопросы с собеседований
Базы Данных вопросы

Видео с разбором вопросов по Базам Данных

ТОП вопросов на собеседовании по Базам Данных

Часть 1.

Топ вопросов на собеседовании по Базам Данных - Часть 1 (opens in a new tab)

Практика из реальных собеседований (Q/A)

  1. Использовали ли EXPLAIN / EXPLAIN ANALYZE?
  • Да, для анализа и оптимизации SQL-запросов.
  1. Какие методы оптимизации запросов применяли?
  • Разделение сложного SQL на этапы с временными таблицами.
  • Выбор только необходимых колонок.
  • Корректная дистрибуция/ключи join.
  • Проверка плана выполнения.
  • Контроль нежелательного Nested Loop на больших объемах.
  • Актуализация статистики таблиц.
  1. Использовали ли оконные функции, CTE, аналитические функции?
  • Да: LAG, ранжирование, агрегирующие окна, CTE, процентили, медиана.
  1. Как проводили дедупликацию витрин?
  • Для ClickHouse применялся ReplacingMergeTree.

Вопросы по Базам Данных

  1. Для чего нужен ACID? Объясни своими словами понятия: Атомарность, Согласованность, Изоляция и Устойчивость.
  2. Какие существуют уровни Изоляции в сатндарте SQL?
  3. Что такое методология BASE и чем она отличается от ACID?
  4. Что такое и для чего нужен индекс в БД?
  5. Какие типы индексов существуют?
  6. Чем отличается кластеризованный индек от некластеризованного?
  7. Сколько у таблицы может быть кластеризованных индексов?
  8. Можно ли строить индекс по JSON полям?
  9. Чем отличается материализованное представление от нематериализованного?
  10. Можно ли читать данные из материализованного представления, когда выполняется команда REFRESH?
  11. Как устроена система транзакций в PostgreSQL?
  12. Что из себя представляет СТЕ?
  13. Какие виды баз данных ты знаешь?
  14. Чем отличаются колоночные БД от строковых?
  15. Для чего нужны схемы и табличные пространства?
  16. Для чего нужна репликация данных, какие виды существуют и примеры сценариев репликаций?
  17. Объясни CDC подход?
  18. Что такое партицирование таблиц, их виды и примеры применения использования?
  19. В каких случаях лучше использовать БД со строковым хранением, а в каких с колоночным?
  20. Влияет ли колоночное хранение на скорость доступа к данным в случаях чтения, удаления и изменения?
  21. За счет чего в стоковых БД мы можем быстрее обращаться к полному набору данных, в отличии от колоночных?
  22. Что такое B-tree индекс? Как он работает? Какая сложность данного алгоритма?
  23. Для чего используется шардирование и репликация?
  24. Шардирование ускоряет работу запросов?
  25. Какой тип данных вы выберете для хранения цен и почему: FLOAT или DECIMAL?
  26. Как обоснуете выбор между UUID и BigInt для PK (Primary Key)?