Pytania na Rozmowę Data Analyst we Włoszech 2026: Zaawansowane SQL, Python i Case Study

Kompletny przewodnik po pytaniach technicznych zadawanych na rozmowach rekrutacyjnych dla Data Analyst we Włoszech w 2026 roku. Obejmuje SQL, Python pandas oraz studia przypadków używane przez włoskie firmy.

Pytania na rozmowę Data Analyst we Włoszech 2026

Rozmowy rekrutacyjne na stanowisko Data Analyst we Włoszech charakteryzują się strukturą odmienną od innych rynków europejskich. Włoskie przedsiębiorstwa, od mediolańskich startupów fintech po rzymskie korporacje, kładą szczególny nacisk na biegłość w SQL, umiejętności manipulacji danymi w Pythonie oraz rozumowanie biznesowe przy rozwiązywaniu case studies. Ten przewodnik przedstawia rzeczywiste pytania, z jakimi kandydaci spotykają się w 2026 roku.

Proces Rekrutacyjny we Włoszech

Większość włoskich firm przeprowadza 3-4 rundy rozmów: wstępna rozmowa HR, techniczny test SQL/Python (często na czas), prezentacja case study oraz końcowa rozmowa sprawdzająca dopasowanie kulturowe. Test techniczny trwa zazwyczaj 60-90 minut i wykorzystuje platformy takie jak Codility lub HackerRank.

Pytania SQL zadawane przez włoskie firmy w 2026 roku

SQL pozostaje fundamentem każdej rozmowy rekrutacyjnej na stanowisko Data Analyst we Włoszech. Firmy takie jak Intesa Sanpaolo, Enel i UniCredit stosują ustandaryzowane testy SQL przed pierwszą rozmową techniczną. Poniższe pytania pochodzą z rzeczywistych rozmów przeprowadzonych w Mediolanie, Rzymie i Turynie.

Funkcje okna do rankingów i sum bieżących

Funkcje okna pojawiają się w 80% włoskich rozmów rekrutacyjnych na stanowisko Data Analyst. To pytanie testuje obliczanie skumulowanych przychodów:

sql
-- Calculate running total of daily revenue by product category
SELECT 
    order_date,
    category,
    daily_revenue,
    SUM(daily_revenue) OVER (
        PARTITION BY category 
        ORDER BY order_date
        ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
    ) AS cumulative_revenue
FROM (
    SELECT 
        DATE(order_timestamp) AS order_date,
        p.category,
        SUM(oi.quantity * oi.unit_price) AS daily_revenue
    FROM order_items oi
    JOIN products p ON oi.product_id = p.id
    GROUP BY DATE(order_timestamp), p.category
) daily_sales
ORDER BY category, order_date;

Klauzula ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW jest tu jawnie określona. Chociaż PostgreSQL i MySQL 8+ domyślnie stosują to zachowanie z ORDER BY, rekruterzy oczekują, że kandydaci wykażą świadomość granic ramki. Pominięcie jej w BigQuery może dawać różne wyniki przy zduplikowanych wartościach.

CTE do wieloetapowej analizy

Common Table Expressions (CTE) testują umiejętność rozbijania złożonych problemów na mniejsze części. Włoscy rekruterzy preferują ten wzorzec, ponieważ odzwierciedla sposób dokumentowania pracy przez analityków:

sql
-- Find customers who increased spending by 20%+ quarter over quarter
WITH quarterly_spending AS (
    SELECT 
        customer_id,
        DATE_TRUNC('quarter', order_date) AS quarter,
        SUM(total_amount) AS quarter_total
    FROM orders
    WHERE order_date >= '2025-01-01'
    GROUP BY customer_id, DATE_TRUNC('quarter', order_date)
),
spending_growth AS (
    SELECT 
        customer_id,
        quarter,
        quarter_total,
        LAG(quarter_total) OVER (
            PARTITION BY customer_id ORDER BY quarter
        ) AS prev_quarter_total
    FROM quarterly_spending
)
SELECT 
    customer_id,
    quarter,
    quarter_total,
    prev_quarter_total,
    ROUND(
        (quarter_total - prev_quarter_total) / prev_quarter_total * 100, 
        2
    ) AS growth_pct
FROM spending_growth
WHERE prev_quarter_total IS NOT NULL
  AND (quarter_total - prev_quarter_total) / prev_quarter_total >= 0.20
ORDER BY growth_pct DESC;

Podejście CTE oddziela etap agregacji od etapu funkcji okna. Zapobiega to nieporozumieniom dotyczącym momentu ewaluacji LAG — częstego źródła błędów, gdy analitycy próbują łączyć te operacje w pojedynczym zapytaniu.

Więcej wzorców SQL używanych na rozmowach rekrutacyjnych można znaleźć w module SQL Window Functions.

Gotowy na rozmowy o Data Analytics?

Ćwicz z naszymi interaktywnymi symulatorami, flashcards i testami technicznymi.

Pytania Python Pandas na włoskich rozmowach

Python wyprzedził Excel jako oczekiwane narzędzie do manipulacji danymi na stanowiskach Data Analyst we Włoszech. Firmy testują konkretnie pandas, ponieważ ujawnia to sposób, w jaki kandydaci radzą sobie z rzeczywistymi zadaniami czyszczenia danych.

Czyszczenie danych i konwersja typów

To pytanie pojawia się na rozmowach we włoskich firmach e-commerce i testuje praktyczne przygotowanie danych:

python
# sales_data_cleaning.py
import pandas as pd
import numpy as np

def clean_sales_data(df: pd.DataFrame) -> pd.DataFrame:
    """Clean raw sales data from Italian ERP export."""
    # Create copy to avoid modifying original
    cleaned = df.copy()
    
    # Italian number format: 1.234,56 -> 1234.56
    if cleaned['revenue'].dtype == 'object':
        cleaned['revenue'] = (
            cleaned['revenue']
            .str.replace('.', '', regex=False)  # Remove thousand separator
            .str.replace(',', '.', regex=False)  # Decimal comma to point
            .astype(float)
        )
    
    # Parse Italian date format: 15/09/2026
    cleaned['order_date'] = pd.to_datetime(
        cleaned['order_date'], 
        format='%d/%m/%Y',
        errors='coerce'
    )
    
    # Handle missing values based on column type
    cleaned['customer_segment'] = cleaned['customer_segment'].fillna('Unknown')
    cleaned['revenue'] = cleaned['revenue'].fillna(0)
    
    # Remove duplicates keeping first occurrence
    cleaned = cleaned.drop_duplicates(
        subset=['order_id'], 
        keep='first'
    )
    
    return cleaned

Włoski format liczb (kropka jako separator tysięcy, przecinek jako separator dziesiętny) zaskakuje kandydatów, którzy ćwiczyli tylko na danych w formacie amerykańskim. Parametr errors='coerce' konwertuje nieparsowalne daty na NaT zamiast zgłaszania wyjątku, co jest oczekiwanym zachowaniem w produkcyjnych pipeline'ach.

GroupBy z wieloma agregacjami

To pytanie testuje zrozumienie wzorców agregacji w pandas:

python
# customer_metrics.py
import pandas as pd

def calculate_customer_metrics(orders_df: pd.DataFrame) -> pd.DataFrame:
    """Calculate customer-level metrics for RFM analysis."""
    reference_date = orders_df['order_date'].max()
    
    metrics = orders_df.groupby('customer_id').agg(
        recency=('order_date', lambda x: (reference_date - x.max()).days),
        frequency=('order_id', 'nunique'),
        monetary=('revenue', 'sum'),
        avg_order_value=('revenue', 'mean'),
        first_order=('order_date', 'min'),
        last_order=('order_date', 'max')
    ).reset_index()
    
    # Calculate customer lifetime in days
    metrics['customer_lifetime'] = (
        metrics['last_order'] - metrics['first_order']
    ).dt.days
    
    return metrics

Składnia nazwanych agregacji (recency=('order_date', lambda x: ...)) pojawiła się w pandas 0.25 i pozostaje preferowanym podejściem w 2026 roku. Włoscy rekruterzy szczególnie sprawdzają, czy kandydaci używają tego zamiast przestarzałej składni słownikowej agg({'column': 'function'}).

Moduł Python Pandas Basics zawiera dodatkowe wzorce do przygotowania do rozmowy rekrutacyjnej.

Pytania Case Study od włoskich firm

Włoskie rozmowy rekrutacyjne obejmują rundę case study w 70% stanowisk Data Analyst. Kandydat otrzymuje zbiór danych (zazwyczaj zanonimizowane dane firmowe) i musi zaprezentować wnioski w ciągu 24-48 godzin.

Analiza konwersji e-commerce

Typowe case study od włoskiej firmy modowej e-commerce:

"Przeanalizuj załączony zbiór 50 000 sesji użytkowników. Zidentyfikuj, dlaczego konwersja mobilna spadła o 15% w sierpniu w porównaniu z lipcem. Przedstaw trzy rekomendacje działań."

Oczekiwane rezultaty:

  1. Rozbicie lejka według typu urządzenia: Porównanie desktop vs mobile na każdym etapie (landing, widok produktu, dodanie do koszyka, checkout, zakup)
  2. Analiza segmentów: Sprawdzenie, czy spadek dotyczy wszystkich źródeł ruchu czy konkretnych kanałów (płatne social media często gorzej konwertują na mobile)
  3. Badanie techniczne: Szukanie wzrostu czasów ładowania strony, wskaźników błędów lub zmian UI, które zbiegły się ze spadkiem
python
# conversion_funnel.py
import pandas as pd

def analyze_funnel(sessions_df: pd.DataFrame) -> pd.DataFrame:
    """Calculate conversion funnel by device and month."""
    sessions_df['month'] = sessions_df['session_start'].dt.to_period('M')
    
    funnel = sessions_df.groupby(['month', 'device_type']).agg(
        sessions=('session_id', 'nunique'),
        product_views=('viewed_product', 'sum'),
        add_to_cart=('added_to_cart', 'sum'),
        checkouts=('started_checkout', 'sum'),
        purchases=('completed_purchase', 'sum')
    ).reset_index()
    
    # Calculate conversion rates
    funnel['view_rate'] = funnel['product_views'] / funnel['sessions']
    funnel['cart_rate'] = funnel['add_to_cart'] / funnel['product_views']
    funnel['checkout_rate'] = funnel['checkouts'] / funnel['add_to_cart']
    funnel['purchase_rate'] = funnel['purchases'] / funnel['checkouts']
    funnel['overall_conversion'] = funnel['purchases'] / funnel['sessions']
    
    return funnel

Włoscy rekruterzy oceniają prezentację równie wysoko jak samą analizę. Strukturyzowanie wniosków jako "problem, dowód, rekomendacja" z konkretnymi liczbami wygrywa z długą narracją eksploracyjną.

Ocena ryzyka w usługach finansowych

Banki takie jak Intesa Sanpaolo i UniCredit stosują case studies skupione na metrykach ryzyka:

"Używając dostarczonego zbioru danych kredytowych, zbuduj prosty model scoringowy do przewidywania ryzyka niewypłacalności. Wyjaśnij uzasadnienie wyboru cech."

To testuje zrozumienie:

  • Feature engineering: Wskaźnik zadłużenia do dochodu, agregacja historii płatności, wykorzystanie kredytu
  • Obsługa niezbalansowanych danych: Wskaźniki niewypłacalności wynoszą zazwyczaj 2-5%, co wymaga stratyfikowanego próbkowania lub technik oversamplingu
  • Świadomość regulacyjna: Włoskie regulacje bankowe (wytyczne Banca d'Italia) wymagają wyjaśnialnych modeli, więc podejścia black-box otrzymują niższe oceny

Czego włoscy rekruterzy szukają poza umiejętnościami technicznymi

Umiejętności techniczne prowadzą kandydatów do rundy finałowej. Dopasowanie kulturowe decyduje o ofercie. Włoskie firmy oceniają:

Styl komunikacji: Włosi cenią budowanie relacji. Pośpiech przez small talk, aby "przejść do sedna", odbierany jest jako niegrzeczny. Trzeba poświęcić czas podczas przedstawiania się.

Sygnały współpracy: Pytania takie jak "Opowiedz o sytuacji, gdy nie zgadzałeś się z interesariuszem" testują, czy kandydaci potrafią nawigować we włoskich hierarchiach miejsca pracy, które bywają bardziej formalne niż w firmach nordyckich czy amerykańskich.

Ciekawość domenowa: Zadawanie świadomych pytań o branżę firmy pokazuje przygotowanie. Analityk na rozmowie w Luxottica powinien rozumieć dynamikę rynku okularów. W Ferrari liczy się znajomość metryk luksusowej motoryzacji.

Oczekiwania płacowe i kontekst rynkowy 2026

Wynagrodzenia Data Analyst we Włoszech w 2026 roku, według danych Glassdoor i LinkedIn:

Poziom doświadczeniaMediolan (rocznie brutto)RzymRemote-First
Junior (0-2 lata)€28 000-35 000€25 000-32 000€30 000-38 000
Mid (3-5 lat)€40 000-52 000€35 000-45 000€42 000-55 000
Senior (5+ lat)€55 000-70 000€48 000-60 000€58 000-75 000

Mediolan płaci 15-20% więcej niż inne włoskie miasta ze względu na koncentrację usług finansowych i firm technologicznych. Role remote-first w międzynarodowych firmach często przekraczają lokalne stawki, ponieważ konkurują o talenty z całej Europy.

Włoski contratto a tempo indeterminato (umowa na czas nieokreślony) pozostaje preferowanym typem zatrudnienia. Umowy na czas określony (tempo determinato) przechodzą w stałe po 24 miesiącach zgodnie z obecnym prawem pracy.

Zacznij ćwiczyć!

Sprawdź swoją wiedzę z naszymi symulatorami rozmów i testami technicznymi.

Przygotowanie do włoskich rozmów Data Analyst: Kluczowe wnioski

  • Funkcje okna SQL i CTE pojawiają się w 80% testów technicznych. Należy ćwiczyć konkretne wzorce pokazane powyżej, a nie ogólne tutoriale
  • Pytania Python pandas skupiają się na czyszczeniu danych z włoskimi formatami (przecinek dziesiętny, europejskie daty) oraz agregacjach groupby z nazwaną składnią
  • Case studies wymagają ustrukturyzowanych prezentacji z kwantyfikowanymi rekomendacjami. "Zwiększ konwersję o X%" wygrywa z "popraw doświadczenie użytkownika"
  • Test techniczny trwa zazwyczaj 60-90 minut na Codility lub HackerRank. Trzeba ćwiczyć kodowanie na czas, aby uniknąć przekroczenia limitu
  • Dopasowanie kulturowe ma większe znaczenie na włoskich rozmowach niż w procesach amerykańskich czy brytyjskich. Należy przygotować się na pytania o budowanie relacji
  • Wynagrodzenia wzrosły o 8-12% w 2026 roku z powodu niedoboru talentów. Kandydaci z umiejętnościami SQL i Python otrzymują premie w ofertach

Dodatkowe materiały do przygotowania do rozmowy rekrutacyjnej można znaleźć w przewodniku Data Analytics Interview Questions oraz w artykule SQL Window Functions z głębszą praktyką SQL.

Wyzwanie dnia

Znajdziesz błąd w Data Analytics?

Prawdziwy fragment kodu, ukryty błąd, jedna próba dziennie. Bez konta, żeby spróbować.

Anthony Fillion-Maillet

Autor:

Anthony Fillion-Maillet

Założyciel SharpSkill

Programista fullstack od ponad 10 lat. Prowadzi SharpSkill i odpowiada za wszystko, co się tu ukazuje.

Zaktualizowano 16 września 2026

Tagi

#data-analyst
#sql
#python
#italy
#interview

Udostępnij

Powiązane artykuły