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