# Pytania na rozmowę Data Analyst Włochy 2026: SQL, Python i analityka > Kompleksowy przewodnik po pytaniach rekrutacyjnych dla analityków danych na włoskim rynku pracy w 2026 roku. SQL, Python pandas, Power BI oraz scenariusze biznesowe. - Published: 2026-08-26 - Updated: 2026-08-26 - Author: Anthony Fillion-Maillet - Reading time: 5 min --- Pytania rekrutacyjne na stanowisko data analyst we Włoszech w 2026 roku koncentrują się na biegłości w SQL, manipulacji danymi w Pythonie oraz umiejętności przekształcania problemów biznesowych w rozwiązania analityczne. Przy ponad 600 otwartych pozycjach w Mediolanie, Rzymie i Bolonii, firmy takie jak Prometeia, Bending Spoons i ABB oczekują od kandydatów zarówno głębokiej wiedzy technicznej, jak i zrozumienia biznesu. > **Specyfika włoskiego rynku** > > Włoscy pracodawcy priorytetowo traktują umiejętności SQL i Power BI. Znajomość Pythona z biblioteką pandas wyróżnia kandydatów, szczególnie w firmach technologicznych w Mediolanie. Wynagrodzenia na poziomie junior wahają się od 28 000 do 39 000 EUR, a seniorzy mogą liczyć na 80 000+ EUR. ## Pytania SQL pojawiające się na każdej rozmowie Data Analyst SQL pozostaje fundamentem rozmów rekrutacyjnych dla analityków danych we Włoszech. Menedżerowie rekrutujący w firmach takich jak Italgas czy Philip Morris testują kandydatów pod kątem JOIN-ów, agregacji i funkcji okienkowych. Pytania te oceniają, czy kandydat potrafi wyciągać znaczące wnioski z relacyjnych baz danych. ### Pytanie 1: Wyjaśnij różnicę między INNER JOIN a LEFT JOIN z praktycznym przykładem **Oczekiwana odpowiedź:** INNER JOIN zwraca tylko wiersze, gdzie dopasowania istnieją w obu tabelach. LEFT JOIN zwraca wszystkie wiersze z lewej tabeli plus dopasowane wiersze z prawej tabeli, z wartościami NULL tam, gdzie nie ma dopasowania. ```sql -- orders_analysis.sql -- Znajdź wszystkich klientów i ich zamówienia (włącznie z klientami bez zamówień) SELECT c.customer_id, c.customer_name, o.order_id, o.order_total FROM customers c LEFT JOIN orders o ON c.customer_id = o.customer_id; -- Wynik: Klienci bez zamówień pojawiają się z NULL order_id i order_total -- INNER JOIN całkowicie wykluczyłby tych klientów ``` Rekruterzy szukają kandydatów rozumiejących, kiedy pojawiają się wartości NULL i potrafiących wyjaśnić kontekst biznesowy wyboru jednego typu złączenia nad drugim. ### Pytanie 2: Napisz zapytanie znajdujące drugą najwyższą pensję w tabeli To pytanie testuje znajomość podzapytań, DISTINCT i ograniczania wyników. Istnieje kilka poprawnych podejść. ```sql -- salary_analysis.sql -- Podejście 1: Użycie podzapytania z MAX SELECT MAX(salary) AS second_highest FROM employees WHERE salary < (SELECT MAX(salary) FROM employees); -- Podejście 2: Użycie funkcji okienkowej DENSE_RANK SELECT salary AS second_highest FROM ( SELECT salary, DENSE_RANK() OVER (ORDER BY salary DESC) AS rank FROM employees ) ranked WHERE rank = 2; ``` Podejście z funkcją okienkową poprawnie obsługuje remisy. Jeśli trzech pracowników ma taką samą najwyższą pensję, DENSE_RANK nadal zwróci rzeczywistą drugą najwyższą wartość. Użycie ROW_NUMBER dałoby inne wyniki, co demonstruje zrozumienie [funkcji okienkowych SQL](/technologies/data-analytics/interview-questions/sql-window-functions). ### Pytanie 3: Jak identyfikujesz i obsługujesz duplikaty rekordów? **Oczekiwana odpowiedź:** Użyj GROUP BY z HAVING COUNT(*) > 1 do identyfikacji duplikatów. Podejście zależy od reguły biznesowej: zachować pierwszy rekord, najnowszy, lub scalić informacje. ```sql -- duplicate_detection.sql -- Znajdź zduplikowane adresy email SELECT email, COUNT(*) AS occurrence_count FROM users GROUP BY email HAVING COUNT(*) > 1; -- Zachowaj tylko najwcześniejszy rekord dla każdego emaila DELETE FROM users WHERE id NOT IN ( SELECT MIN(id) FROM users GROUP BY email ); ``` ### Pytanie 4: Wyjaśnij CTE i kiedy używać ich zamiast podzapytań Common Table Expressions poprawiają czytelność zapytań i pozwalają na zapytania rekurencyjne. Włoscy rekruterzy często proszą kandydatów o refaktoryzację złożonego podzapytania do CTE. ```sql -- revenue_analysis.sql -- CTE dla kalkulacji miesięcznych przychodów WITH monthly_revenue AS ( SELECT DATE_TRUNC('month', order_date) AS month, SUM(order_total) AS revenue FROM orders WHERE order_date >= '2025-01-01' GROUP BY DATE_TRUNC('month', order_date) ), revenue_growth AS ( SELECT month, revenue, LAG(revenue) OVER (ORDER BY month) AS prev_month_revenue, revenue - LAG(revenue) OVER (ORDER BY month) AS growth FROM monthly_revenue ) SELECT * FROM revenue_growth WHERE growth > 0; ``` CTE można wielokrotnie używać w tym samym zapytaniu, w przeciwieństwie do podzapytań, które muszą być powtarzane. Ma to znaczenie dla złożonych zapytań analitycznych typowych dla ról data analyst. ### Pytanie 5: Jaka jest różnica między WHERE a HAVING? **Oczekiwana odpowiedź:** WHERE filtruje wiersze przed agregacją; HAVING filtruje grupy po agregacji. WHERE nie może odwoływać się do funkcji agregujących; HAVING może. ```sql -- sales_filter.sql -- WHERE filtruje pojedyncze wiersze SELECT region, SUM(sales) AS total_sales FROM transactions WHERE transaction_date >= '2026-01-01' -- Najpierw filtruj wiersze GROUP BY region HAVING SUM(sales) > 100000; -- Potem filtruj zagregowane grupy ``` ## Pytania Python i Pandas dla ról Data Analyst Firmy technologiczne w Mediolanie, szczególnie Bending Spoons i Amazon Italy, oczekują biegłości w Pythonie. Pytania te oceniają umiejętności manipulacji danymi z pandas i podstawowej wizualizacji. ### Pytanie 6: Jak obsługujesz brakujące wartości w DataFrame pandas? **Oczekiwana odpowiedź:** Podejście zależy od typu danych i kontekstu biznesowego. Opcje obejmują usuwanie wierszy, wypełnianie średnią/medianą/modą, forward-filling dla szeregów czasowych lub interpolację. ```python # missing_values.py import pandas as pd import numpy as np df = pd.DataFrame({ 'date': pd.date_range('2026-01-01', periods=5), 'sales': [100, np.nan, 150, np.nan, 200], 'category': ['A', 'B', np.nan, 'A', 'B'] }) # Sprawdź brakujące wartości na kolumnę print(df.isnull().sum()) # Wypełnij numeryczne medianą (odporne na wartości odstające) df['sales'] = df['sales'].fillna(df['sales'].median()) # Wypełnij kategoryczne modą df['category'] = df['category'].fillna(df['category'].mode()[0]) # Dla szeregów czasowych: forward fill df['sales_ffill'] = df['sales'].ffill() ``` Rekruterzy oceniają, czy kandydaci rozumieją, że ślepe usuwanie wierszy traci informacje, oraz że strategia wypełniania musi być zgodna z celem analitycznym. ### Pytanie 7: Wyjaśnij różnicę między merge, join i concat w pandas **Oczekiwana odpowiedź:** `merge()` łączy DataFrame'y po kolumnach lub indeksach (złączenia w stylu SQL). `join()` to metoda uproszczona dla złączeń opartych na indeksie. `concat()` układa DataFrame'y pionowo lub poziomo bez dopasowywania. ```python # dataframe_combining.py import pandas as pd orders = pd.DataFrame({'order_id': [1, 2], 'customer_id': [101, 102]}) customers = pd.DataFrame({'customer_id': [101, 103], 'name': ['Alice', 'Bob']}) # merge: złączenie w stylu SQL na kolumnie merged = pd.merge(orders, customers, on='customer_id', how='left') # concat: układanie DataFrame'ów df1 = pd.DataFrame({'A': [1, 2]}) df2 = pd.DataFrame({'A': [3, 4]}) stacked = pd.concat([df1, df2], ignore_index=True) ``` ### Pytanie 8: Jak wykonujesz operację group-by z wieloma agregacjami? ```python # groupby_aggregation.py import pandas as pd df = pd.DataFrame({ 'region': ['North', 'North', 'South', 'South'], 'product': ['A', 'B', 'A', 'B'], 'sales': [100, 150, 200, 50], 'quantity': [10, 15, 20, 5] }) # Wiele agregacji z nazwanymi kolumnami result = df.groupby('region').agg( total_sales=('sales', 'sum'), avg_sales=('sales', 'mean'), total_quantity=('quantity', 'sum'), transaction_count=('sales', 'count') ).reset_index() ``` Ta składnia (nazwana agregacja) stała się standardem w pandas 1.0+ i pozostaje aktualna w [pandas 3.0](/blog/data-analytics/pandas-3-new-apis-breaking-changes-interview). Rekruterzy oczekują, że kandydaci będą jej używać zamiast starszego podejścia opartego na słownikach. ### Pytanie 9: Napisz kod obliczający wskaźnik wzrostu miesiąc do miesiąca ```python # mom_growth.py import pandas as pd df = pd.DataFrame({ 'month': pd.date_range('2026-01-01', periods=6, freq='MS'), 'revenue': [10000, 12000, 11500, 14000, 15500, 16000] }) # Oblicz zmianę procentową df['mom_growth'] = df['revenue'].pct_change() * 100 # Alternatywa: ręczne obliczenie dla jasności df['prev_revenue'] = df['revenue'].shift(1) df['growth_manual'] = ((df['revenue'] - df['prev_revenue']) / df['prev_revenue']) * 100 ``` ### Pytanie 10: Jak wykonujesz pivot danych w pandas? ```python # pivot_example.py import pandas as pd df = pd.DataFrame({ 'date': ['2026-01', '2026-01', '2026-02', '2026-02'], 'region': ['North', 'South', 'North', 'South'], 'sales': [100, 150, 120, 180] }) # Pivot: wiersze=data, kolumny=region, wartości=sales pivot_table = df.pivot(index='date', columns='region', values='sales') # pivot_table dla agregacji gdy istnieją duplikaty agg_pivot = pd.pivot_table(df, values='sales', index='date', columns='region', aggfunc='sum') ``` ## Pytania o analitykę biznesową i rozwiązywanie problemów Włoskie firmy, szczególnie w finansach (Prometeia) i produkcji (ABB), testują myślenie analityczne wykraczające poza samo kodowanie. Pytania te oceniają, jak kandydaci formułują problemy i komunikują wyniki. ### Pytanie 11: Jak mierzyłbyś sukces kampanii marketingowej? **Oczekiwana odpowiedź:** Zdefiniuj KPI przed rozpoczęciem kampanii. Typowe metryki obejmują współczynnik konwersji, koszt pozyskania klienta (CPA), zwrot z wydatków reklamowych (ROAS) i wartość życiową klienta (CLV). Porównaj z grupą kontrolną lub historycznym punktem odniesienia. Silna odpowiedź zawiera: - Metryki bazowe przed uruchomieniem kampanii - Wybór modelu atrybucji (first-touch, last-touch, multi-touch) - Testowanie istotności statystycznej wyników - Segmentację według kanału, odbiorców lub geografii ### Pytanie 12: Product manager zgłasza, że przychody spadły o 15% w tym miesiącu. Jak to zbadasz? **Oczekiwana odpowiedź:** Rozłóż problem systematycznie: 1. **Zweryfikuj dane**: Sprawdź problemy z jakością danych, brakujące rekordy lub opóźnienia w raportowaniu 2. **Analiza segmentowa**: Podziel według produktu, regionu, segmentu klientów, kanału 3. **Izoluj zmienną**: Określ, czy spadł wolumen, zmieniła się cena, czy przesunął się mix 4. **Czynniki zewnętrzne**: Sprawdź sezonowość, działania konkurencji, wydarzenia ekonomiczne 5. **Koreluj z innymi metrykami**: Ruch na stronie, współczynnik konwersji, porzucenie koszyka ### Pytanie 13: Wyjaśnij testy A/B i kiedy nie powinny być stosowane **Oczekiwana odpowiedź:** Testy A/B porównują dwa warianty (kontrolny vs. testowy) aby zmierzyć wpływ przyczynowy. Wymagają losowego przydziału, wystarczającej wielkości próby i pojedynczej metryki zainteresowania. Testów A/B nie należy używać gdy: - Wielkość próby jest niewystarczająca dla mocy statystycznej - Zmiana dotyczy wszystkich użytkowników (infrastruktura, cennik) - Istnieją efekty sieciowe (funkcje społecznościowe gdzie użytkownicy wpływają na siebie) - Kwestie etyczne uniemożliwiają wstrzymanie korzystnej zmiany ### Pytanie 14: Jak wyjaśniłbyś istotność statystyczną nietechnicznemu interesariuszowi? **Oczekiwana odpowiedź:** Istotność statystyczna oznacza, że zaobserwowana różnica prawdopodobnie nie wystąpiła przypadkowo. Wartość p poniżej 0,05 wskazuje na mniej niż 5% prawdopodobieństwo, że wynik pojawił się losowo. Analogicznie: rzucenie monetą 10 razy i wyrzucenie 7 orłów może być przypadkiem. Wyrzucenie 95 orłów na 100 rzutów jest statystycznie istotne, ponieważ sam przypadek nie może tego wyjaśnić. ### Pytanie 15: Jaka jest różnica między korelacją a przyczynowością? **Oczekiwana odpowiedź:** Korelacja mierzy, jak dwie zmienne poruszają się razem. Przyczynowość oznacza, że jedna zmienna bezpośrednio wpływa na drugą. Sprzedaż lodów i utonięcia korelują (obie rosną latem), ale lody nie powodują utonięć. Ustalenie przyczynowości wymaga: - Pierwszeństwa czasowego (przyczyna poprzedza skutek) - Korelacji - Eliminacji zmiennych zakłócających (randomizowany eksperyment kontrolowany) ## Pytania oceniające umiejętności techniczne Te pytania testują biegłość w konkretnych narzędziach oczekiwanych na włoskim rynku. ### Pytanie 16: Porównaj Power BI i Tableau dla analityki korporacyjnej Włoskie firmy, szczególnie w bankowości i utilities, intensywnie używają Power BI ze względu na integrację z ekosystemem Microsoft. Kluczowe różnice: | Aspekt | Power BI | Tableau | |--------|----------|--------| | Koszt | Niższy (wliczony w Office 365) | Wyższe licencje | | Krzywa uczenia | Łatwiejszy dla użytkowników Excel | Bardziej stroma, potężniejszy | | Przygotowanie danych | Power Query wbudowany | Prep wymaga osobnego narzędzia | | Wizualizacja | Dobra, poprawia się | Najlepsza w klasie | | Adopcja korporacyjna | Wyższa we Włoszech | Popularne w firmach międzynarodowych | ### Pytanie 17: Czym jest DAX i podaj przykładową miarę **Oczekiwana odpowiedź:** DAX (Data Analysis Expressions) to język formuł Power BI do obliczeń. Miary obliczają wartości dynamicznie na podstawie kontekstu filtra. ``` // Miara wzrostu rok do roku w DAX YoY Growth % = VAR CurrentYearSales = SUM(Sales[Amount]) VAR PreviousYearSales = CALCULATE( SUM(Sales[Amount]), DATEADD(Calendar[Date], -1, YEAR) ) RETURN DIVIDE(CurrentYearSales - PreviousYearSales, PreviousYearSales, 0) ``` ### Pytanie 18: Wyjaśnij ETL i jego znaczenie w analityce **Oczekiwana odpowiedź:** ETL oznacza Extract, Transform, Load. Dane przemieszczają się z systemów źródłowych (ERP, CRM, logi webowe) przez transformację (czyszczenie, agregacja, łączenie) do hurtowni danych do analizy. Nowoczesne alternatywy obejmują ELT (najpierw ładuj surowe dane, transformuj w hurtowni) i narzędzia takie jak [dbt](/blog/data-analytics/dbt-data-analysts-modeling-testing-interview-2026), które oddzielają logikę transformacji od orkiestracji. ### Pytanie 19: Jakie są różnice między systemami OLTP i OLAP? | Aspekt | OLTP | OLAP | |--------|------|------| | Cel | Przetwarzanie transakcji | Zapytania analityczne | | Model danych | Znormalizowany (3NF) | Zdenormalizowany (star/snowflake) | | Typ zapytań | Proste, częste | Złożone, zagregowane | | Wolumen danych na zapytanie | Mały | Duży | | Przykłady | Wprowadzanie zamówień, bankowość | Hurtownia danych, raporty BI | ### Pytanie 20: Jak optymalizujesz wolne zapytanie SQL? **Oczekiwana odpowiedź:** Postępuj systematycznie: 1. **Analizuj plan wykonania**: Identyfikuj pełne skany tabel, brakujące indeksy 2. **Dodaj odpowiednie indeksy**: Na kolumnach w WHERE, JOIN, ORDER BY 3. **Przepisz nieefektywne wzorce**: Zamień skorelowane podzapytania na JOIN-y 4. **Ograniczaj dane wcześnie**: Filtruj przed łączeniem dużych tabel 5. **Używaj wskazówek zapytań ostrożnie**: Tylko gdy optymalizator podejmuje złe decyzje ```sql -- query_optimization.sql -- Przed: skorelowane podzapytanie (wolne) SELECT * FROM orders o WHERE o.total > (SELECT AVG(total) FROM orders WHERE customer_id = o.customer_id); -- Po: funkcja okienkowa (szybsza) SELECT * FROM ( SELECT *, AVG(total) OVER (PARTITION BY customer_id) AS avg_total FROM orders ) sub WHERE total > avg_total; ``` ## Pytania behawioralne i scenariuszowe Włoscy rekruterzy oceniają dopasowanie kulturowe i umiejętności komunikacyjne obok zdolności technicznych. ### Pytanie 21: Opisz sytuację, gdy Twoja analiza przeczyła oczekiwaniom interesariuszy **Struktura silnej odpowiedzi:** - Sytuacja: w co wierzyli interesariusze - Analiza: co faktycznie pokazały dane - Komunikacja: jak dyplomatycznie przedstawiono wyniki - Rezultat: jaka decyzja została podjęta i jej wpływ Kluczowe zachowania poszukiwane przez rekruterów: uczciwość intelektualna, dyplomatyczna komunikacja i trzymanie się wniosków opartych na danych. ### Pytanie 22: Jak priorytetyzujesz wiele pilnych żądań dotyczących danych? **Oczekiwana odpowiedź:** - Oceń wpływ biznesowy każdego żądania - Wyjaśnij terminy i negocjuj gdzie to możliwe - Identyfikuj szybkie wygrane vs. głęboką analizę - Proaktywnie komunikuj realistyczne harmonogramy - Eskaluj ograniczenia zasobów do kierownictwa ### Pytanie 23: Jak zapewniasz jakość danych w swoich analizach? **Oczekiwana odpowiedź:** - Waliduj dane źródłowe przed analizą (sprawdzanie null, zakresy, integralność referencyjna) - Dokumentuj założenia explicite - Krzyżowo weryfikuj wiele źródeł danych - Implementuj automatyczne kontrole jakości danych - Ręcznie przeglądaj wartości odstające przed ich wykluczeniem ### Pytanie 24: Opisz swoje podejście do nauki nowego narzędzia lub technologii **Oczekiwana odpowiedź:** - Zacznij od oficjalnej dokumentacji i tutoriali - Zbuduj mały projekt do zastosowania koncepcji - Dołącz do społeczności (Reddit, Stack Overflow, lokalne meetupy) - Ucz innych aby utrwalić zrozumienie ## Pytania specyficzne dla włoskiego rynku ### Pytanie 25: Jakie regulacje wpływają na analitykę danych we Włoszech? **Oczekiwana odpowiedź:** GDPR jest głównym rozporządzeniem. Kluczowe wymagania obejmują: - Wyraźna zgoda na przetwarzanie danych osobowych - Prawo do usunięcia (żądania usunięcia danych) - Minimalizacja danych (zbieraj tylko niezbędne dane) - Oceny wpływu na prywatność dla przetwarzania wysokiego ryzyka Specyficzne dla sektorów: włoska bankowość (regulacje Bank of Italy), ochrona zdrowia (włoskie odpowiedniki HIPAA), sektor publiczny (wytyczne CAD i AGID). ### Pytanie 26: Jak obsługujesz PII w zbiorach danych analitycznych? **Oczekiwana odpowiedź:** - Pseudonimizacja: zastąp identyfikatory tokenami - Agregacja: raportuj na poziomie grupy, nie jednostki - Maskowanie danych: ukryj wrażliwe części (email: a***@gmail.com) - Kontrole dostępu: uprawnienia oparte na rolach dla wrażliwych danych - Polityki retencji: usuń dane gdy nie są już potrzebne ### Pytanie 27: Jakie masz doświadczenie z platformami danych w chmurze? Włoskie firmy coraz częściej używają platform chmurowych. Popularne na rynku: - [Google BigQuery](/technologies/data-analytics/interview-questions/bigquery-advanced) (Google Cloud) - Amazon Redshift (AWS) - Azure Synapse (integracja z ekosystemem Microsoft) - Snowflake (niezależne od chmury) ### Pytanie 28: Jak komunikujesz wyniki analityczne kadrze zarządzającej? **Oczekiwana odpowiedź:** - Zacznij od rekomendacji, nie metodologii - Używaj wizualizacji, które kierownictwo może zinterpretować w sekundy - Kwantyfikuj wpływ biznesowy (przychody, koszty, ryzyko) - Przewiduj pytania i przygotuj slajdy zapasowe - Unikaj żargonu; tłumacz terminy techniczne ### Pytanie 29: Jakie metryki śledziłbyś dla biznesu e-commerce? **Oczekiwana odpowiedź:** - **Pozyskanie**: źródła ruchu, koszt pozyskania - **Zachowanie**: współczynnik odrzuceń, strony na sesję, czas na stronie - **Konwersja**: współczynnik konwersji według etapu lejka, porzucenie koszyka - **Retencja**: wskaźnik ponownych zakupów, wartość życiowa klienta - **Przychody**: średnia wartość zamówienia, przychód na odwiedzającego ### Pytanie 30: Jak pozostajesz na bieżąco z trendami w analityce danych? **Oczekiwana odpowiedź:** - Śledź publikacje branżowe: Towards Data Science, Analytics Vidhya - Uczestnictwo w konkursach Kaggle - Uczęszczanie na konferencje: PyData, lokalne meetupy data science w Mediolanie lub Rzymie - Czytanie dokumentacji dla nowych wersji narzędzi - Eksperymentowanie z nowymi technologiami w projektach osobistych ## Strategia przygotowania do rozmów Data Analyst we Włoszech 2026 - **Mistrzostwo SQL**: Ćwicz na [problemach bazodanowych LeetCode](https://leetcode.com/problemset/database/) i StrataScratch. Włoskie firmy intensywnie testują JOIN-y, funkcje okienkowe i CTE - **Biegłość w Pythonie**: Ukończ ćwiczenia pandas na [Kaggle](https://www.kaggle.com/learn/pandas). Skup się na czyszczeniu i agregacji danych - **Znajomość narzędzi**: Umiejętności Power BI są wysoko cenione we włoskich przedsiębiorstwach. Tableau jest popularne w firmach międzynarodowych - **Kontekst biznesowy**: Przygotuj przykłady z poprzedniej pracy demonstrujące przekształcanie pytań biznesowych w podejścia analityczne - **Język włoski**: Chociaż wiele firm technologicznych działa po angielsku, biegłość w języku włoskim poprawia możliwości w tradycyjnych branżach (bankowość, produkcja, utilities) --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/pl/blog/data-analytics/data-analyst-interview-questions-italy-2026