Oracle что нужно знать для собеседования

Обновлено: 04.07.2024

Продукты и услуги Oracle

Сфера деятельности Oracle включает проектирование, производство и продажу как программных, так и аппаратных продуктов, а также предоставление таких услуг, как финансирование, обучение, консалтинг и хостинг. Компания также разрабатывает и создает инструменты СУБД, необходимые на среднем уровне и для планирования ресурсов предприятия (ERP), управления взаимоотношениями с клиентами (CRM) и управления цепочками поставок (SCM). Для разработки, маркетинга, внедрения и продаж этих продуктов компании требуется огромное количество профессионалов по всему миру. Подразделения Oracle есть во все крупных странах и российское представительство является одним из ведущих в Восточной Европе.

В России и СНГ компания работает под именем Oracle Russia and CIS со следующими юридическими лицами: ЗАО «Оракл Компьютерное оборудование» (с головным офисом в Москве) и ООО «Оракл Девелопмент» (с офисами в Санкт-Петербурге и Новосибирске). В 2014 количество российских сотрудников компании составляло более 3 тысяч человек, но после введения антироссийских санкций и решения российского правительства вести курс на импортозамещение программного обеспечения роль российского представительства несколько снизилась. Точных данных на 2019 год найти не удалось, но по оценкам специалистов количество российских сотрудников на начало 2019 года составляет около 1500 человек.

Более, чем 70% сотрудников Oracle работает за пределами США, большая часть эти сотрудников, до 30 тысяч человек — в Индии, в основном в центрах поддержки клиентов и разработки новых продуктов. При этом по данным Oracle 80% разработки осуществляется силами разработчиков в США.

Общее количество сотрудников корпорации по данным на 2018 составило около 115 тысяч человек.

Oracle работа тест собеседование

Карьера в Oracle

Почему Oracle?

На сайте компании вы найдете описание преимуществ работы в Oracle:

Зарплаты в Оракл

Компания уделяет поиску сотрудников очень большое внимание, потому что основные затраты Оракл составляет как раз оплата труда специалистов. Так, например, средняя зарплата программиста в российском представительстве Oracle на 2019 год составляет 250 тысяч рублей в месяц, у топовых разработчиков и руководителей отделов — до 500 тыс. Зарплаты специалистов по маркетингу и продажам ниже, но не намного. Меньше всего получают представители поддержки клиентов.

При желании сотрудников в Оракл возможны переводы в зарубежные представительства и центры разработки. Очень многие специалисты из России и СНГ едут в отделы Оракл в США, Германии и Франции. В американских и европейских центрах зарплаты (в среднем на 50%) выше в сравнении с российскими. В представительствах Oracle в Индии и других азиатских странах примерно настолько же ниже.

Отбор кандидатов в Oracle

Отбор кандидатов в Oracle

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

  • Онлайн-тесты
  • HR собеседование с Oracle
  • Техническое собеседование

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

Тесты Oracle

Сразу после отбора резюме с вами свяжется представитель HR Oracle и пришлет ссылку на онлайн-тест. Стандартный набор онлайн-тестов для соискателя на любую техническую или не-техническую позицию в Оракл состоит из следующих тестов:

Раздел Количество вопросов Лимит времени
Интеллектуальные способности (числовые + логические тесты) 20 30
Контекстная коммуникация (вербальные тесты) 20 20
Общее компьютерное программирование 20 25
Кодирование 2 мини-проект

Числовые и логические тесты Oracle

Тест на интеллектуальные способности Оракл включат вопросы, связанные с числовыми и логическими задачами и блок-схемами. Oracle использует тесты различных производителей для отбора в различные отделы и территориальные подразделения. Чаще всего используются тесты SHL, Talent Q, Saville.

Примеры числовых и логических тестов Оракл

Числовой тест Оракл

Числовой тест Оракл

Логический тест Оракл

Логический тест Оракл

Ответы и объяснение этих тестов смотрите в конце статьи. Постарайтесь сначала решить задачи самостоятельно. На каждую задачу отводится 1 минута.

Вербальный тест Oracle

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

Пример вербального теста Оракл смотрите ниже:

Вербальный тест Oracle

Ответ и объяснение этого задания вы найдете в конце статьи. Постарайтесь сначала определить ответ самостоятельно. На решение этого задания отводится 1 минута.

Тест на общее компьютерное программирование в Oracle

Общее компьютерное программирование охватывает вопросы о структурах данных, ОС, базе данных, C ++, Big O Notation. Для прохождения этого теста НЕ требуется быть профессиональным программистом. Достаточно общего понимания этих терминов и применения этих продуктов.

Тест на написание кода Oracle

Тест на написание кода Oracle

Данный тест применяется только для технических позиций и состоит из 2 заданий. Это открытые тесты, требующие развернутого ответа на поставленные вопросы. Один вопрос на ваш выбор, на то, что больше соответствует вашим знаниям и умениям. А другой связан с необходимостью составления кода по некоторому шаблону. В целом уровень данного теста не слишком сложный. Кандидаты, прошедшие онлайн-тестирование, будут допущены к следующему туру. Иногда данный тест совмещается с техническим интервью и является одним из заданий технического собеседования.

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

Процесс собеседований в Oracle

Процесс собеседования с Oracle состоит из технического интервью и HR интервью. Ниже приведены подробности каждого этапа.

Техническое интервью

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

HR интервью

Последний шаг для выбора кандидата в качестве сотрудника — собеседование с представителями HR отдела Оракл, поскольку оно помогает оценить личность кандидата. Вопросы могут быть самыми разнообразными, начиная с просьбы представиться, квалификации, имеющегося опыта, пройденных курсов, сильных и слабых сторон, предполагаемой зарплаты, друзей, семьи и т. д.

Ниже вы найдете несколько сценариев из реальных собеседований в компанию Oracle для молодых специалистов — выпускников:

Oracle вопросы собеседования

Пример интервью № 1:

Техническое интервью:

  • Что вы понимаете под OEM (Oracle Enterprise Manager, управление предприятием)?
  • Расскажите нам о некоторых компонентах PL / SQL.
  • Укажите основные два различия между простыми и сложными снепшотами.
  • Что вы подразумеваете под термином сегмент данных?

HR интервью:

  • Расскажите мне о себе.
  • Каковы ваши краткосрочные и долгосрочные цели?
  • О какой работе вы мечтаете? Почему?
  • С какой главной проблемой сталкивается наша страна в настоящее время?
  • Какое ваше самое большое достижение?

Пример интервью № 2:

Техническое интервью:

  • Можете ли вы реализовать очередь, используя связанные списки?
  • Что такое абстрактные классы в Java и в чем разница между абстрактным классом и интерфейсом.
  • Если для столбца DATE создано ограничение уникального ключа, будет ли оно активировать строки, вставленные с помощью SYSDATE?
  • Найдите количество палиндромов в большой строке.
  • Что такое перегрузка (overloading), а что переопределение(overriding)? Проиллюстрируйте примерами.
  • В чем разница между семафором и мьютексом?
  • Объясните алгоритм 8 королев.
  • Как создать и удалять пользователей базы данных?
  • Каковы правила Кодда?

HR интервью:

  • Если бы вы присоединились к нам, какие изменения вы бы внесли в систему?
  • Сколько часов в день / неделю вы работаете? Вы считаете себя усердным работником?
  • Расскажите мне что-нибудь о себе, чего нет в вашем резюме?
  • Каким будет ваше удобное рабочее место?

Пример интервью № 3:

Техническое интервью:

  • Сравните и сопоставьте TRUNCATE и DELETE для таблицы.
  • Можете ли вы дать обоснование использования индекса?
  • Выполните команду создания spfile из pfile.
  • Используйте команду description или используйте пакет dbms_metadata.get_ddl.
  • Где вы будете искать ошибки из движка базы данных?
  • В чем разница между Remane и Alias?

HR интервью:

  • Каковы черты хорошего босса? Оцените вашего предыдущего руководителя.
  • Какие изменения в работе нашей компании вы бы привнесли, и почему?
  • Какие ваши знания и опыт могут помочь компании?
  • Зачем нам нанимать вас со стороны, если мы можем найти кого-то внутри нашей компании?

Пример интервью № 4:

Техническое интервью:

  • Как бы вы определили часовой пояс, в котором работала база данных?
  • Объясните использование установки GLOBAL_NAMES равной TRUE.
  • Какую команду вы бы использовали для шифрования приложения PL / SQL?
  • Объясните разницу между FUNCTION, PROCEDURE и PACKAGE.
  • Назовите три консультативные статистические данные, которые вы можете собрать.
  • В чем разница между SQL и SQL*PLUS?

HR интервью:

  • Что, по вашему мнению, является самой приятной частью работы в компании?
  • Что вдохновило вас на попытку трудоустройства в нашей компании?
  • Какой была бы ваша идеальная рабочая атмосфера?
  • Что вы думаете о философии нашей компании?

Пример интервью № 5:

Техническое интервью:

  • Опишите использование% ROWTYPE и % TYPE в PL / SQL.
  • Какие пакеты (если есть) Oracle предоставил разработчикам для использования?
  • В каком порядке должен быть реализован набор команд open / fetch / loop в блоке PL / SQL, если вы используете переменную курсора% NOTFOUND в операторе exit when? Почему?
  • Что такое mutating table error и как ее обойти?
  • Что такое ON DELETE CASCADE?

HR интервью:

  • Что бы вы назвали своими самыми большими слабостями?
  • Вам не кажется, что вы слишком квалифицированы для такой работы?
  • Как бы вы оценили сильные и слабые стороны вашей предыдущей / нынешней компании / начальника / команды?
  • Конкурент нашей компании заставляет вас раскрыть некоторую конфиденциальную информацию о вашем нынешнем или предыдущем работодателе. Вы сделаете это?

Пример интервью № 6:

Техническое интервью:

  • Какие типы программных юнитов PL / SQL могут быть определены и сохранены в базе данных ORACLE?
  • Каковы виды использования Database Trigger?
  • Что такое ROWID в сессии до доступа к следующему значению?
  • Что такое UTL_FILE? С чем связаны его различные процедуры и функции?
  • Что такое ORACLE PRECOMPILERS?
  • Что такое SQLCODE и SQLERRM и почему они важны для разработчиков PL / SQL?

HR интервью:

  • Как вы справились со своим самым сложным заданием на предыдущей работе?
  • Как ваша квалификация поможет вам в этой работе?
  • Что вы знаете о нашей организации и почему вы хотите присоединиться к ней?
  • Как ваши сильные стороны помогли вам выполнить свою работу?

Читайте больше о тактиках успешного собеседования в наших отдельных статьях.

Oracle вопросы собеседования

Работа в Oracle – престижная и интересная работа для любого специалиста по компьютерным технологиям. Если вы хотите работать в этой компании, мы рекомендуем тщательно подготовиться ко всем этапам отбора — резюме, тестам и собеседованию. Подготовка — гарантия успеха!


Реляционные базы данных являются одними из наиболее часто используемых баз данных по сей день, и поэтому навыки работы с SQL для большинства должностей являются обязательными. В этой статье с вопросами по SQL с собеседований я познакомлю вас с наиболее часто задаваемыми вопросами по SQL (Structured Query Language — язык структурированных запросов). Эта статья является идеальным руководством для изучения всех концепций, связанных с SQL, Oracle, MS SQL Server и базой данных MySQL.

Вопрос 1. В чем разница между операторами DELETE и TRUNCATE?

DELETE TRUNCATE
Используется для удаления строки в таблице Используется для удаления всех строк из таблицы
Вы можете восстановить данные после удаления Вы не можете восстановить данные (прим. перевод.: операции логируются по разному, но в SQL Server есть возможность сделать откат) транзакции)
DML-команда DDL-команда
Медленнее, чем оператор TRUNCATE Быстрее

№ Вопрос 2. Из каких подмножеств состоит SQL?

  • DDL (Data Definition Language, язык описания данных) — позволяет выполнять различные операции с базой данных, такие как CREATE (создание), ALTER (изменение) и DROP (удаление объектов).
  • DML (Data Manipulation Language, язык управления данными) — позволяет получать доступ к данным и манипулировать ими, например, вставлять, обновлять, удалять и извлекать данные из базы данных.
  • DCL (Data Control Language, язык контролирования данных) — позволяет контролировать доступ к базе данных. Пример — GRANT (предоставить права), REVOKE (отозвать права).

Вопрос 3. Что подразумевается под СУБД? Какие существуют типы СУБД?

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

Существует два типа СУБД:

  • Реляционная система управления базами данных: данные хранятся в отношениях (таблицах). Пример — MySQL.
  • Нереляционная система управления базами данных: не существует понятия отношений, кортежей и атрибутов. Пример — Mongo.

Вопрос 4. Что подразумевается под таблицей и полем в SQL?

Таблица — организованный набор данных в виде строк и столбцов. Поле — это столбцы в таблице. Например:
Таблица: Student_Information
Поле: Stu_Id, Stu_Name, Stu_Marks

Вопрос 5. Что такое соединения в SQL?

Для соединения строк из двух или более таблиц на основе связанного между ними столбца используется оператор JOIN. Он используется для объединения двух таблиц или получения данных оттуда. В SQL есть 4 типа соединения, а именно:

  • Inner Join (Внутреннее соединение)
  • Right Join (Правое соединение)
  • Left Join (Левое соединение)
  • Full Join (Полное соединение)

Вопрос 6. В чем разница между типом данных CHAR и VARCHAR в SQL?

И Char, и Varchar служат символьными типами данных, но varchar используется для строк символов переменной длины, тогда как Char используется для строк фиксированной длины. Например, char(10) может хранить только 10 символов и не сможет хранить строку любой другой длины, тогда как varchar(10) может хранить строку любой длины до 10, т.е. например 6, 8 или 2.

Вопрос 7. Что такое первичный ключ (Primary key)?


  • Первичный ключ — столбец или набор столбцов, которые однозначно идентифицируют каждую строку в таблице.
  • Однозначно идентифицирует одну строку в таблице
  • Нулевые (Null) значения не допускаются

_Пример: в таблице Student StuID является первичным ключом.

Вопрос 8. Что такое ограничения (Constraints)?

Ограничения (constraints) используются для указания ограничения на тип данных таблицы. Они могут быть указаны при создании или изменении таблицы. Пример ограничений:

Вопрос 9. В чем разница между SQL и MySQL?

SQL — стандартный язык структурированных запросов (Structured Query Language) на основе английского языка, тогда как MySQL — система управления базами данных. SQL — язык реляционной базы данных, который используется для доступа и управления данными, MySQL — реляционная СУБД (система управления базами данных), также как и SQL Server, Informix и т. д.

Вопрос 10. Что такое уникальный ключ (Unique key)?

  • Однозначно идентифицирует одну строку в таблице.
  • Допустимо множество уникальных ключей в одной таблице.
  • Допустимы NULL-значения (прим. перевод.: зависит от СУБД, в SQL Server значение NULL может быть добавлено только один раз в поле с UNIQUE KEY).

Вопрос 11. Что такое внешний ключ (Foreign key)?

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

Вопрос 12. Что подразумевается под целостностью данных?

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

Вопрос 13. В чем разница между кластеризованным и некластеризованным индексами в SQL?

  1. Различия между кластеризованным и некластеризованным индексами в SQL:
    Кластерный индекс используется для простого и быстрого извлечения данных из базы данных, тогда как чтение из некластеризованного индекса происходит относительно медленнее.
  2. Кластеризованный индекс изменяет способ хранения записей в базе данных — он сортирует строки по столбцу, который установлен как кластеризованный индекс, тогда как в некластеризованном индексе он не меняет способ хранения, но создает отдельный объект внутри таблицы, который указывает на исходные строки таблицы при поиске.
  3. Одна таблица может иметь только один кластеризованный индекс, тогда как некластеризованных у нее может быть много.

Вопрос 14. Напишите SQL-запрос для отображения текущей даты.

В SQL есть встроенная функция GetDate (), которая помогает возвращать текущий timestamp/дату.

Вопрос 15. Перечислите типы соединений

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


Inner join (Внутреннее соединение): в MySQL является наиболее распространенным типом. Оно используется для возврата всех строк из нескольких таблиц, для которых выполняется условие соединения.

Left Join (Левое соединение): в MySQL используется для возврата всех строк из левой (первой) таблицы и только совпадающих строк из правой (второй) таблицы, для которых выполняется условие соединения.

Right Join (Правое соединение): в MySQL используется для возврата всех строк из правой (второй) таблицы и только совпадающих строк из левой (первой) таблицы, для которых выполняется условие соединения.

Full Join (Полное соединение): возвращает все записи, для которых есть совпадение в любой из таблиц. Следовательно, он возвращает все строки из левой таблицы и все строки из правой таблицы.

Вопрос 16. Что вы подразумеваете под денормализацией?

Денормализация — техника, которая используется для преобразования из высших к низшим нормальным формам. Она помогает разработчикам баз данных повысить производительность всей инфраструктуры, поскольку вносит избыточность в таблицу. Она добавляет избыточные данные в таблицу, учитывая частые запросы к базе данных, которые объединяют данные из разных таблиц в одну таблицу.

Вопрос 17. Что такое сущности и отношения?

Сущности: человек, место или объект в реальном мире, данные о которых могут храниться в базе данных. В таблицах хранятся данные, которые представляют один тип сущности. Например — база данных банка имеет таблицу клиентов для хранения информации о клиентах. Таблица клиентов хранит эту информацию в виде набора атрибутов (столбцы в таблице) для каждого клиента.

Отношения: отношения или связи между сущностями, которые имеют какое-то отношение друг к другу. Например — имя клиента связано с номером учетной записи клиента и контактной информацией, которая может быть в той же таблице. Также могут быть отношения между отдельными таблицами (например, клиент к счетам).

Вопрос 18. Что такое индекс?

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

Вопрос 19. Опишите различные типы индексов.

Есть три типа индексов, а именно:

  1. Уникальный индекс (Unique Index): этот индекс не позволяет полю иметь повторяющиеся значения, если столбец индексируется уникально. Если первичный ключ определен, уникальный индекс может быть применен автоматически.
  2. Кластеризованный индекс (Clustered Index): этот индекс меняет физический порядок таблицы и выполняет поиск на основе значений ключа. Каждая таблица может иметь только один кластеризованный индекс.
  3. Некластеризованный индекс (Non-Clustered Index): не изменяет физический порядок таблицы и поддерживает логический порядок данных. Каждая таблица может иметь много некластеризованных индексов.

Вопрос 20. Что такое нормализация и каковы ее преимущества?

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

  • Лучшая организация базы данных
  • Больше таблиц с небольшими строками
  • Эффективный доступ к данным
  • Большая гибкость для запросов
  • Быстрый поиск информации
  • Проще реализовать безопасность данных
  • Позволяет легко модифицировать
  • Сокращение избыточных и дублирующихся данных
  • Более компактная база данных
  • Обеспечивает согласованность данных после внесения изменений

Вопрос 21. В чем разница между командами DROP и TRUNCATE?

Команда DROP удаляет саму таблицу, и нельзя сделать Rollback команды, тогда как команда TRUNCATE удаляет все строки из таблицы (прим. перевод.: в SQL Server Rollback нормально отработает и откатит DROP).

Вопрос 22. Объясните различные типы нормализации.

Существует много последовательных уровней нормализации. Это так называемые нормальные формы. Каждая последующая нормальная форма включает предыдущую. Первых трех нормальных форм обычно достаточно.

  • Первая нормальная форма (1NF) — нет повторяющихся групп в строках
  • Вторая нормальная форма (2NF) — каждое неключевое (поддерживающее) значение столбца зависит от всего первичного ключа
  • Третья нормальная форма (3NF) — каждое неключевое значение зависит только от первичного ключа и не имеет зависимости от другого неключевого значения столбца

Вопрос 23. Что такое свойство ACID в базе данных?

ACID означает атомарность (Atomicity), согласованность (Consistency), изолированность (Isolation), долговечность (Durability). Он используется для обеспечения надежной обработки транзакций данных в системе базы данных.

Атомарность. Гарантирует, что транзакция будет полностью выполнена или потерпит неудачу, где транзакция представляет одну логическую операцию данных. Это означает, что при сбое одной части любой транзакции происходит сбой всей транзакции и состояние базы данных остается неизменным.

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

Изолированность. Основной целью изолированности является контроль механизма параллельного изменения данных.

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

Вопрос 24. Что вы подразумеваете под «триггером» в SQL?

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

Вопрос 25. Какие операторы доступны в SQL?

В SQL доступно три типа оператора, а именно:

  1. Арифметические Операторы
  2. Логические Операторы
  3. Операторы сравнения

Вопрос 26. Совпадают ли значения NULL со значениями нуля или пробела?

Значение NULL вовсе не равно нулю или пробелу. Значение NULL представляет значение, которое недоступно, неизвестно, присвоено или неприменимо, тогда как ноль — это число, а пробел — символ.

Вопрос 27. В чем разница между перекрестным (cross join) и естественным (natural join) соединением?

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

Вопрос 28. Что такое подзапрос в SQL?

Подзапрос — это запрос внутри другого запроса, в котором определен запрос для извлечения данных или информации из базы данных. В подзапросе внешний запрос называется основным запросом, тогда как внутренний запрос называется подзапросом. Подзапросы всегда выполняются первыми, а результат подзапроса передается в основной запрос. Он может быть вложен в SELECT, UPDATE или любой другой запрос. Подзапрос также может использовать любые операторы сравнения, такие как >, < или =.

Вопрос 29. Какие бывают типы подзапросов?

Существует два типа подзапросов, а именно: коррелированные и некоррелированные.

  • Коррелированный подзапрос: это запрос, который выбирает данные из таблицы со ссылкой на внешний запрос. Он не считается независимым запросом, поскольку ссылается на другую таблицу или столбец в таблице.
  • Некоррелированный подзапрос: этот запрос является независимым запросом, в котором выходные данные подзапроса подставляются в основной запрос.

Вопрос 30. Перечислите способы получить количество записей в таблице?

Для подсчета количества записей в таблице вы можете использовать следующие команды:
SELECT * FROM table1
SELECT COUNT(*) FROM table1
SELECT rows FROM sysindexes WHERE AND indid < 2

Ещё 35 вопросов с ответами опубликуем в следующей части… Следите за новостями!


Каждый должен изучать SQL. Спрос на SQL еще не уменьшился, и на рынке высоко ценится экспертиза SQL. Существует множество поставщиков, предлагающих решения для баз данных, причем Oracle является самой популярной в мире для выполнения OLTP (онлайн-обработка транзакций) и DW (хранилище данных).

Так что, если вы, наконец, нашли работу своей мечты в Oracle, но задаетесь вопросом, как взломать Oracle Interview и какие могут быть возможные вопросы Oracle Interview для 2019 года. Каждое собеседование отличается от других, а объем работы также различен. Помня об этом, мы разработали самые распространенные вопросы и ответы Oracle для 2018 года, чтобы помочь вам добиться успеха в вашем собеседовании.

В этой статье мы рассмотрим наиболее распространенные вопросы интервью с Oracle в 2019 году, которые чаще всего задаются во время интервью. Эти вопросы делятся на две части:

Часть 1 - вопросы интервью с Oracle (базовый уровень)

Эта первая часть охватывает основные вопросы и ответы на собеседования с Oracle

1. Найти ошибку из приведенного ниже SQL-запроса?

Ответ:
SELECT Name, YEAR(BirthDate) AS BirthYear
FROM StudentDetails
WHERE BirthYear >= 1998;
Этот запрос выдаст ошибку в предложении WHERE. Хотя псевдоним указан в предложении SELECT, он не отображается в предложении WHERE. Правильный код можно записать следующим образом:
SELECT Name, YEAR(BirthDate) AS BirthYear
FROM StudentDetails
WHERE YEAR(BirthDate) >= 1998;

2. Что такое Semijoin? Как реализовать это в SQL?

Ответ:
Semijoin возвращает записи из левой таблицы, которые соответствуют правой таблице. Даже если в правой таблице несколько совпадающих записей, Semijoin возвращает одну запись левой таблицы. Это предотвращает дублирование. Semijoin может быть реализован с помощью предложения WHERE EXISTS.

3. Что такое PL / SQL?

Ответ:
PL / SQL - это расширение процедурного языка поверх SQL, предоставляемое Oracle. Это облегчает объявление переменных, функций и условных операторов в синтаксисе SQL, тем самым предоставляя разработчику больше свободы и простоты при разработке сложных запросов.

Давайте перейдем к следующим вопросам интервью Oracle.

4. Как обрабатывать ошибки в PL / SQL?

Ответ:
В PL / SQL условие ошибки называется исключением, а ошибки PL / SQL обрабатываются с помощью блока EXCEPTION. Синтаксис для обработки исключений написан ниже:
DECLARE
.
BEGIN
.
EXCEPTION
WHEN exception1 THEN
.
WHEN exception2 THEN
.
WHEN others THEN
.
END;

5. Каковы ограничения? Как добавить именованное ограничение PRIMARY KEY в SQL?

Ответ:
Это наиболее распространенные вопросы интервью Oracle, задаваемые в интервью. Ограничения - это правила, определенные для данных. Именованное ограничение для первичного ключа может быть добавлено двумя способами:
1. При создании таблицы:
CREATE TABLE Employees (
Eid int NOT NULL,
Name varchar(255) NOT NULL,
Salary number(8),
Age int,
CONSTRAINT PK_ID PRIMARY KEY (Eid)
);
2. В утверждении Alter
ALTER TABLE Employees
ADD CONSTRAINT PK_ID PRIMARY KEY (Eid);

6. Что такое точки сохранения?

Ответ:
Точки сохранения похожи на маркеры. При выполнении длинной транзакции рекомендуется программировать периодические точки сохранения, чтобы мы могли откатиться к точке сохранения в случае сбоя транзакции.

Давайте перейдем к следующим вопросам интервью Oracle.

7. Что такое BLOB?

Ответ:
BLOB - это тип данных больших двоичных объектов. Он используется для хранения неструктурированных данных, таких как видео, аудио или изображения. Максимальная емкость большого двоичного объекта в Oracle составляет 4 ГБ-1.

Часть 2 - вопросы интервью с Oracle (Advanced)

Давайте теперь посмотрим на расширенные вопросы интервью Oracle.

8. Найдите ошибку в приведенном ниже фрагменте кода, если есть?

Ответ:
SELECT student_id s_id, student_name name, birthdate date, student_number s_no FROM students;
Здесь зарезервированное ключевое слово date использовалось в качестве псевдонима для даты рождения столбца. Это действие недопустимо в Oracle SQL. Чтобы установить зарезервированное ключевое слово в качестве псевдонима, мы можем использовать кавычки.
SELECT student_id s_id, student_name name, birthdate “date”, student_number s_no FROM students;

9. Напишите запрос для отображения списка таблиц, принадлежащих пользователю.

Ответ:
Запрос может быть записан как:
SELECT tablespace_name, table_name FROM user_tables;

10. Что такое динамический SQL? Когда использовать динамический SQL?

Ответ:
Динамический SQL является улучшением по сравнению со статическим SQL. Это позволяет писать запросы SQL во время выполнения. Это проявляется, когда нам нужно настроить запросы SQL во время выполнения.
Несколько распространенных случаев, когда можно использовать динамический SQL:
• Если объекты базы данных не существуют во время компиляции, мы можем использовать динамический SQL для ссылки на них.
• Некоторые операторы DDL (язык определения данных) и операторы SCL (язык управления сеансом) не поддерживаются статическим SQL в PL / SQL. Эти операторы могут быть выполнены посредством динамического программирования SQL.
• Динамический SQL может использоваться для выполнения блока Dynamic PL / SQL. Используя предложение EXECUTE IMMEDIATE, вызовы PL / SQL могут быть определены во время выполнения.

11. Что такое триггер базы данных? Как это создать?

Ответ:
Триггер базы данных - это сохраненный блок PL / SQL. База данных Oracle выполняет ее автоматически, когда выполняются определенные условия. Сохраненный блок PL / SQL связан с таблицей, схемой или базой данных. Триггер может быть создан с помощью предложения CREATE TRIGGER. Мы можем включить или отключить его, используя предложения ENABLE и DISABLE инструкции ALTER TABLE или ALTER TRIGGER. Это часто задаваемые вопросы об интервью Oracle в интервью.

Давайте перейдем к следующим вопросам интервью Oracle.

12. Расскажите мне об операциях над множествами в SQL?

Ответ:
UNION, UNION ALL, INTERSECT и MINUS - это различные операторы множеств в Oracle SQL. Оператор UNION объединяет результат двух или более запросов SQL и возвращает результат без дублирования. Операторы UNION ALL работают так же, как оператор UNION, сохраняя дубликаты записей. Оператор INTERSECT возвращает результаты, которые являются общими для всех запросов. Оператор MINUS возвращает результаты, которые являются уникальными для первого запроса и отсутствуют во втором запросе.

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

14. Какова цель функций COALESCE и NVL?

Ответ:
Обе функции используются для проверки наличия нулей в указанном столбце и замены его другим значением в случае успешной проверки нуля.
Пример использования:
SELECT NVL(null, 12) FROM DUAL;
SELECT COALESCE(null, null, 12) FROM DUAL;
Функция COALESCE может принимать несколько аргументов, в то время как NVL принимает два аргумента.

15. Какая польза от предложения HAVING?

Ответ:
Предложение HAVING ограничивает агрегированные запросы. После выполнения агрегации с использованием предложения GROUP BY мы можем использовать предложение HAVING, чтобы добавить дополнительные условия к результату.

Вопросы об интервью Oracle - Заключительные мысли

Как правило, разработчик Oracle должен знать основы запросов наряду с продвинутыми концепциями. Здесь мы рассмотрели вопросы, сфокусированные не только на основах программирования на SQL, но и на теоретическом понимании. Быстрый просмотр этой статьи поможет вам лучше понять, чего ожидать во время интервью.

Рекомендуемая статья


ТОП-20 хитрых вопросов по SQL для собеседования

Оператор EXISTS – это отвлекающий маневр. Тут всегда будет true, т. к. ID не является членом dbo.docs. Таким образом, ID будет ссылаться на таблицу envelope, сравнивая себя с самим собой.

Неверное выражение BillingYear в условии WHERE. Несмотря на то, что он определен как алиас в выборке SELECT перед WHERE, логический порядок обработки условий отличается. Программисты привыкли к тому, что операторы выполняются сверху вниз или слева направо, но в T-SQL это происходит в другом порядке.

Правильный запрос будет выглядеть так:

Напишите один запрос для вычисления суммы всех положительных и отрицательных значений x.

1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1

Написать запрос, чтобы установить 2 вместо 0 и установить 3 вместо 1.

В таблице Emp 10 записей, а в Dept – 5. Сколько строк будет отображаться в результате следующего SQL-запроса:

Объясните свой ответ.

Запрос выведет 50 строк, т. к. тут перекрестное объединение, являющееся значением по умолчанию, когда условие WHERE, отсутствует.

Ключевое место – AND a!=X. Это дает вам все плюшки UNION DISTINCT, избегая при этом просадки производительности.

NVARCHAR способен хранить значения в формате Unicode – каждый символ занимает 2 байта, а кодировка занимает 65 536 символов.

VARCHAR хранит значения в формате SACII – каждый символ занимает байт, а кодировка занимает 256 символов.

План запросов – это "карта", отображающая графически или в виде текста способы получения данных, последовательность операций, сортировки, группировки и т. д. Эти планы очень полезны разработчику для понимания и анализа характеристик производительности запроса или хранимой процедуры.

Во многих системах SQL план выполнения можно получить с помощью ключевого слова EXPLAIN. В Microsoft SQL Server Query Analyzer имеет в раскрывающемся меню параметр “Show Execution Plan”. Если его активировать, то при выполнении запроса план будет отображаться в отдельном окне.

Это один из распространенных вопросов по SQL на собеседованиях.

Выбор четных записей:

Выбор нечетных записей:

Как NVL(exp1, exp2), так и NVL2(exp1, exp2, exp3) исследуют значение exp1 на предмет NULL. Функция NVL заменяет значение, если встречается NULL. Функция NVL2 проверяет значение exp1. Если оно не NULL, то возвращается exp2, иначе – exp3.

Важен. Когда строится составной индекс, сначала индексируется первый столбец, а потом строятся индексы других столбцов, на основании главного (первого).

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

Команда GROUP BY объединяет все записи, имеющие одинаковые значения в определенном поле или любой группе полей.

Если в запросе не используется GROUP BY, то условия WHERE и HAVING эквивалентны.

Но при использовании GROUP BY:

  • Условие HAVING используется для фильтрации значений из группы (т. е. для проверки условий после выполнения агрегации в группы).
  • Условие WHERE используется для фильтрации записей из результата до срабатывания какой-либо группировки.

Этот запрос вернет 10 записей, т. к. TRUNCATE выполняется в транзакции.

Да, можно. Например, так:

Это еще один из популярных вопросов по SQL.

IN:

  • Работает результирующим набором.
  • Не применяется во вложенных запросах.
  • Сравнивает все значения в списке результатов
  • Имеет сравнительно низкую производительность при работе с большими результатами и подзапросами.

EXISTS:

  • Работает с виртуальными таблицами.
  • Используется со связанными запросами.
  • Выводит результаты сравнения, если true.
  • Обладает высокой производительностью, что облегчает обработку больших подзапросов.
Мы рассмотрели основные из распространенных вопросов по SQL.

Среди них встречаются не совсем понятные и очевидные, но это делает их более интересными. Тренируйтесь, пробуйте, читайте и у вас получится пройти собеседование на должность вашей мечты.

Мы что-то упустили? Напишите нам о каверзных вопросах по SQL, которые вам встречались.

Читайте также: