10 вопросов по SQL с собеседований на аналитика данных

Язык структурированных запросов (SQL) – это важнейший инструмент для управления, манипулирования и запроса больших объемов данных. Как аналитик данных, вы, скорее всего, будете сталкиваться с SQL во многих своих проектах, и работодатели будут ожидать от вас определенного уровня владения этим навыком. На собеседовании они могут задать ряд вопросов для проверки ваших знаний различных продвинутых концепций SQL. Рассмотрим десять вопросов на собеседовании по SQL для специалистов по анализу данных продвинутого уровня.

БЕСПЛАТНО СКАЧАТЬ КНИГИ в телеграм канале "Библиотека тестировщика"

1. Что такое нормализация?

Нормализация – это метод организации данных в базе данных для минимизации избыточности набора отношений. Для выполнения нормализации отношения используется концепция нормальных форм.

  • 1НФ: если все атрибуты отношения атомарны, значит оно находится в 1НФ.
  • 2НФ: чтобы отношение было в 2НФ, оно должно находиться в 1НФ, а все неключевые атрибуты будут полностью функционально зависеть от первичного ключа.
  • 3НФ: чтобы отношение было в 3НФ, оно должно оставаться в 2НФ, при этом будут отсутствовать функциональные зависимости неключевые атрибутов от ключевых.
  • BCNF(Boy Codd’s Normal form): Нормальная форма Бойса Кодда является усиленной, более строгой вариацией 3НФ.

2. Что такое денормализация?

Техника оптимизации базы данных, при которой мы добавляем данные (избыточные) в таблицу (таблицы), называется денормализация. Эта техника полезна, так как она помогает ускорить операции чтения данных из БД (базы данных).

3. В чем разница между inner, outer и full outer join?

Различия между внутренним, внешним и полным внешним соединением:

  • При inner join в качестве выходных данных выступают строки, которые являются общими для обеих таблиц.
  • При full outer join возвращаются все строки из обеих таблиц.
  • Outer join возвращает значения из одной или обеих таблиц.

4. Объясните разницу между Join и Union?

Ниже приведены различия между Join и Union:

  • Join извлекает совпадающие записи из таблиц, в то время как Union применяется для объединения двух наборов строк, возвращаемых SQL-запросами.
  • Join не удаляет дубликаты данных, в то время как Union удаляет дубликаты данных (строк) из выбранных операторов.

5. Объясните разницу между UNION и UNION ALL?

UNION сохраняет только уникальные записи, в то время как UNION ALL сохраняет все записи, включая дубликаты. Еще одно различие между ними заключается в том, что UNION ALL работает быстрее, чем UNION, но может показаться более медленным, поскольку возвращает больший объем данных.

6. Объясните, когда используют HAVING и WHERE?

Оператор HAVING в SQL

В SQL имеется оператор HAVING. Он нужен для фильтрации группы данных в БД.

Например, в компании XYZ есть список сотрудников, имеющих опыт работы более 1 года.

База данных содержит строки и столбцы, включающие имя сотрудника, данные о его присоединении к компании, опыт и уровень опыта.

Вам нужно получить список сотрудников с опытом работы более 5 лет.

Предложение HAVING предоставляет вам возможность контролировать информацию и изменять данные с помощью набора данных.

Синтаксис оператора HAVING – это условие HAVING.

В данном примере мы можем получить список сотрудников с опытом работы более 5 лет, отправив следующий запрос в базу данных:

SELECT employee_name, exp_level,
FROM EMPLOYEE
GROUP BY experience
HAVING COUNT(experience) > 5;

Оператор WHERE в SQL

Оператор WHERE используется, когда необходимо отфильтровать записи на основании определенного условия.

Например, из таблицы сотрудников мы можем получить список всех сотрудников, имеющих стаж работы в компании ровно 5 лет. Синтаксис предложения WHERE выглядит так: WHERE condition.

В примере мы можем извлечь имена сотрудников с 5-летним стажем, отправив запрос в базу данных следующим образом:

SELECT employee_name, exp_level,
FROM EMPLOYEE
WHERE experience=  5;

7. Объясните механизм транспонирования с помощью SQL?

Транспонирование в SQL определяется как изменение строки или столбца в определенный формат для визуализации данных с новой точки зрения.

Одним из основных способов транспонирования является замена строки на столбец или столбца на строку. Типичными методами транспонирования являются динамическое и объединенное транспонирование.

Все методы транспонирования используются для анализа данных с целью получения плодотворного результата.

8. Каковы преимущества наличия индекса?

Ниже перечислены преимущества наличия индекса:

  • Он ускоряет выполнение запроса SELECT.
  • Упрощается процесс поиска данных.
  • Индексы можно использовать для сортировки.
  • Он делает строку уникальной, без дубликатов.
  • Появляется возможность вставить большой строчный текст, если индекс установлен как fill-text index.

9. Что такое индексирование в базе данных?

Индексирование – это метод структурирования данных, позволяющий оптимизировать производительность БД за счет сокращения обращений к физическому накопителю во время обработки запроса.

Индексирование имеет следующие преимущества:

  • Сокращение количества операций ввода-вывода.
  • Ускорение поиска и получения данных.
  • Уменьшение табличного пространства.
  • Улучшение производительности за счет снижения нагрузки на память и процессов.
  • Упорядочивание данные в БД и обеспечение их целостности.

10. Что такое OLAP и OLTP?

Онлайн-аналитическая обработка (OLAP)

Компаниям приходится понимать, какой именно набор данных им необходимо иметь, который помогает финансовым руководителям и бизнес-командам получить представление о своих пользователях и производительности множества связанных факторов.

У компании могут быть различные данные по бизнес-процессам и стратегиям, которые помогают командам анализировать производительность на более детальном уровне.

Эти данные хранятся во множестве систем баз данных и, следовательно, требуют последовательных, работающих в режиме реального времени и более гибких процессов, которые помогут команде проанализировать данные и обработать их дальше для углубленного анализа.

Онлайн-аналитическая обработка (OLAP) содержит программные инструменты, которые используются для анализа данных компании и помогают получить общее представление о базе данных.

Например, OLAP можно использовать для создания рекомендательного механизма песен Spotify, который автоматически генерирует плейлист для пользователей на основе их выбора песен и исторических данных о прослушивании.

Обработка онлайн-транзакций (OLTP)

Транзакции являются неотъемлемой частью любого бизнеса. Компания, предлагающая услуги своим клиентам, получает определенную сумму, когда клиент использует эти услуги.

Счет-фактура генерируется сразу же, когда пользователи оплачивают услуги по своему выбору.

База данных транзакций появляется, когда нам нужно хранить информацию о транзакциях всех пользователей.

Онлайн-обработка транзакций (OLTP) предлагает транзакционно-ориентированные приложения, которые разделены на трехуровневую архитектуру, состоящую из клиента, сервера и базы данных.

клиент-серверная архитектура

Перевод статьи «10 Advanced SQL Interview Questions for Data Professionals».

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *