Cześć,

Wracam po przerwie, z mocnym wpisem.

Jakiś czas temu w zamian za zapis na newsletter dzieliłam się pytaniami rekrutacyjnymi z SQL, DAX, Power BI etc.
Teraz postanowiłam opublikować te pytania na blogu. Nie tylko same pytana, ale także odpowiedzi do pytań rekrutacyjnych.

Wpis powstał z myślą o wszystkich tych, którzy zaczynają swoją
przygodę z Business Intelligence. W serii wpisów, które będę publikować zebrałam pytania, które zadano mi lub moim kolegom podczas rozmów rekrutacyjnych. Jest to zbiór, który powstał na przestrzeni 4 lat.

Bardzo się cieszę, że mogę się tą wiedzą podzielić z Tobą. Mam nadzieję, że przyda Ci się ten zbiór i pomoże Ci się przygotować na rozmowę kwalifikacyjną na stanowisko Junior BI Developer lub BI Developer.

Pytania rekrutacyjne będę wrzucać turami. Poniżej rozpisałam dokładny harmonogram publikacji postów:

  1. SQL
    Początkujący – 23.11.2020
    Zaawansowany – 1.12.2020
  2. DAX + Power BI
    Początkujący – 16.12.2020
    Zaawansowany
  3. SQL Server Integration Services + Analysis Services
    Średnio zaawansowany –

W części dla początkujących odpowiedzi są zwięzłe i klarowne. Jeżeli chcesz bardziej wgłębić się w temat to do każdego pytania dodaję link do dokumentacji SQL Server lub innego artykułu, który rozwija dane zagadnienie.

Ze względu, że na rozmowach kwalifikacyjnych zwykle jest ograniczona ilość czasu przygotowane odpowiedzi krótko streszczają dany temat. Jest to też wersja dla początkujących, którzy mogą nie rozumieć pojęć w SQL takich jak na przykład transakcje, więc dla osób bardziej zaawansowanych niektóre z odpowiedzi mogą wydać się proste.


Pytania rekrutacyjne – SQL

Jakie znasz rodzaje złączeń tabel (klauzula JOIN)?

Najczęściej używanymi rodzajami złączeń tabel są:

  • (INNER) JOIN – po połączeniu tabel tą klauzulą, otrzymamy część wspólną obu tabel, wg wskazanego połączenia.
  • LEFT JOIN – otrzymamy wszystkie wartości z „lewej” tabeli i dopasowane do nich wartości z „prawej” (tej dołączanej) tabeli.
  • RIGHT JOIN – otrzymamy wszystkie wartości z „prawej” (tej dołączanej) tabeli i dopasowanie do nich wartości z „lewej” tabeli.
  • FULL (OUTER) JOIN – otrzymamy rekordy z dwóch tabel, zarówno te dopasowane, jak te niedopasowane.
  • CROSS JOIN – iloczyn kartezjański z dwóch tabel.

Więcej informacji można przeczytać w dokumentacji SQL Server – https://docs.microsoft.com/en-us/sql/relational-databases/performance/joins?view=sql-server-ver15


Co to jest relacyjna baza danych?

Jest to zbiór danych, rekordów w bazie powiązanych ze sobą. Jest to baza danych oparta na połączeniach relacyjnych.

Więcej informacji można przeczytać w artykule – https://en.wikipedia.org/wiki/Relational_database


Jaka jest różnica pomiędzy TRUNCATE a DELETE w SQL?

Poleceniem TRUNCATE wyczyścimy wszystkie dane w tabeli. Usuniemy całość danych. Polecenie DELETE możemy zawęzić i usunąć tylko wybrane przez nas rekordy używają warunku WHERE.

Więcej informacji znajdziecie w artykule – https://www.mssqltips.com/sqlservertip/4248/differences-between-delete-and-truncate-in-sql-server/


Jaka jest różnica pomiędzy UNION a UNION ALL?

Jeżeli połączymy zapytania klauzulą UNION i będą w tych zapytaniach elementy powtarzające się to w wyniku połączenia usunięty zostanie duplikat. Jeżeli połączymy zapytania UNION ALL otrzymamy wszystkie powtarzające się rekordy.

Więcej informacji znajdziecie w artykule –
https://docs.microsoft.com/en-us/sql/t-sql/language-elements/set-operators-union-transact-sql?view=sql-server-ver15


Jaka jest różnica pomiędzy WHERE a HAVING w SQL?

WHERE używamy w zapytaniu do filtrowania rekordów, HAVING używamy w zapytaniu do filtrowania tylko zgrupowanych rekordów.

Więcej informacji znajdziecie w artykule –
https://docs.microsoft.com/en-us/sql/t-sql/queries/select-having-transact-sql?view=sql-server-ver15


Co daje klauzula HAVING w zapytaniu SQL?

Klauzula HAVING pozwala na wyfiltrowanie rekordów, które zostały zgrupowane.

Więcej informacji znajdziecie w artykule –
https://docs.microsoft.com/en-us/sql/t-sql/queries/select-having-transact-sql?view=sql-server-ver15


Co daje klauzula GROUP BY w SQL?

GROUP BY pozwala na grupowanie rekordów w zapytaniu. Dzieli wynik zapytania na grupy wierszy, zwykle w celu wykonania jednej lub więcej agregacji na każdej grupie.

Więcej informacji znajdziecie w artykule –
https://docs.microsoft.com/en-us/sql/t-sql/queries/select-group-by-transact-sql?view=sql-server-ver15


Co to jest FAKT i WYMIAR w kontekście baz danych?

FAKT jest to zdarzenie/metryka/wartość opisane w bazie danych. Na przykład sprzedaż produktów. Wymiar natomiast opisuje FAKT. WYMIAR to cecha opisująca FAKT, na przykład data sprzedaży.

Więcej informacji znajdziecie w artykule –
https://stackoverflow.com/questions/20036905/difference-between-fact-table-and-dimension-table/20037663


Czym różni się tabela faktów od tabeli wymiarów?

Główna różnica między tabelą faktów a tabelą wymiarów polega na tym, że tabela wymiarów zawiera atrybuty, dla których miary są brane z tabel faktów. Tablica faktów zbiera zdarzenia, które opisywane są przez wymiary.

Więcej informacji znajdziecie w artykule –
https://www.geeksforgeeks.org/difference-between-fact-table-and-dimension-table/


Jak opiszesz schemat płatka śniegu w kontekście baz danych?

Jest to układ tabel w bazie danych. Tabele faktów są scentralizowane i połączone do wielu wymiarów.

Więcej informacji znajdziecie w artykule –
https://pl.wikipedia.org/wiki/Schemat_p%C5%82atka_%C5%9Bniegu


Jak opiszesz schemat gwiazdy w kontekście baz danych?

Jest to układ tabel w bazie danych. Tabele faktów połączone są do tabel wymiarów, z tą różnicą, że tabele wymiarów są zdenormalizowane.

Więcej informacji znajdziecie w artykule –
https://en.wikipedia.org/wiki/Star_schema


Czy potrafisz scharakteryzować PRIMARY KEY i FOREIGN KEY w kontekście baz danych?

FOREIGN KEY jest to klucz używany do połączeń ze sobą dwóch tabel. Jest to pole lub wiele pól w jednej tabeli, które odnoszą się do klucza głównego (PRIMARY KEY) innej tabeli. PRIMARY KEY jest to klucz w danej tabeli, który zapewnia unikalność rekordów w tabeli.

Więcej informacji znajdziecie w artykule –
https://docs.microsoft.com/en-us/sql/relational-databases/tables/primary-and-foreign-key-constraints?view=sql-server-ver15


Dziękuję za przeczytanie i mam nadzieję, że pytania pomogą Wam dostać wymarzoną pracę !

Dagmara 🙂

.