# Data Analyst Sollicitatievragen Italië 2026: SQL, Python en Analytics > Complete gids voor data analyst sollicitatiegesprekken in Italië 2026. SQL-queries, Python data-analyse, Business Analytics en branchespecifieke vragen voor de Italiaanse arbeidsmarkt. - Published: 2026-08-26 - Updated: 2026-08-26 - Author: Anthony Fillion-Maillet - Tags: data-analytics, sql, python, interview, italy - Reading time: 12 min --- Data analyst sollicitatiegesprekken in Italië voor 2026 richten zich sterk op SQL-vaardigheid, Python datamanipulatie en het vermogen om zakelijke problemen te vertalen naar analytische oplossingen. Met meer dan 600 openstaande vacatures in Milaan, Rome en Bologna verwachten bedrijven zoals Prometeia, Bending Spoons en ABB dat kandidaten zowel technische diepgang als zakelijk inzicht demonstreren. > **Specifieke Kenmerken Italiaanse Markt** > > Italiaanse werkgevers geven prioriteit aan SQL- en Power BI-vaardigheden. Python-vaardigheid met pandas onderscheidt kandidaten, vooral bij techbedrijven in Milaan. Instapsalarissen variëren van €28.000 tot €39.000, terwijl senior functies meer dan €80.000 kunnen bereiken. ## SQL-Vragen in Elk Data Analyst Sollicitatiegesprek SQL blijft de basis van data analyst sollicitatiegesprekken in Italië. Hiring managers bij bedrijven zoals Italgas en Philip Morris testen kandidaten op JOINs, aggregaties en window functions. Deze vragen beoordelen of een kandidaat betekenisvolle inzichten kan extraheren uit relationele databases. ### Vraag 1: Leg het verschil uit tussen INNER JOIN en LEFT JOIN met een praktisch voorbeeld **Verwacht antwoord:** INNER JOIN retourneert alleen rijen waar overeenkomsten bestaan in beide tabellen. LEFT JOIN retourneert alle rijen van de linker tabel plus overeenkomende rijen van de rechter tabel, met NULL-waarden waar geen overeenkomst bestaat. ```sql -- orders_analysis.sql -- Vind alle klanten en hun bestellingen (inclusief klanten zonder bestellingen) 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; -- Resultaat: Klanten zonder bestellingen verschijnen met NULL order_id en order_total -- INNER JOIN zou deze klanten volledig uitsluiten ``` Interviewers letten op of kandidaten begrijpen wanneer NULL-waarden verschijnen en de zakelijke context kunnen uitleggen voor de keuze van een join-type boven een ander. ### Vraag 2: Schrijf een query om het op één na hoogste salaris in een tabel te vinden Deze vraag test kennis van subqueries, DISTINCT en het beperken van resultaten. Er bestaan meerdere geldige benaderingen. ```sql -- salary_analysis.sql -- Benadering 1: Gebruik van subquery met MAX SELECT MAX(salary) AS second_highest FROM employees WHERE salary < (SELECT MAX(salary) FROM employees); -- Benadering 2: Gebruik van DENSE_RANK window function SELECT salary AS second_highest FROM ( SELECT salary, DENSE_RANK() OVER (ORDER BY salary DESC) AS rank FROM employees ) ranked WHERE rank = 2; ``` De window function-benadering behandelt gelijke standen correct. Als drie werknemers het hoogste salaris delen, retourneert DENSE_RANK nog steeds de werkelijke op één na hoogste waarde. Het gebruik van ROW_NUMBER zou verschillende resultaten opleveren. ### Vraag 3: Hoe identificeer en behandel je dubbele records? **Verwacht antwoord:** Gebruik GROUP BY met HAVING COUNT(*) > 1 om duplicaten te identificeren. De aanpak hangt af van de bedrijfsregel: het eerste record behouden, het meest recente, of informatie samenvoegen. ```sql -- duplicate_detection.sql -- Vind dubbele e-mailadressen SELECT email, COUNT(*) AS occurrence_count FROM users GROUP BY email HAVING COUNT(*) > 1; -- Behoud alleen het vroegste record voor elke e-mail DELETE FROM users WHERE id NOT IN ( SELECT MIN(id) FROM users GROUP BY email ); ``` ### Vraag 4: Leg CTEs uit en wanneer je ze gebruikt in plaats van subqueries Common Table Expressions verbeteren de leesbaarheid van queries en maken recursieve queries mogelijk. Italiaanse interviewers vragen kandidaten vaak om een complexe subquery te herstructureren naar een CTE. ```sql -- revenue_analysis.sql -- CTE voor maandelijkse omzetberekening 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; ``` CTEs zijn herbruikbaar binnen dezelfde query, in tegenstelling tot subqueries die herhaald moeten worden. Dit is belangrijk voor complexe analytische queries die gebruikelijk zijn in data analyst functies. ### Vraag 5: Wat is het verschil tussen WHERE en HAVING? **Verwacht antwoord:** WHERE filtert rijen vóór aggregatie; HAVING filtert groepen na aggregatie. WHERE kan niet verwijzen naar aggregate functies; HAVING kan dat wel. ```sql -- sales_filter.sql -- WHERE filtert individuele rijen SELECT region, SUM(sales) AS total_sales FROM transactions WHERE transaction_date >= '2026-01-01' -- Filter rijen eerst GROUP BY region HAVING SUM(sales) > 100000; -- Filter dan geaggregeerde groepen ``` ## Python en Pandas Vragen voor Data Analyst Functies Techbedrijven in Milaan, met name Bending Spoons en Amazon Italië, verwachten Python-vaardigheid. Deze vragen beoordelen datamanipulatievaardigheden met pandas en basisvisualisatie. ### Vraag 6: Hoe ga je om met ontbrekende waarden in een pandas DataFrame? **Verwacht antwoord:** De aanpak hangt af van het datatype en de zakelijke context. Opties omvatten het verwijderen van rijen, vullen met gemiddelde/mediaan/modus, forward-filling voor tijdreeksen, of interpolatie gebruiken. ```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'] }) # Controleer ontbrekende waarden per kolom print(df.isnull().sum()) # Vul numeriek met mediaan (robuust tegen uitschieters) df['sales'] = df['sales'].fillna(df['sales'].median()) # Vul categorisch met modus df['category'] = df['category'].fillna(df['category'].mode()[0]) # Voor tijdreeksen: forward fill df['sales_ffill'] = df['sales'].ffill() ``` Interviewers beoordelen of kandidaten begrijpen dat blind verwijderen van rijen informatie verliest en dat de vulstrategie moet aansluiten bij het analytische doel. ### Vraag 7: Leg het verschil uit tussen merge, join en concat in pandas **Verwacht antwoord:** `merge()` combineert DataFrames op kolommen of indexen (SQL-achtige joins). `join()` is een handige methode voor index-gebaseerde joins. `concat()` stapelt DataFrames verticaal of horizontaal zonder matching. ```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: SQL-achtige join op kolom merged = pd.merge(orders, customers, on='customer_id', how='left') # concat: stapel DataFrames df1 = pd.DataFrame({'A': [1, 2]}) df2 = pd.DataFrame({'A': [3, 4]}) stacked = pd.concat([df1, df2], ignore_index=True) ``` ### Vraag 8: Hoe voer je een group-by operatie uit met meerdere aggregaties? ```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] }) # Meerdere aggregaties met benoemde kolommen result = df.groupby('region').agg( total_sales=('sales', 'sum'), avg_sales=('sales', 'mean'), total_quantity=('quantity', 'sum'), transaction_count=('sales', 'count') ).reset_index() ``` Deze syntax (benoemde aggregatie) werd de standaard in pandas 1.0+ en blijft actueel in pandas 3.0. Interviewers verwachten dat kandidaten deze gebruiken in plaats van de oudere dict-gebaseerde benadering. ### Vraag 9: Schrijf code om de maand-op-maand groeipercentage te berekenen ```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] }) # Bereken procentuele verandering df['mom_growth'] = df['revenue'].pct_change() * 100 # Alternatief: handmatige berekening voor duidelijkheid df['prev_revenue'] = df['revenue'].shift(1) df['growth_manual'] = ((df['revenue'] - df['prev_revenue']) / df['prev_revenue']) * 100 ``` ### Vraag 10: Hoe pivot je data in 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: rows=date, columns=region, values=sales pivot_table = df.pivot(index='date', columns='region', values='sales') # pivot_table voor aggregatie wanneer duplicaten bestaan agg_pivot = pd.pivot_table(df, values='sales', index='date', columns='region', aggfunc='sum') ``` ## Business Analytics en Probleemoplossende Vragen Italiaanse bedrijven, vooral in de financiële sector (Prometeia) en productie (ABB), testen analytisch denken voorbij pure codering. Deze vragen beoordelen hoe kandidaten problemen structureren en bevindingen communiceren. ### Vraag 11: Hoe zou je het succes van een marketingcampagne meten? **Verwacht antwoord:** Definieer KPI's voordat de campagne start. Veelvoorkomende metrics zijn conversieratio, kosten per acquisitie (CPA), return on ad spend (ROAS) en customer lifetime value (CLV). Vergelijk met een controlegroep of historische baseline. Een sterk antwoord omvat: - Baseline metrics vóór campagnestart - Keuze attributiemodel (first-touch, last-touch, multi-touch) - Statistische significantietests voor resultaten - Segmentatie per kanaal, doelgroep of geografie ### Vraag 12: Een productmanager meldt dat de omzet deze maand met 15% is gedaald. Hoe onderzoek je dit? **Verwacht antwoord:** Ontleed het probleem systematisch: 1. **Verifieer de data**: Controleer op datakwaliteitsproblemen, ontbrekende records of rapportagevertraging 2. **Segmentanalyse**: Splits uit per product, regio, klantsegment, kanaal 3. **Isoleer de variabele**: Bepaal of volume is gedaald, prijs is veranderd of mix is verschoven 4. **Externe factoren**: Controleer seizoensgebondenheid, concurrentieacties, economische gebeurtenissen 5. **Correleer met andere metrics**: Websiteverkeer, conversieratio, winkelwagenverlating ### Vraag 13: Leg A/B testing uit en wanneer het niet gebruikt moet worden **Verwacht antwoord:** A/B testing vergelijkt twee varianten (controle vs. behandeling) om causale impact te meten. Het vereist willekeurige toewijzing, voldoende steekproefgrootte en een enkele metric van interesse. A/B testing moet niet gebruikt worden wanneer: - Steekproefgrootte onvoldoende is voor statistische power - De wijziging alle gebruikers beïnvloedt (infrastructuur, prijsstelling) - Netwerkeffecten bestaan (sociale functies waarbij gebruikers elkaar beïnvloeden) - Ethische bezwaren het onthouden van een gunstige wijziging verhinderen ### Vraag 14: Hoe leg je statistische significantie uit aan een niet-technische stakeholder? **Verwacht antwoord:** Statistische significantie betekent dat het waargenomen verschil onwaarschijnlijk door toeval is ontstaan. Een p-waarde onder 0,05 geeft minder dan 5% kans aan dat het resultaat toevallig is. Analogie: een munt 10 keer opgooien en 7 keer kop krijgen kan toeval zijn. 95 keer kop bij 100 worpen is statistisch significant omdat toeval alleen dit niet kan verklaren. ### Vraag 15: Wat is het verschil tussen correlatie en causaliteit? **Verwacht antwoord:** Correlatie meet hoe twee variabelen samen bewegen. Causaliteit betekent dat de ene variabele de andere direct beïnvloedt. IJsverkoop en verdrinkingen correleren (beide nemen toe in de zomer), maar ijs veroorzaakt geen verdrinking. Causaliteit vaststellen vereist: - Temporele voorrang (oorzaak gaat vooraf aan effect) - Correlatie - Eliminatie van verstorende variabelen (gerandomiseerd gecontroleerd experiment) ## Vragen over Technische Vaardigheidsbeoordeling Deze vragen testen specifieke toolvaardigheden die verwacht worden op de Italiaanse markt. ### Vraag 16: Vergelijk Power BI en Tableau voor enterprise analytics Italiaanse bedrijven, met name in banking en utilities, gebruiken veel Power BI vanwege Microsoft-ecosysteemintegratie. Belangrijke verschillen: | Aspect | Power BI | Tableau | |--------|----------|--------| | Kosten | Lager (Office 365 inbegrepen) | Hogere licentiekosten | | Leercurve | Makkelijker voor Excel-gebruikers | Steiler, krachtiger | | Datavoorbereiding | Power Query ingebouwd | Prep vereist aparte tool | | Visualisatie | Goed, verbetert | Best-in-class | | Enterprise-adoptie | Hoger in Italië | Gebruikelijk bij multinationals | ### Vraag 17: Wat is DAX en geef een voorbeeld van een measure **Verwacht antwoord:** DAX (Data Analysis Expressions) is Power BI's formuletaal voor berekeningen. Measures berekenen waarden dynamisch op basis van filtercontext. ``` // Jaar-op-jaar groei measure in 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) ``` ### Vraag 18: Leg ETL uit en het belang ervan in analytics **Verwacht antwoord:** ETL staat voor Extract, Transform, Load. Data beweegt van bronsystemen (ERP, CRM, weblogs) door transformatie (opschonen, aggregatie, joining) naar een datawarehouse voor analyse. Moderne alternatieven omvatten ELT (eerst ruwe data laden, dan transformeren in warehouse) en tools zoals dbt die transformatielogica scheiden van orchestratie. ### Vraag 19: Wat zijn de verschillen tussen OLTP- en OLAP-systemen? | Aspect | OLTP | OLAP | |--------|------|------| | Doel | Transactieverwerking | Analytische queries | | Datamodel | Genormaliseerd (3NF) | Gedenormaliseerd (star/snowflake) | | Querytype | Eenvoudig, frequent | Complex, geaggregeerd | | Datavolume per query | Klein | Groot | | Voorbeelden | Orderinvoer, banking | Datawarehouse, BI-rapporten | ### Vraag 20: Hoe optimaliseer je een trage SQL-query? **Verwacht antwoord:** Volg een systematische aanpak: 1. **Analyseer uitvoeringsplan**: Identificeer full table scans, ontbrekende indexen 2. **Voeg geschikte indexen toe**: Op kolommen in WHERE, JOIN, ORDER BY 3. **Herschrijf inefficiënte patronen**: Vervang gecorreleerde subqueries door JOINs 4. **Beperk data vroeg**: Filter voordat je grote tabellen joint 5. **Gebruik query hints spaarzaam**: Alleen wanneer de optimizer slechte keuzes maakt ```sql -- query_optimization.sql -- Ervoor: gecorreleerde subquery (traag) SELECT * FROM orders o WHERE o.total > (SELECT AVG(total) FROM orders WHERE customer_id = o.customer_id); -- Erna: window function (sneller) SELECT * FROM ( SELECT *, AVG(total) OVER (PARTITION BY customer_id) AS avg_total FROM orders ) sub WHERE total > avg_total; ``` ## Gedrags- en Scenariogebaseerde Vragen Italiaanse interviewers beoordelen culturele fit en communicatievaardigheden naast technische vaardigheden. ### Vraag 21: Beschrijf een situatie waarin je analyse het tegenovergestelde toonde van wat stakeholders verwachtten **Sterke antwoordstructuur:** - Situatie: wat de stakeholders geloofden - Analyse: wat de data werkelijk toonde - Communicatie: hoe bevindingen diplomatisch werden gepresenteerd - Resultaat: welke beslissing werd genomen en de impact ervan Gedragingen waar interviewers op letten: intellectuele eerlijkheid, diplomatieke communicatie en vasthouden aan datagedreven conclusies. ### Vraag 22: Hoe prioriteer je meerdere urgente dataverzoeken? **Verwacht antwoord:** - Beoordeel zakelijke impact van elk verzoek - Verduidelijk deadlines en onderhandel waar mogelijk - Identificeer quick wins vs. diepgaande analyse - Communiceer realistische tijdlijnen proactief - Escaleer resource-beperkingen naar management ### Vraag 23: Hoe waarborg je datakwaliteit in je analyses? **Verwacht antwoord:** - Valideer brondata vóór analyse (null-checks, range-checks, referentiële integriteit) - Documenteer aannames expliciet - Kruisrefereer meerdere databronnen - Implementeer geautomatiseerde datakwaliteitscontroles - Review uitschieters handmatig voordat ze worden uitgesloten ### Vraag 24: Beschrijf je aanpak voor het leren van een nieuwe tool of technologie **Verwacht antwoord:** - Begin met officiële documentatie en tutorials - Bouw een klein project om concepten toe te passen - Word lid van communities (Reddit, Stack Overflow, lokale meetups) - Onderwijs anderen om begrip te verstevigen ## Branchespecifieke Vragen voor de Italiaanse Markt ### Vraag 25: Welke regelgeving beïnvloedt data analytics in Italië? **Verwacht antwoord:** AVG/GDPR is de primaire regelgeving. Belangrijke vereisten omvatten: - Expliciete toestemming voor verwerking van persoonsgegevens - Recht op verwijdering (dataverwijderingsverzoeken) - Dataminimalisatie (alleen noodzakelijke data verzamelen) - Privacy-impactbeoordelingen voor hoog-risico verwerking Sectorspecifiek: Italiaans bankwezen (regelgeving Banca d'Italia), gezondheidszorg (Italiaanse HIPAA-equivalenten), publieke sector (CAD- en AGID-richtlijnen). ### Vraag 26: Hoe ga je om met PII in analytische datasets? **Verwacht antwoord:** - Pseudonimisering: vervang identificatoren door tokens - Aggregatie: rapporteer op groepsniveau, niet individueel - Datamaskering: verberg gevoelige delen (e-mail: a***@gmail.com) - Toegangscontroles: rolgebaseerde machtigingen voor gevoelige data - Retentiebeleid: verwijder data wanneer niet meer nodig ### Vraag 27: Welke ervaring heb je met cloud dataplatforms? Italiaanse bedrijven gebruiken steeds vaker cloudplatforms. Gebruikelijk op de markt: - Google BigQuery (Google Cloud) - Amazon Redshift (AWS) - Azure Synapse (Microsoft-ecosysteemintegratie) - Snowflake (cloud-agnostisch) ### Vraag 28: Hoe communiceer je analytische bevindingen naar executives? **Verwacht antwoord:** - Begin met de aanbeveling, niet de methodologie - Gebruik visualisaties die executives in seconden kunnen interpreteren - Kwantificeer zakelijke impact (omzet, kosten, risico) - Anticipeer op vragen en bereid backup-slides voor - Vermijd jargon; vertaal technische termen ### Vraag 29: Welke metrics zou je volgen voor een e-commerce bedrijf? **Verwacht antwoord:** - **Acquisitie**: verkeersbronnen, kosten per acquisitie - **Gedrag**: bouncepercentage, pagina's per sessie, tijd op site - **Conversie**: conversieratio per funnelfase, winkelwagenverlating - **Retentie**: herhalingsaankooppercentage, customer lifetime value - **Omzet**: gemiddelde orderwaarde, omzet per bezoeker ### Vraag 30: Hoe blijf je op de hoogte van data analytics trends? **Verwacht antwoord:** - Volg branchepublicaties: Towards Data Science, Analytics Vidhya - Neem deel aan Kaggle-competities - Bezoek conferenties: PyData, lokale data science meetups in Milaan of Rome - Lees documentatie voor nieuwe tool-releases - Experimenteer met nieuwe technologieën in persoonlijke projecten ## Voorbereidingsstrategie voor Data Analyst Sollicitaties in Italië 2026 - **SQL-meesterschap**: Oefen op LeetCode Database-problemen en StrataScratch. Italiaanse bedrijven testen JOINs, window functions en CTEs intensief - **Python-vaardigheid**: Voltooi pandas-oefeningen op Kaggle. Focus op dataopschoning en aggregatie - **Toolbekendheid**: Power BI-vaardigheden worden hoog gewaardeerd in Italiaanse ondernemingen. Tableau is gebruikelijk bij multinationale bedrijven - **Zakelijke context**: Bereid voorbeelden voor uit eerder werk die demonstreren hoe zakelijke vragen worden vertaald naar analytische benaderingen - **Italiaanse taal**: Hoewel veel techbedrijven in het Engels werken, verbetert Italiaanse taalvaardigheid de kansen in traditionele sectoren (bankwezen, productie, utilities) --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/nl/blog/data-analytics/data-analyst-interview-questions-italy-2026