SQL кажется одним из самых быстрорастущих языков программирования (по крайней мере в вопросе популярности), даже несмотря на то, что технически он не является таковым! Как так получилось и почему это происходит? Что же, именно об этом мы и собираемся поговорить – не упустив возможности рассказать про самые популярные SQL задачи, а также вопросы, которые помогут вам успешно пройти SQL собеседование!
В этом руководстве мы собираемся рассказать о всём, начиная с базовых тем и заканчивая более сложными вопросами. Кроме того, вы также узнаете о полезных советах, способных помочь вам как перед, так и во время самого собеседования. Итак, давайте начинать.
Содержание
- 1. Введение
- 1.1. Вопрос 1: Что Такое SQL?
- 1.2. Вопрос 2: В Чём Отличие Между Командами Delete и Truncate?
- 1.3. Вопрос 3: Что Такое SQL Сервер?
- 1.4. Вопрос 4: Что Такое MySQL?
- 1.5. Вопрос 5: Что Такое Таблица (Table) и Поле (Field)?
- 1.6. Вопрос 6: Что Такое Join?
- 1.7. Вопрос 7: Что Такое View?
- 1.8. Вопрос 8: Что Такое Constraint?
- 1.9. Вопрос 9: Как Вы Отобразите Текущее Время и Дату с Помощью SQL Запроса?
- 1.10. Вопрос 10: Что Такое Денормализация?
- 1.11. Вопрос 11: Что Такое Запрос (Query)?
- 2. Продвинутые SQL Задачи и Вопросы
- 2.1. Вопрос 1: Дайте Определение и Объясните Индекс (Index).
- 2.2. Вопрос 2: Что Делать, Если Вы Забыли Ваш Пароль Для Root?
- 2.3. Вопрос 3: Можете Ли Вы Сказать, Что Значения NULL Равны Нулю?
- 2.4. Вопрос 4: Что Необходимо Сделать, Если Диск Данных Переполнен?
- 2.5. Вопрос 5: Что Такое Auto Increment?
- 2.6. Вопрос 6: Назовите Компоненты, Составляющие Самую Базовую Архитектуру MySQL.
- 2.7. Вопрос 7: Создайте Пустую Таблицу Из Существующей.
- 2.8. Вопрос 8: Как Получить Текущую Версию SQL?
- 2.9. Вопрос 9: Как Бы Вы Получили Альтернативные Нечётные Записи Из Таблицы?
- 2.10. Вопрос 10: Выберите Уникальную Запись Из Таблицы.
- 2.11. Вопрос 11: Дайте Объяснение Переменным в SQL.
- 2.12. Вопрос 12: Что Такое ‘Datawarehouse’?
- 2.13. Вопрос 13: Каково Основное Применение Рекурсивных Хранимых Процедур?
- 2.14. Вопрос 14: Как Бы Вы Извлекли Первые 3 Символа Из Строки?
- 2.15. Вопрос 15: Извлеките Общие Записи Из Двух Таблиц.
- 3. Общие Советы
- 4. Заключение
Введение
Как ранее упоминалось, это руководство начнётся с самых распространённых вопросов собеседования.
Последняя сделка действительна прямо сейчас:
GET 50% OFF
DataCamp Black Friday Sale
During this DataCamp Black Friday, you can access the top-rated courses with a 50% discount. Enroll now for way less!
Вопрос 1: Что Такое SQL?
В самом начале мы упомянули, что SQL на самом деле не является языком программирования. Тогда, что это за язык?
SQL означает Structured Query Language или же Язык Структурированных Запросов. Его можно назвать языком управления базой данных. Сам по себе он не является языком программирования, но его возможности позволяют расширить его до полноценного языка кодинга – именно поэтому люди часто называют его “языком программирования”.
Вопрос 2: В Чём Отличие Между Командами Delete и Truncate?
Это самые простые SQL задачи, которые вы только можете встретить.
Основным отличием является то, что команда “delete” удаляет одну строку из таблицы, тогда как “truncate” удаляет их все.
Другим ключевым отличием является то, что когда вы используете “delete” и что-то идёт не так как планировалось, то у вас есть возможность осуществить откат изменений – после выполнения команды “truncate” подобного сделать уже не получится. Хотя есть и определённый плюс, процесс truncate выполняется гораздо быстрее.
Вопрос 3: Что Такое SQL Сервер?
SQL задачи и вопросы посвящённые SQL серверу обязательно должны быть в вашем собеседовании. Поэтому мы добавили несколько из них в это руководство.
В этот раз всё просто, SQL сервер — это система управления базой данных (DBMS). Она собирает и анализирует информацию, а также обновляет и администрирует базу данных.
Вопрос 4: Что Такое MySQL?
Упражнения по SQL также будут очень часто связаны с MySQL, так как ей часто пользуются различные компании.
MySQL — это система управления базой данных с открытым исходным кодом. Она предоставляет широкий выбор доступных функций и интерфейсов, имеет кросс-платформенную поддержку и обладает полезными инструментами для выполнения любых типов задач.
Вопрос 5: Что Такое Таблица (Table) и Поле (Field)?
Как вы понимаете, из этих вопросов могут состоять тесты по SQL на собеседовании, так как они требуют лишь знаний терминологии и определений. Таблица является организованными данными, разделёнными на отдельные строки и столбцы. Поле является числом столбцов в таблице.
Вопрос 6: Что Такое Join?
Команда “join” объединяет строки из различных таблиц. Способ объединения этих строк зависит от связанного с ними столбца, который присоединяется к ним. С помощью этой команды вы можете объединить две таблицы или просто перенести данные из одной таблицы в другую.
Всего существует четыре различных типа команды “join”: inner, full, left и right.
Вопрос 7: Что Такое View?
“View” является визуальным представлением таблицы. Более того, View может включать в себя и представлять данные нескольких таблиц – это зависит от ситуации и отношений между ними.
Вопрос 8: Что Такое Constraint?
“Constraint” — это команда, которая используется для выделения и указания определённого типа данных в одной таблице.
Вопрос 9: Как Вы Отобразите Текущее Время и Дату с Помощью SQL Запроса?
SQL задачи, которые начинаются со слова “Как…”, также очень распространены и обыденны. Они потребуют от вас знаний определённых команд и их правильного выполнения.
В этой всё просто, но есть более сложные SQL задачи. SQL имеет встроенную команду GetDate()
, способную вернуть и показать текущее время и дату.
Вопрос 10: Что Такое Денормализация?
Денормализация — это процесс, при котором вы обращаетесь к базе данных от высших форм к низшим. Этот процесс выполняется с целью увеличения производительности базы данных.
Вопрос 11: Что Такое Запрос (Query)?
Подобные вопросы опять же легко могут попасть в тесты по SQL на собеседовании, так как требуют знания терминологии – порой даже очень простой.
Как подразумевает сам термин, запрос является вопросом. Этот вопрос отправляется в базу данных с помощью определённого кода для извлечения из неё какой-либо информации.
Продвинутые SQL Задачи и Вопросы
Итак, мы наконец закончили с базовыми вопросами по SQL, которые помогут вам понять, какими могут быть тесты по SQL на собеседовании. После этого ваш потенциальный работодатель перейдёт к более серьёзным испытаниям. Продвинутые SQL задачи и вопросы могут стать настоящим испытанием вашим знаниям и навыкам – поэтому стоит тщательно к ним подготовиться.
Вопрос 1: Дайте Определение и Объясните Индекс (Index).
Индексы являются методами повышения производительности, позволяя извлекать информацию из базы данных с более высокой скоростью и производительностью.
Всего существует три типа индексов – кластеризованные, некластеризованные и уникальные.
Кластеризованные индексы изменяют порядок таблицы и ищут информацию с помощью ключевых значений, тогда как некластеризованные сохраняют порядок таблицы в прежнем состоянии. Уникальные индексы запрещают полям иметь дублирующие значения.
Таблица может иметь только один кластеризованный индекс, но несколько некластеризованных.
Конечно, данный вопрос не настолько сложен, как другие SQL задачи, но сложность здесь заключается в возможностях правильно раскрыть эту тему. Честно говоря, именно это делает многие вопросы более сложными и продвинутыми – работодатель может продолжать задавать уточняющие вопросы до тех пор, пока вы не начнёте путаться и теряться.
Вопрос 2: Что Делать, Если Вы Забыли Ваш Пароль Для Root?
Если вы забыли или потеряли ваш пароль для рута, то запустите базу данных с командой “skip-grants-table”. После того, как вы установите новый пароль, перезагрузите базу данных в обычном режиме и введите новый пароль.
Вопрос 3: Можете Ли Вы Сказать, Что Значения NULL Равны Нулю?
Нет, вы не можете.
“Ноль” имеет числовой характер, а NULL означает отсутствие значения, будь оно неизвестно или недоступно. Следуя этой же логике, NULL не то же самое, что и пробел, так как это просто символ.
Вопрос 4: Что Необходимо Сделать, Если Диск Данных Переполнен?
Вы можете столкнуться с ситуацией, когда вы полностью заполните ваш диск данных. В таком случае работать с базой будет невозможно.
Подобные SQL задачи требуют от вас применения различных команд и функций. В данном случае необходимо использовать нечто под названием символическая ссылка (soft link). Эти ссылки создают место, где вы можете хранить ваши файлы .frm и .idb – именно это вам и нужно будет сделать. Это решит проблему с перегрузкой и позволит вам пройти SQL собеседование (или перейти к следующему вопросу).
Вопрос 5: Что Такое Auto Increment?
“Auto increment” или “Поле автоматического приращения” — это команда, позволяющая генерировать и создавать уникальное число для каждой новой записи внутри таблицы.
Это ключевое слово может быть использовано на нескольких платформах, хотя может немного отличаться. Так как вы можете встретить SQL задачи для работы с сервером SQL, то давайте сразу уточним – заменой команды “auto increment” в сервере SQL является “identity”.
Вопрос 6: Назовите Компоненты, Составляющие Самую Базовую Архитектуру MySQL.
Давайте рассмотрим некоторые вопросы по MySQL, которые также может включать ваше SQL собеседование.
Самый базовый MySQL может состоять из трёх компонентов – оптимизатора запросов, менеджера подключения и подключаемых движков.
Вопрос 7: Создайте Пустую Таблицу Из Существующей.
Подобные упражнения по SQL встречаются очень часто. Вот пример того, как это сделать:
Select * into employeecopy from employee where 1=2
Вопрос 8: Как Получить Текущую Версию SQL?
Это звучит как простой вопрос, но многие люди не уделяют этому особого внимания – нужно назвать именно команду.
Получить текущую версию SQL можно с помощью выполнения команды:
SELECT VERSION()
Вопрос 9: Как Бы Вы Получили Альтернативные Нечётные Записи Из Таблицы?
Вы могли бы сделать это с данной командой:
Select employeeId from (Select rowno, employeetId from employee) where mod(rowno,2)=1
Вопрос 10: Выберите Уникальную Запись Из Таблицы.
Решить подобные SQL задачи можно с помощью выполнения команды “distinct”. Пример:
Select DISTINCT employeeID from Employee
Вопрос 11: Дайте Объяснение Переменным в SQL.
Вам нужно знать только то, что в SQL существует два различных типа переменных – локальные и глобальные.
Локальные переменные — это те, которые существуют только в одной, единственной функции. В отличие от них, глобальные переменные могут находиться по всей программе.
Вопрос 12: Что Такое ‘Datawarehouse’?
“Datawarehouse” выполняет похожую на функцию с настоящей “warehouse”, но только с данными.
В “datawarehouse” данные хранятся во множестве различных частей и источниках. Там, они отсортированы и готовы к использованию.
Вопрос 13: Каково Основное Применение Рекурсивных Хранимых Процедур?
Рекурсивная хранимая процедура — это когда процедура работает над собой до тех пор, пока не достигнет указанной границы.
Главным преимуществом данного типа процедур является то, что они позволяют программистам использовать один и тот же код снова и снова.
Вопрос 14: Как Бы Вы Извлекли Первые 3 Символа Из Строки?
Существует несколько способов для этого, но самым простым и популярным является этот:
Select SUBSTRING(EmployeeSurname,1,5) as employeesurname from employee
- Простой в использовании
- Предлагает качественный контент
- Очень открытый в своих ценах
- Бесплатные сертификаты об окончании
- Фокус на навыки науки о данных
- Гибкое расписание занятий
- Простой дизайн (без бесполезной информации)
- Хорошее качество курсов (даже бесплатных)
- Разнообразие возможностей обучения
- Программа Nanodegree
- Подходит для корпоративного обучения
- Платные сертификаты об окончании
- Известная платформа в индустрии
- Широкий спектр особенностей
- Курсы университетского уровня
- Курсы университетского уровня
- Подходит для компаний
- Платные сертификаты об окончании
Вопрос 15: Извлеките Общие Записи Из Двух Таблиц.
Вы можете сделать это с помощью данной команды:
Select employeeID from employee. INTERSECT Select EmployeeID from WorkShift
Итак, теперь вы имеете представление, какие SQL задачи и вопросы вам может преподнести SQL собеседование. Давайте теперь обсудим общие советы для подготовки к собеседованию.
Общие Советы
Мы не собираемся вновь рассказывать про “крепкий сон” или “внешний вид”. Нет, это вопросы здравого смысла для большинства из нас – каждый человек знает, что для официального собеседования лучше не надевать шорты… правда?
В спортивных кругах существуют особые методы тренировок перед соревнованиями. Чем оно ближе, тем меньше становится продолжительность тренировки, но увеличивается интенсивность – по сути, вы будете тренироваться меньше времени, но прилагать за это время больше усилий.
Этот подход идеален не только для спорта, но и для прохождения собеседований или подготовке к экзаменам. Чем ближе собеседование, тем меньше времени вы должны уделять изучению, но ваша концентрация должна быть на максимуме. Это означает, что вы не должны заниматься посторонними вещами, делать долгие перерывы или отвлекаться. Это поможет вам снизить уровень стресса перед собеседованием, без потери уверенности в себе.
Кстати, уверенность является другой темой для обсуждения. Постарайтесь быть уверенным в себе и выглядеть уверенно. Существует определённая разница между тем, что вы говорите о своей опытности в сфере программирования и тем, что вы ведёте себя как самый лучший программист в мире.
Запомните – нельзя достичь многого всего за пару дней. Конечно, будут собеседования, где вы провалитесь, но вы не должны думать об этом лишь как о плохом опыте – чем больше вы проходите собеседований, тем более опытными вы становитесь (узнаёте всё более интересные SQL задачи).
Вы знали?
Вы когда-либо хотели узнать, какие платформы для онлайн обучения лучше всего подходят для вашей карьеры?
Заключение
Ни для кого не секрет, что хорошие программисты сейчас востребованным как никогда. Потенциальные работодатели готовы платить огромные деньги тем, кто может доказать свои навыки и знания в сфере программирования.
SQL как раз таки и является одним из самых востребованных языков программирования. Люди ценят простоту языка и возможности его применения в различных областях. Его довольно просто освоить, но он открывает много возможностей для тех, кто по-настоящему станет в нём опытным.
Возвращаясь к теме нашего руководства, существуют различные SQL задачи и вопросы, которые могут встретиться вам на собеседовании. В этом руководстве мы рассказали лишь о некоторых из них – и это лишь верхушка айсберга. Если вы серьёзно настроены на получение работы в этой сфере, то вы должны найти пробелы в своих знаниях и постараться устранить их.
Мы постарались охватить как базовые, так и продвинутые вопросы, которые помогут вам проверить ваши знания. Более того, теперь вы знаете идеальный метод подготовки к будущему собеседованию.
Надеемся, что это руководство было для вас информативным, и вы используете эти знания с умом.
Если вы чувствуете, что ваших знаний пока не хватает для собеседования, то можете попробовать изучить наш Интерактивный SQL учебник.