top 50 database interview questions
Запитання та відповіді на найчастіші запитання щодо інтерв’ю бази даних:
Ця стаття охопить перелік усіх найважливіших запитань та відповідей на співбесіду “База даних”, які допоможуть вам зламати будь-яке інтерв’ю.
Організаційні навички, потужна здатність вирішувати проблеми, увага до деталей та високий рівень точності - ось деякі з найважливіших якостей, якими повинна володіти людина, щоб бути в “База даних” поле.
Хоча ви повинні бути в курсі останніх тенденцій галузі, з іншого боку, ваші основи також повинні бути сильними. Для того, щоб розпочати свою кар'єру в базі даних, першим і найголовнішим, що вам потрібно мати, є знання СУБД (Система управління базами даних) та SQL (мова структурованих запитів).
Найпопулярніші запитання та відповіді на інтерв’ю з базами даних
Нижче наведено список найпопулярніших запитань та відповідей на співбесіду в Базі даних для довідки.
Q # 1) Що ви розумієте під поняттям 'База даних'?
Відповідь: База даних - це організований збір відповідних даних, де дані зберігаються та організовуються для певних цілей.
Наприклад , Бібліотекар веде базу даних усієї інформації, що стосується книг, що є в бібліотеці.
Q # 2) Визначте СУБД.
Відповідь: СУБД розшифровується як Система управління базами даних. Це колекція прикладних програм, які дозволяють користувачеві організовувати, відновлювати та отримувати інформацію про дані ефективно та якомога ефективніше.
Деякі з популярних СУБД - це MySql, Oracle, Sybase тощо.
Q # 3) Визначте СУБД.
Відповідь: Реляційна система управління базами даних (СУБД) базується на реляційній моделі даних, яка зберігається в базах даних в окремих таблицях і пов’язана із використанням загального стовпця. Доступ до даних можна отримати з реляційної бази даних за допомогою мови структурованих запитів (SQL).
Q # 4) Перелічіть переваги СУБД.
Відповідь: Переваги СУБД включають:
- Дані зберігаються в структурованому вигляді, а отже, контролюється надмірність.
- Перевіряє введені дані та надає обмеження на несанкціонований доступ до бази даних.
- Забезпечує резервне копіювання та відновлення даних, коли це потрібно.
- Він надає кілька інтерфейсів користувача.
Q # 5) Що ви розумієте під надмірністю даних?
Відповідь: Дублювання даних у базі даних відоме як надмірність даних. В результаті надмірності даних дубльовані дані присутні в багатьох місцях, отже це призводить до втрати місця для зберігання і цілісність бази даних руйнується.
Q # 6) Які існують різні типи взаємозв’язків у базі даних? Визначте їх.
Відповідь: У базі даних є 3 типи взаємозв’язків:
- Один до одного: Одна таблиця має зв’язок з іншою таблицею, що має подібний тип стовпця. Кожен первинний ключ має відношення лише до одного або взагалі відсутнього запису у відповідній таблиці.
- Один-до-багатьох: Одна таблиця має зв’язок з іншою таблицею, яка має зв’язки первинного та зовнішнього ключа. Таблиця первинного ключа містить лише один запис, який стосується жодного, одного або багатьох записів у відповідній таблиці.
- Багато до багатьох: Кожен запис в обох таблицях може стосуватися великої кількості записів в іншій таблиці.
Q # 7) Поясніть нормалізацію та денормалізацію.
Відповідь:
Нормалізація - це процес видалення надлишкових даних з бази даних шляхом чіткого розбиття таблиці з метою збереження цілісності даних. Цей процес економить значну частину місця для зберігання.
Денормалізація - це процес додавання зайвих даних у таблиці з метою прискорення складних запитів і, таким чином, досягнення кращої продуктивності.
Q # 8) Які існують різні типи нормалізації?
Відповідь: Різні типи нормалізації:
- Перша звичайна форма (1NF): Кажуть, що відношення є в 1NF лише тоді, коли всі сутності таблиці містять унікальні або атомні значення.
- Друга нормальна форма (2NF): Кажуть, що відношення є в 2NF, лише якщо воно в 1NF і весь неключовий атрибут таблиці повністю залежить від первинного ключа.
- Третя нормальна форма (3NF): Кажуть, що відношення є в 3NF, лише якщо воно в 2NF і кожен неключовий атрибут таблиці не перехідно залежить від первинного ключа.
Q # 9) Що таке BCNF?
Відповідь: BCNF - це нормальна форма Кодексу Бойса. Це вища версія 3Nf, яка не має кількох перекриваючих ключів-кандидатів.
Q # 10) Що таке SQL?
Відповідь: Мова структурованих запитів, SQL - це стандартна мова програмування ANSI (Американський національний інститут стандарту), призначена спеціально для зберігання та управління даними в реляційній системі управління базами даних (СУБД) із використанням усіх видів операцій з даними.
Q # 11) Скільки операторів SQL використовується? Визначте їх.
Відповідь: SQL-оператори в основному поділяються на три категорії, DDL, DML і DCL.
Їх можна визначити як:
- Мова визначення даних (DDL) команди використовуються для визначення структури, що містить дані. Ці команди автоматично фіксуються, тобто зміни, внесені командами DDL у базу даних, зберігаються назавжди.
- Мова маніпуляції даними (DML) команди використовуються для маніпулювання даними бази даних. Ці команди не виконуються автоматично, і їх можна відкотити.
- Мова управління даними (DCL) команди використовуються для керування видимістю даних у базі даних, як скасування дозволу на доступ для використання даних у базі даних.
Q # 12) Перелічіть деякі команди DDL, DML та DCL.
Відповідь: Команди мови визначення даних (DDL):
- СТВОРИТИ, щоб створити нову таблицю або базу даних.
- ALTER для зміни.
- TRUNCATE для видалення даних із таблиці.
- DROP, щоб опустити стіл.
- RENAME для перейменування таблиці.
Команди мови керування даними (DML):
- ВСТАВІТЬ, щоб вставити новий рядок.
- ОНОВИТИ, щоб оновити існуючий рядок.
- ВИДАЛИТИ, щоб видалити рядок.
- MERGE для об’єднання двох рядків або двох таблиць.
Команди мови керування даними (DCL):
- Здійснити, щоб назавжди зберегти.
- ROLLBACK, щоб скасувати зміни.
- SAVEPOINT, щоб тимчасово зберегти.
Q # 13) Визначте компілятор DML.
Відповідь: Компілятор DML перекладає оператори DML на мові запитів в інструкцію низького рівня, і створена інструкція може бути зрозумілою системою обробки запитів.
Q # 14) Що таке інтерпретатор DDL?
Відповідь: Інтерпретатор DDL інтерпретує оператори DDL і записує згенеровані оператори в таблицю, що містить метадані.
Q # 15) Перелічіть переваги SQL.
Відповідь: Перевагами SQL є:
- Прості запити SQL можуть бути використані для отримання великої кількості даних з бази даних дуже швидко та ефективно.
- SQL легко вивчити, і майже кожна СУБД підтримує SQL.
- Управління базою даних простіше за допомогою SQL, оскільки не потрібно велика кількість кодування.
Q # 16) Поясніть терміни „Запис”, „Поле” та „Таблиця” з точки зору бази даних.
Відповідь:
Запис: Запис - це сукупність значень або полів певної сутності. Наприклад, Працівник, рахунок заробітної плати тощо.
Поле: Поле відноситься до області в записі, зарезервованої для певних даних. Наприклад, Ідентифікатор працівника.
Таблиця: Таблиця - це колекція записів конкретних типів. Наприклад, таблиця службовців - це сукупність записів, що стосуються всіх працівників.
Q # 17) Що ви розумієте під незалежністю даних? Які два її типи?
Відповідь: Незалежність даних стосується можливості модифікувати визначення схеми на одному рівні таким чином, що це не впливає на визначення схеми на наступному вищому рівні.
2 типи незалежності даних:
що є хорошим завантажувачем музики для android
- Незалежність фізичних даних : Він змінює схему на фізичному рівні, не впливаючи на схему на концептуальному рівні.
- Незалежність логічних даних: Він модифікує схему на концептуальному рівні, не впливаючи і не викликаючи змін у схемі на рівні подання.
Q # 18) Визначте взаємозв'язок між 'Переглядом' та 'Незалежністю даних'.
Відповідь: Перегляд - це віртуальна таблиця, яка не має власних даних, а дані визначаються з однієї або декількох базових базових таблиць.
Погляди обумовлюють логічну незалежність даних, оскільки зростання та реструктуризація базових таблиць не відображаються у поданнях.
Q # 19) Які переваги та недоліки переглядів у базі даних?
Відповідь: Переваги переглядів:
- Оскільки немає фізичного розташування, де зберігаються дані у поданні, воно генерує вихід, не витрачаючи витрат ресурсів.
- Доступ до даних обмежений, оскільки він не дозволяє такі команди, як вставка, оновлення та видалення.
Недоліки переглядів:
- Погляд стає неактуальним, якщо ми опустимо таблицю, пов’язану з цим видом.
- Багато місця в пам'яті займає, коли подання створюється для великих таблиць.
Q # 20) Що ви розумієте під функціональною залежністю?
Відповідь: Кажуть, що відношення знаходиться у функціональній залежності, коли один атрибут однозначно визначає інший атрибут.
Наприклад, R - це відношення, X і Y - два атрибути. Т1 і Т2 - два кортежі. Потім,
T1 (X) = T2 (X) і T1 (Y) = T2 (Y)
Означає, що значення компонента X однозначно визначає значення компонента Y.
Крім того, X-> Y означає, що Y функціонально залежить від X.
Q # 21) Коли функціональну залежність називають повністю функціональною?
Відповідь: Для виконання критеріїв повністю функціональної залежності відношення повинно відповідати вимозі функціональної залежності.
Функціональна залежність „A“ та „B“ називається повністю функціональною, якщо видалення будь-якого атрибута „X“ із „A“ означає, що залежність більше не виконується.
Q # 22) Що ви розумієте під моделлю E-R?
Відповідь: Модель E-R - це модель сутності та відносин, яка визначає концептуальний вигляд бази даних.
Модель E-R в основному показує реальні сутності та їх асоціації / відносини. Сутності тут представляють набір атрибутів у базі даних.
Q # 23) Визначте сутність, тип сутності та набір сутності.
Відповідь:
Сутність може бути що завгодно, будь то місце, клас чи об’єкт, які самостійно існують у реальному світі.
Тип сутності представляє сукупність сутностей, що мають подібні атрибути.
Сутність набору в базі даних представляє сукупність сутностей, що мають певний тип сутності.
Q # 24) Визначте набір слабких сутностей.
Відповідь: Набір слабких об’єктів - це той, первинний ключ якого містить його частковий ключ, а також первинний ключ його батьківського об’єкта. Це так, оскільки набір сутності може не мати достатніх атрибутів для формування первинного ключа.
Q # 25) Поясніть терміни 'Атрибут' та 'Відносини'
Відповідь:
Атрибут описується як властивості або характеристики суб’єкта господарювання. Наприклад , Ідентифікатор працівника, Ім'я працівника, Вік тощо можуть бути атрибутами організації Співробітник.
Відносини це двовимірна таблиця, що містить ряд рядків і стовпців, де кожен рядок представляє запис відношення. Тут рядки також відомі як „Кортежі”, а стовпці - „Атрибути”.
Q # 26) Що таке VDL та SDL?
Відповідь: VDL є Мовою визначення перегляду, яка представляє перегляди користувачів та їх відображення до концептуальної схеми.
SDL є Мовою визначення сховища, яка визначає відображення між двома схемами.
Q # 27) Визначте курсор та його типи.
Відповідь: Курсор - це тимчасова робоча область, в якій зберігаються дані, а також набір результатів, що відбувся після маніпулювання отриманими даними. Курсор може містити лише один рядок одночасно.
2 типи курсору:
- Неявні курсори оголошуються автоматично, коли виконуються оператори DML, такі як INSERT, UPDATE, DELETE.
- Явні курсори повинні бути оголошені, коли виконуються оператори SELECT, які повертають більше одного рядка.
Q # 28) Що таке транзакція бази даних?
Відповідь: Послідовність виконуваної операції, яка змінює постійний стан бази даних на інший, відома як транзакція бази даних. Після завершення транзакції або успішне завершення відображається в системі, або транзакція не вдається, і ніяких змін не відображається.
Q # 29) Визначте Блокування бази даних та його типи.
Відповідь: Блокування бази даних в основному означає транзакцію про поточний стан елемента даних, тобто чи використовуються ці дані іншими транзакціями чи ні на даний момент часу.
Існує два типи блокування бази даних: Спільний замок і Ексклюзивний замок.
Q # 30) Що таке зберігання даних?
Відповідь: Зберігання, а також доступ до даних, які отримуються з транзакцій та інших джерел, із центрального місця для проведення аналізу називається Зберіганням даних.
Q # 31) Що ви розумієте під програмою Join?
Відповідь: Приєднання - це процес визначення взаємозв'язку між різними таблицями шляхом об'єднання стовпців з однієї або декількох таблиць, що мають спільні значення в кожній. Коли таблиця з’єднується сама з собою, вона відома як Самоз’єднання.
Q # 32) Що ви розумієте під полюванням на індекси?
Відповідь: Полювання на індекси - це процес посилення збору індексів, який допомагає поліпшити продуктивність запитів, а також швидкість роботи бази даних.
Q # 33) Як покращити ефективність запитів за допомогою індексу полювання?
Відповідь: Індексний пошук допомагає покращити ефективність запитів за допомогою:
- Використання оптимізатора запитів для узгодження запитів із навантаженням.
- Спостереження за ефективністю та ефектом розподілу індексів та запитів.
Q # 34) Диференціювати індекс 'Кластер' та 'Некластер'.
Відповідь: Кластерний індекс змінює таблицю та змінює порядок зберігання записів у таблиці. Вибір даних здійснюється швидше за допомогою кластерного індексу.
Некластеризований індекс змінює записи, які зберігаються в таблиці, але створює зовсім інший об'єкт у таблиці.
Q # 35) Які недоліки запиту?
Відповідь: Недоліками запиту є:
- Індекси відсутні.
- Збережені процедури надмірно компілюються.
- Складність взаємодії.
Q # 36) Що ви розумієте під фрагментацією?
Відповідь: Фрагментація - це функція, яка керує логічними одиницями даних, також відомими як фрагменти, які зберігаються на різних сайтах розподіленої системи баз даних.
Q # 37) Визначте типи об’єднання.
Відповідь: Нижче наведено типи Join, які пояснюються щодо таблиць як Приклад.
таблиця співробітників:
таблиця службової інформації:
а) Внутрішнє ПРИЄДНАННЯ: Внутрішня JOIN також відома як проста JOIN. Цей запит SQL повертає результати з обох таблиць, що мають загальне значення в рядках.
Запит SQL:
SELECT * from employee, employee_info WHERE employee.EmpID = employee_info.EmpID ;
Результат:
б) Природне ПРИЄДНАННЯ: Це тип внутрішнього приєднання, який повертає результати з обох таблиць, що мають однакові значення даних у стовпцях обох таблиць, які потрібно об’єднати.
Запит SQL:
SELECT * from employee NATURAL JOIN employee_info;
Результат:
в) Перехресне ПРИЄДНАННЯ: Cross JOIN повертає результат як усі записи, де кожен рядок з першої таблиці поєднується з кожним рядком другої таблиці.
Запит SQL:
SELECT * from employee CROSS JOIN employee_info;
Результат:
Давайте внесемо деякі зміни у наведені вище таблиці, щоб зрозуміти Right JOIN, Left JOIN та Full JOIN.
таблиця співробітників:
таблиця службової інформації:
а) ПРАВО ПРИЄДНАЙТЕСЬ: Right JOIN також відомий як Right Outer JOIN. Це повертає всі рядки в результаті з правої таблиці, навіть якщо умова JOIN не відповідає жодним записам у лівій таблиці.
Запит SQL:
SELECT * from employee RIGHT OUTER JOIN employee_info on (employee.EmpID = employee_info.EmpID);
Результат:
б) Зліва ПРИЄДНАЙТЕСЬ: Left JOIN також відомий як Left Outer JOIN. Це повертає всі рядки в результаті лівої таблиці, навіть якщо умова JOIN не відповідає жодним записам у правій таблиці. Це прямо протилежне правильному приєднанню.
Запит SQL:
SELECT * from employee LEFT OUTER JOIN employee_info on (employee.EmpID = employee_info.EmpID);
Результат:
в) Зовнішнє / повне ПРИЄДНАННЯ: Повне повернення JOIN призводить до поєднання результатів як лівого, так і правого JOIN.
розширені запитання для співбесіди на C ++
Запит SQL:
SELECT * from employee FULL OUTER JOIN employee_info on (employee.EmpID = employee_info.EmpID);
Результат:
Q # 38) Що ви розумієте під поняттями «Атомність» та «Агрегація»?
Відповідь: атомність є умовою, коли або всі дії транзакції виконуються, або жодної. Це означає, що коли є неповна транзакція, сама система управління базами даних скасовує ефекти, здійснені неповною транзакцією.
Агрегація це концепція вираження взаємозв'язку з колекцією сутностей та їх взаємозв'язків.
Q # 39) Визначте глухий кут Phantom.
Відповідь: Виявлення фантомного тупику - це стан, коли мертвої точки насправді не існує, але через затримку розповсюдження локальної інформації алгоритми виявлення тупикових ситуацій ідентифікують тупикові ситуації.
Q # 40) Визначте контрольний пункт.
Відповідь: Checkpoint оголошує точку, перед якою всі журнали постійно зберігаються на диску зберігання і є невідповідним станом. У разі збоїв обсяг роботи та часу економиться, оскільки система може перезапуститися з пункту пропуску.
Q # 41) Що таке розділення бази даних?
Відповідь: Розділення бази даних - це процес розділення таблиць, індексування на менші частини для того, щоб керувати даними та отримувати доступ до них на більш точному рівні.
Цей процес розділення зменшує витрати на зберігання великої кількості даних, а також покращує продуктивність та керованість.
Q # 42) Поясніть важливість розділення бази даних.
Відповідь: Важливістю розділення бази даних є:
- Покращує продуктивність запитів та керованість.
- Спрощує загальні адміністративні завдання.
- Діє як ключовий інструмент для побудови систем з надзвичайно високими вимогами щодо доступності.
- Дозволяє отримати доступ до значної частини одного розділу.
Q # 43) Поясніть словник даних.
Відповідь: Словник даних - це сукупність інформації, що описує зміст і структуру таблиць та об’єктів бази даних. Завданням інформації, що зберігається у словнику даних, є контроль, маніпулювання та доступ до взаємозв’язків між елементами бази даних.
Q # 44) Поясніть первинний ключ і складений ключ.
Відповідь: Первинний ключ це той стовпець таблиці, дані кожного рядка якого однозначно ідентифіковані. Кожен рядок таблиці повинен мати первинний ключ, і жоден два рядки не можуть мати однаковий первинний ключ. Значення первинного ключа ніколи не може бути нульовим, а також не може бути змінено або оновлено.
Складений ключ є формою ключа-кандидата, де набір стовпців однозначно ідентифікує кожен рядок у таблиці.
Q # 45) Що ви розумієте під унікальним ключем?
Відповідь: Унікальний ключ - це те саме, що і первинний ключ, дані кожного рядка якого однозначно ідентифіковані з різницею нульового значення, тобто Унікальний ключ допускає одне значення як значення NULL.
Q # 46) Що ви розумієте під тригерами бази даних?
Відповідь: Набір команд, які автоматично виконуються, коли така подія, як До вставки, Після вставки, Під час оновлення, При видаленні рядка, називається тригером бази даних.
Q # 47) Визначте збережені процедури.
Відповідь: Збережена процедура - це набір попередньо скомпільованих запитів SQL, який під час виконання позначає програму, яка приймає вхідні дані, обробляє та видає вихідні дані.
Q # 48) Що ви розумієте під B-Trees?
Відповідь: B-Tree представляє структуру даних у вигляді дерева для зовнішньої пам'яті, яка зчитує та записує великі блоки даних. Він зазвичай використовується в базах даних та файлових системах, де всі вставки, видалення, сортування тощо виконуються в логарифмічному часі.
Q # 49) Назвіть різні моделі даних, доступні для систем баз даних.
Відповідь: Різні моделі даних:
- Реляційна модель
- Модель мережі
- Ієрархічна модель
Q # 50) Розмежуйте команди „DELETE”, „TRUNCATE” та „DROP”.
Відповідь: Після страти «ВИДАЛИТИ» операція, оператори COMMIT і ROLLBACK можуть бути виконані для отримання втрачених даних.
Після страти «ЗРОБИТИ» операції, оператори COMMIT та ROLLBACK не можуть бути виконані для отримання втрачених даних.
«КРАПЛЕННЯ» команда використовується для скидання таблиці або ключа, як первинний ключ / зовнішній ключ.
Q # 51) На основі поданої таблиці вирішіть такі запити.
Стіл співробітників
до) Напишіть команду SELECT, щоб відобразити деталі співробітника з порожнім як 1004.
Запит SQL:
SELECT empId, empName, Age, Address from Employee WHERE empId = 1004;
Результат:
б) Напишіть команду SELECT, щоб відобразити всі записи таблиці Співробітники.
Запит SQL:
SELECT * from Employee;
Результат:
в) Напишіть команду SELECT, щоб відобразити всі записи працівника, ім’я якого починається з символу «R».
Запит SQL:
SELECT * from Employee WHERE empName LIKE ‘R%’;
Результат:
г) Напишіть команду SELECT для відображення ідентифікатора, віку та імені співробітників з їх віком як за зростанням, так і за спаданням.
Запит SQL:
SELECT empId, empName, Age from Employee ORDER BY Age;
Результат:
SELECT empId, empName, Age from Employee ORDER BY Age Desc;
Результат:
є) Напишіть команду SELECT для обчислення загальної суми заробітної плати на кожного працівника з таблиці Emp нижче.
Таблиця Emp:
Запит SQL:
SELECT empName, SUM(Salary) from Emp GROUP BY empName;
Результат:
Висновок
Це набір запитань та відповідей на співбесіду в Базі даних, які здебільшого задаються під час співбесіди.
В інтерв’ю переважно допитуються основи кожного предмета. Всім добре відомо, що якщо ваші основи зрозумілі, ви можете досягти найвищих висот.
Однак можуть бути ще кілька хитромудрі питання. Просто будьте впевнені в собі і чітко відповідайте на кожне запитання у знаннях.
Подальше читання:
- Найпопулярніші запитання щодо інтерв’ю SQL
- Найпопулярніші запитання для тестування баз даних
- Найпопулярніші запитання щодо моделювання даних
- Найпопулярніші запитання щодо інтерв’ю SQL Server
Рекомендована література
- Найкращі 32 запитання та відповіді на інтерв’ю на етапі обробки даних
- 31 Найпопулярніші запитання та відповіді на тестування бази даних
- 40+ найкращих засобів тестування баз даних - Популярні рішення для тестування даних
- Повний посібник з тестування баз даних (чому, що та як перевіряти дані)
- 30 найпопулярніших програм для управління базами даних: Повний список
- Найкращі запитання та відповіді на співбесіду з базою даних 50+