Pytania rekrutacyjne z baz danych (Junior) z odpowiedziami

75 pytań na rozmowę rekrutacyjną z tematu Bazy danych (Junior) - z poprawnymi odpowiedziami, wyjaśnieniami i linkami do dokumentacji.

Rozwiąż ten test
  1. 1.Czym jest relacyjna baza danych?
  2. 2.Czym jest klucz główny?
  3. 3.Czym jest klucz obcy?
  4. 4.Jak zamodelować relację wiele do wielu, np. studentów i kursy?
  5. 5.Co robi ograniczenie NOT NULL?
  6. 6.Czym UNIQUE różni się od PRIMARY KEY?
  7. 7.Co robi ograniczenie CHECK?
  8. 8.Jak uzyskać automatycznie rosnącą kolumnę ID w nowoczesnym PostgreSQL?
  9. 9.Jaki jest częsty powód używania UUID zamiast rosnących liczb całkowitych jako ID?
  10. 10.Który typ kolumny najlepiej nadaje się do kwot pieniężnych?
  11. 11.Które zapytanie zwróci imiona użytkowników starszych niż 30 lat, posortowane po imieniu?
  12. 12.W jakiej logicznej kolejności baza oblicza części zapytania?
  13. 13.Co zwraca SELECT DISTINCT city FROM users?
  14. 14.Co zwróci WHERE email = NULL?
  15. 15.Czym różni się COUNT(*) od COUNT(phone)?
  16. 16.Co dopasuje WHERE name LIKE 'An%'?
  17. 17.Jak pobrać 10 najnowszych zamówień?
  18. 18.Co obejmuje WHERE price BETWEEN 10 AND 20?
  19. 19.Co oznacza WHERE status IN ('new', 'paid')?
  20. 20.Dlaczego w kodzie aplikacji często unika się SELECT *?
  21. 21.Co zwraca INNER JOIN?
  22. 22.Co zwraca LEFT JOIN?
  23. 23.Jak znaleźć użytkowników, którzy nie mają zamówień?
  24. 24.Co zwróci CROSS JOIN tabeli z 10 wierszami i tabeli z 5 wierszami?
  25. 25.Użytkownik ma 3 zamówienia i 2 adresy. Łączysz users, orders i addresses po user_id. Ile wierszy dostaniesz dla tego użytkownika?
  26. 26.Po co w złączeniach aliasy tabel, takie jak u i o?
  27. 27.Co zwraca to zapytanie?
  28. 28.Czym różni się WHERE od HAVING?
  29. 29.Dlaczego SELECT city, name, COUNT(*) FROM users GROUP BY city kończy się błędem?
  30. 30.Które funkcje agregujące są standardowe w SQL?
  31. 31.Czym różni się UNION od UNION ALL?
  32. 32.Co się stanie po UPDATE users SET active = false; bez WHERE?
  33. 33.Która instrukcja dodaje wiersz?
  34. 34.Czym różni się DELETE FROM logs od TRUNCATE logs?
  35. 35.Czym różni się DDL od DML?
  36. 36.Czym jest „miękkie usuwanie” (soft delete)?
  37. 37.Jaki jest główny cel normalizacji bazy danych?
  38. 38.Która tabela narusza pierwszą postać normalną (1NF)?
  39. 39.Czym jest denormalizacja?
  40. 40.Którego typu zwykle używać do znaczników czasu w PostgreSQL?
  41. 41.Czym różni się varchar(255) od text w PostgreSQL?
  42. 42.Czym jest widok (view)?
  43. 43.Do czego służy indeks?
  44. 44.Dlaczego nie dodawać indeksu na każdą kolumnę?
  45. 45.Czym jest transakcja?
  46. 46.Co oznacza ACID?
  47. 47.Co gwarantuje „trwałość” (durability)?
  48. 48.Czym jest SQL injection?
  49. 49.Dlaczego aplikacja powinna łączyć się z bazą użytkownikiem o ograniczonych uprawnieniach?
  50. 50.Czym jest migracja bazy danych?
  51. 51.Czym jest ORM?
  52. 52.Dlaczego trzeba regularnie testować przywracanie z kopii zapasowych, a nie tylko je robić?
  53. 53.Jaka jest główna idea dokumentowej bazy danych, np. MongoDB?
  54. 54.Do czego najczęściej używa się Redisa w aplikacjach webowych?
  55. 55.Kiedy relacyjna baza jest zwykle lepszym wyborem domyślnym?
  56. 56.Co oznacza „bez schematu” (schemaless) w bazie dokumentowej?
  57. 57.Co robi EXPIRE session:42 3600 w Redisie?
  58. 58.Czym jest podzapytanie?
  59. 59.Co zwraca COALESCE(nickname, name)?
  60. 60.Co robi CASE w zapytaniu?
  61. 61.Co robi INSERT ... RETURNING id w PostgreSQL?
  62. 62.Co robi OFFSET 20 LIMIT 10?
  63. 63.Czym jest „schemat” w sensie CREATE SCHEMA w PostgreSQL?
  64. 64.Dlaczego unikać przechowywania dużych plików (zdjęć, filmów) bezpośrednio w wierszach bazy?
  65. 65.Do czego najlepiej pasuje SQLite?
  66. 66.Jaki jest wynik SELECT 10 + NULL?
  67. 67.Czym jest złożony klucz główny?
  68. 68.Co robi ON DELETE CASCADE na kluczu obcym?
  69. 69.Co robi created_at timestamptz NOT NULL DEFAULT now()?
  70. 70.Jak dodać kolumnę do istniejącej tabeli?
  71. 71.Jak pobrać 5 miast z największą liczbą użytkowników?
  72. 72.Tabela employees(id, name, manager_id) przechowuje przełożonego każdego pracownika. Jak wypisać pracowników z imieniem przełożonego?
  73. 73.Czy PostgreSQL automatycznie tworzy indeks na kolumnie klucza obcego, np. orders.user_id?
  74. 74.Co sprawdza EXISTS?
  75. 75.Gdzie trafiają NULL-e przy ORDER BY last_login ASC w PostgreSQL?