Питання на співбесіді з баз даних (Junior) з відповідями

75 запитань для співбесіди з теми Бази даних (Junior) - з правильними відповідями, поясненнями й посиланнями на документацію.

Пройти цей тест
  1. 1.Що таке реляційна база даних?
  2. 2.Що таке первинний ключ?
  3. 3.Що таке зовнішній ключ?
  4. 4.Як змоделювати зв'язок «багато до багатьох», наприклад студентів і курси?
  5. 5.Що робить обмеження NOT NULL?
  6. 6.Чим UNIQUE відрізняється від PRIMARY KEY?
  7. 7.Що робить обмеження CHECK?
  8. 8.Як отримати автоінкрементний стовпець ID у сучасному PostgreSQL?
  9. 9.Яка поширена причина використовувати UUID замість цілих чисел, що зростають, як ID?
  10. 10.Який тип стовпця найкращий для грошових сум?
  11. 11.Який запит поверне імена користувачів, старших за 30, відсортовані за іменем?
  12. 12.У якому логічному порядку база обчислює частини запиту?
  13. 13.Що поверне SELECT DISTINCT city FROM users?
  14. 14.Що поверне WHERE email = NULL?
  15. 15.Чим COUNT(*) відрізняється від COUNT(phone)?
  16. 16.Що знайде WHERE name LIKE 'An%'?
  17. 17.Як отримати 10 найновіших замовлень?
  18. 18.Що входить у WHERE price BETWEEN 10 AND 20?
  19. 19.Що означає WHERE status IN ('new', 'paid')?
  20. 20.Чому в коді застосунку часто уникають SELECT *?
  21. 21.Що повертає INNER JOIN?
  22. 22.Що повертає LEFT JOIN?
  23. 23.Як знайти користувачів, у яких немає замовлень?
  24. 24.Що поверне CROSS JOIN таблиці з 10 рядків і таблиці з 5 рядків?
  25. 25.У користувача 3 замовлення і 2 адреси. Ви з'єднуєте users, orders і addresses за user_id. Скільки рядків вийде для цього користувача?
  26. 26.Навіщо в JOIN використовують псевдоніми таблиць на кшталт u і o?
  27. 27.Що поверне цей запит?
  28. 28.Чим WHERE відрізняється від HAVING?
  29. 29.Чому SELECT city, name, COUNT(*) FROM users GROUP BY city падає?
  30. 30.Які агрегатні функції є стандартними в SQL?
  31. 31.Чим UNION відрізняється від UNION ALL?
  32. 32.Що станеться після UPDATE users SET active = false; без WHERE?
  33. 33.Яка інструкція додає рядок?
  34. 34.Чим DELETE FROM logs відрізняється від TRUNCATE logs?
  35. 35.Чим DDL відрізняється від DML?
  36. 36.Що таке «м'яке видалення» (soft delete)?
  37. 37.Яка головна мета нормалізації бази даних?
  38. 38.Яка таблиця порушує першу нормальну форму (1НФ)?
  39. 39.Що таке денормалізація?
  40. 40.Який тип зазвичай використовувати для часових міток у PostgreSQL?
  41. 41.Чим varchar(255) відрізняється від text у PostgreSQL?
  42. 42.Що таке представлення (view)?
  43. 43.Навіщо потрібен індекс?
  44. 44.Чому не варто додавати індекс на кожен стовпець?
  45. 45.Що таке транзакція?
  46. 46.Що означає ACID?
  47. 47.Що гарантує «довговічність» (durability)?
  48. 48.Що таке SQL-ін'єкція?
  49. 49.Чому застосунок має під'єднуватися до бази користувачем з обмеженими правами?
  50. 50.Що таке міграція бази даних?
  51. 51.Що таке ORM?
  52. 52.Чому треба регулярно перевіряти відновлення з резервних копій, а не лише робити їх?
  53. 53.Яка головна ідея документної бази даних, як-от MongoDB?
  54. 54.Для чого найчастіше використовують Redis у вебзастосунках?
  55. 55.Коли реляційна база зазвичай кращий вибір за замовчуванням?
  56. 56.Що означає «без схеми» (schemaless) для документної бази?
  57. 57.Що робить EXPIRE session:42 3600 у Redis?
  58. 58.Що таке підзапит?
  59. 59.Що повертає COALESCE(nickname, name)?
  60. 60.Що робить CASE у запиті?
  61. 61.Що робить INSERT ... RETURNING id у PostgreSQL?
  62. 62.Що робить OFFSET 20 LIMIT 10?
  63. 63.Що таке «схема» в сенсі CREATE SCHEMA у PostgreSQL?
  64. 64.Чому не варто зберігати великі файли (зображення, відео) прямо в рядках бази?
  65. 65.Для чого найкраще підходить SQLite?
  66. 66.Який результат SELECT 10 + NULL?
  67. 67.Що таке складений первинний ключ?
  68. 68.Що робить ON DELETE CASCADE на зовнішньому ключі?
  69. 69.Що робить created_at timestamptz NOT NULL DEFAULT now()?
  70. 70.Як додати стовпець до наявної таблиці?
  71. 71.Як отримати 5 міст з найбільшою кількістю користувачів?
  72. 72.Таблиця employees(id, name, manager_id) зберігає керівника кожного працівника. Як вивести працівників з іменем їхнього керівника?
  73. 73.Чи створює PostgreSQL автоматично індекс на стовпці зовнішнього ключа, як-от orders.user_id?
  74. 74.Що перевіряє EXISTS?
  75. 75.Де опиняються NULL при ORDER BY last_login ASC у PostgreSQL?