# Pertanyaan Wawancara Data Analyst Italia 2026: SQL, Python dan Analytics > 30 pertanyaan wawancara data analyst untuk Italia 2026. Query SQL, Python pandas, dan business analytics dengan jawaban yang diharapkan. - Published: 2026-08-26 - Updated: 2026-08-26 - Author: Anthony Fillion-Maillet - Tags: data-analyst, sql, python, interview, italy - Reading time: 12 min --- Pertanyaan wawancara data analyst di Italia untuk tahun 2026 berfokus pada kemampuan SQL, manipulasi data Python, dan kemampuan menerjemahkan masalah bisnis menjadi solusi analitis. Dengan lebih dari 600 posisi terbuka di Milan, Roma, dan Bologna, perusahaan seperti Prometeia, Bending Spoons, dan ABB mengharapkan kandidat menunjukkan kedalaman teknis dan ketajaman bisnis. > **Spesifikasi Pasar Italia** > > Perusahaan Italia memprioritaskan keterampilan SQL dan Power BI. Kemahiran Python dengan pandas membedakan kandidat, terutama di perusahaan teknologi di Milan. Gaji entry-level berkisar antara €28.000 hingga €39.000, dengan posisi senior mencapai €80.000+. ## Pertanyaan SQL yang Muncul di Setiap Wawancara Data Analyst SQL tetap menjadi fondasi wawancara data analyst di Italia. Manajer perekrutan di perusahaan seperti Italgas dan Philip Morris menguji kandidat tentang JOIN, agregasi, dan window function. Pertanyaan-pertanyaan ini menilai apakah kandidat dapat mengekstrak insight bermakna dari database relasional. ### Pertanyaan 1: Jelaskan perbedaan antara INNER JOIN dan LEFT JOIN dengan contoh praktis **Jawaban yang diharapkan:** INNER JOIN mengembalikan hanya baris yang memiliki kecocokan di kedua tabel. LEFT JOIN mengembalikan semua baris dari tabel kiri ditambah baris yang cocok dari tabel kanan, dengan nilai NULL di mana tidak ada kecocokan. ```sql -- orders_analysis.sql -- Find all customers and their orders (including customers with no orders) 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; -- Result: Customers without orders appear with NULL order_id and order_total -- INNER JOIN would exclude those customers entirely ``` Pewawancara mencari kandidat yang memahami kapan nilai NULL muncul dan dapat menjelaskan konteks bisnis untuk memilih satu jenis join dibanding yang lain. ### Pertanyaan 2: Tulis query untuk menemukan gaji tertinggi kedua dalam sebuah tabel Pertanyaan ini menguji pengetahuan tentang subquery, DISTINCT, dan pembatasan hasil. Ada beberapa pendekatan yang valid. ```sql -- salary_analysis.sql -- Approach 1: Using subquery with MAX SELECT MAX(salary) AS second_highest FROM employees WHERE salary < (SELECT MAX(salary) FROM employees); -- Approach 2: Using 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; ``` Pendekatan window function menangani tie dengan benar. Jika tiga karyawan berbagi gaji tertinggi, DENSE_RANK tetap mengembalikan nilai tertinggi kedua yang sebenarnya. Menggunakan ROW_NUMBER akan mengembalikan hasil berbeda, yang menunjukkan pemahaman tentang [SQL window functions](/technologies/data-analytics/interview-questions/sql-window-functions). ### Pertanyaan 3: Bagaimana cara mengidentifikasi dan menangani record duplikat? **Jawaban yang diharapkan:** Gunakan GROUP BY dengan HAVING COUNT(*) > 1 untuk mengidentifikasi duplikat. Pendekatannya tergantung pada aturan bisnis: simpan record pertama, yang terbaru, atau gabungkan informasi. ```sql -- duplicate_detection.sql -- Find duplicate email addresses SELECT email, COUNT(*) AS occurrence_count FROM users GROUP BY email HAVING COUNT(*) > 1; -- Keep only the earliest record for each email DELETE FROM users WHERE id NOT IN ( SELECT MIN(id) FROM users GROUP BY email ); ``` ### Pertanyaan 4: Jelaskan CTE dan kapan menggunakannya dibanding subquery Common Table Expressions meningkatkan keterbacaan query dan memungkinkan query rekursif. Pewawancara Italia sering meminta kandidat untuk merefaktor subquery kompleks menjadi CTE. ```sql -- revenue_analysis.sql -- CTE for monthly revenue calculation 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 dapat digunakan kembali dalam query yang sama, tidak seperti subquery yang harus diulang. Ini penting untuk query analitis kompleks yang umum dalam peran data analyst. ### Pertanyaan 5: Apa perbedaan antara WHERE dan HAVING? **Jawaban yang diharapkan:** WHERE memfilter baris sebelum agregasi; HAVING memfilter grup setelah agregasi. WHERE tidak dapat mereferensikan fungsi agregat; HAVING bisa. ```sql -- sales_filter.sql -- WHERE filters individual rows SELECT region, SUM(sales) AS total_sales FROM transactions WHERE transaction_date >= '2026-01-01' -- Filter rows first GROUP BY region HAVING SUM(sales) > 100000; -- Then filter aggregated groups ``` ## Pertanyaan Python dan Pandas untuk Posisi Data Analyst Perusahaan teknologi di Milan, khususnya Bending Spoons dan Amazon Italy, mengharapkan kemahiran Python. Pertanyaan-pertanyaan ini menilai keterampilan manipulasi data dengan pandas dan visualisasi dasar. ### Pertanyaan 6: Bagaimana cara menangani nilai yang hilang dalam DataFrame pandas? **Jawaban yang diharapkan:** Pendekatannya tergantung pada tipe data dan konteks bisnis. Opsinya termasuk menghapus baris, mengisi dengan mean/median/mode, forward-filling untuk time series, atau menggunakan interpolasi. ```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'] }) # Check missing values per column print(df.isnull().sum()) # Fill numeric with median (robust to outliers) df['sales'] = df['sales'].fillna(df['sales'].median()) # Fill categorical with mode df['category'] = df['category'].fillna(df['category'].mode()[0]) # For time series: forward fill df['sales_ffill'] = df['sales'].ffill() ``` Pewawancara menilai apakah kandidat memahami bahwa menghapus baris secara membabi buta kehilangan informasi, dan bahwa strategi pengisian harus selaras dengan tujuan analitis. ### Pertanyaan 7: Jelaskan perbedaan antara merge, join, dan concat di pandas **Jawaban yang diharapkan:** `merge()` menggabungkan DataFrame pada kolom atau index (gaya SQL join). `join()` adalah metode praktis untuk join berbasis index. `concat()` menumpuk DataFrame secara vertikal atau horizontal tanpa pencocokan. ```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-style join on column merged = pd.merge(orders, customers, on='customer_id', how='left') # concat: stack DataFrames df1 = pd.DataFrame({'A': [1, 2]}) df2 = pd.DataFrame({'A': [3, 4]}) stacked = pd.concat([df1, df2], ignore_index=True) ``` ### Pertanyaan 8: Bagaimana cara melakukan operasi group-by dengan multiple agregasi? ```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] }) # Multiple aggregations with named columns result = df.groupby('region').agg( total_sales=('sales', 'sum'), avg_sales=('sales', 'mean'), total_quantity=('quantity', 'sum'), transaction_count=('sales', 'count') ).reset_index() ``` Sintaks ini (named aggregation) menjadi standar di pandas 1.0+ dan tetap berlaku di [pandas 3.0](/blog/data-analytics/pandas-3-new-apis-breaking-changes-interview). Pewawancara mengharapkan kandidat menggunakannya daripada pendekatan berbasis dict yang lebih lama. ### Pertanyaan 9: Tulis kode untuk menghitung tingkat pertumbuhan month-over-month ```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] }) # Calculate percentage change df['mom_growth'] = df['revenue'].pct_change() * 100 # Alternative: manual calculation for clarity df['prev_revenue'] = df['revenue'].shift(1) df['growth_manual'] = ((df['revenue'] - df['prev_revenue']) / df['prev_revenue']) * 100 ``` ### Pertanyaan 10: Bagaimana cara pivot data di 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 for aggregation when duplicates exist agg_pivot = pd.pivot_table(df, values='sales', index='date', columns='region', aggfunc='sum') ``` ## Pertanyaan Business Analytics dan Problem-Solving Perusahaan Italia, terutama di bidang keuangan (Prometeia) dan manufaktur (ABB), menguji pemikiran analitis di luar coding murni. Pertanyaan-pertanyaan ini menilai bagaimana kandidat membingkai masalah dan mengkomunikasikan temuan. ### Pertanyaan 11: Bagaimana cara mengukur keberhasilan kampanye marketing? **Jawaban yang diharapkan:** Definisikan KPI sebelum kampanye dimulai. Metrik umum termasuk conversion rate, cost per acquisition (CPA), return on ad spend (ROAS), dan customer lifetime value (CLV). Bandingkan dengan control group atau baseline historis. Jawaban yang kuat mencakup: - Metrik baseline sebelum peluncuran kampanye - Pilihan model atribusi (first-touch, last-touch, multi-touch) - Pengujian signifikansi statistik untuk hasil - Segmentasi berdasarkan channel, audiens, atau geografi ### Pertanyaan 12: Seorang product manager melaporkan bahwa revenue turun 15% bulan ini. Bagaimana cara investigasinya? **Jawaban yang diharapkan:** Dekomposisi masalah secara sistematis: 1. **Verifikasi data**: Periksa masalah kualitas data, record yang hilang, atau keterlambatan pelaporan 2. **Analisis segmen**: Uraikan berdasarkan produk, wilayah, segmen pelanggan, channel 3. **Isolasi variabel**: Tentukan apakah volume turun, harga berubah, atau mix bergeser 4. **Faktor eksternal**: Periksa musiman, tindakan pesaing, peristiwa ekonomi 5. **Korelasi dengan metrik lain**: Lalu lintas website, conversion rate, cart abandonment ### Pertanyaan 13: Jelaskan A/B testing dan kapan tidak boleh digunakan **Jawaban yang diharapkan:** A/B testing membandingkan dua varian (control vs treatment) untuk mengukur dampak kausal. Ini membutuhkan penugasan acak, ukuran sampel yang cukup, dan satu metrik utama. A/B testing tidak boleh digunakan ketika: - Ukuran sampel tidak cukup untuk kekuatan statistik - Perubahan mempengaruhi semua pengguna (infrastruktur, harga) - Ada network effect (fitur sosial di mana pengguna saling mempengaruhi) - Masalah etika mencegah menahan perubahan yang bermanfaat ### Pertanyaan 14: Bagaimana cara menjelaskan signifikansi statistik kepada stakeholder non-teknis? **Jawaban yang diharapkan:** Signifikansi statistik berarti perbedaan yang diamati tidak mungkin terjadi secara kebetulan. P-value di bawah 0.05 menunjukkan kurang dari 5% probabilitas bahwa hasil terjadi secara acak. Analogi: melempar koin 10 kali dan mendapatkan 7 kepala mungkin kebetulan. Mendapatkan 95 kepala dari 100 lemparan adalah signifikan secara statistik karena kebetulan saja tidak dapat menjelaskannya. ### Pertanyaan 15: Apa perbedaan antara korelasi dan kausalitas? **Jawaban yang diharapkan:** Korelasi mengukur bagaimana dua variabel bergerak bersama. Kausalitas berarti satu variabel secara langsung mempengaruhi yang lain. Penjualan es krim dan kematian tenggelam berkorelasi (keduanya meningkat di musim panas), tetapi es krim tidak menyebabkan tenggelam. Menetapkan kausalitas membutuhkan: - Precedence temporal (penyebab mendahului efek) - Korelasi - Eliminasi variabel pengganggu (eksperimen terkontrol acak) ## Pertanyaan Penilaian Keterampilan Teknis Pertanyaan-pertanyaan ini menguji kemahiran tool spesifik yang diharapkan di pasar Italia. ### Pertanyaan 16: Bandingkan Power BI dan Tableau untuk enterprise analytics Perusahaan Italia, terutama di perbankan dan utilitas, banyak menggunakan Power BI karena integrasi ekosistem Microsoft. Perbedaan utama: | Aspek | Power BI | Tableau | |--------|----------|--------| | Biaya | Lebih rendah (termasuk Office 365) | Lisensi lebih tinggi | | Kurva pembelajaran | Lebih mudah untuk pengguna Excel | Lebih curam, lebih powerful | | Persiapan data | Power Query built-in | Prep membutuhkan tool terpisah | | Visualisasi | Bagus, terus meningkat | Terbaik di kelasnya | | Adopsi enterprise | Lebih tinggi di Italia | Umum di perusahaan multinasional | ### Pertanyaan 17: Apa itu DAX dan berikan contoh measure **Jawaban yang diharapkan:** DAX (Data Analysis Expressions) adalah bahasa formula Power BI untuk kalkulasi. Measure menghitung nilai secara dinamis berdasarkan filter context. ``` // Year-over-Year Growth 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) ``` ### Pertanyaan 18: Jelaskan ETL dan pentingnya dalam analytics **Jawaban yang diharapkan:** ETL singkatan dari Extract, Transform, Load. Data berpindah dari sistem sumber (ERP, CRM, web logs) melalui transformasi (pembersihan, agregasi, penggabungan) ke data warehouse untuk analisis. Alternatif modern termasuk ELT (load data mentah dulu, transform di warehouse) dan tools seperti [dbt](/blog/data-analytics/dbt-data-analysts-modeling-testing-interview-2026) yang memisahkan logika transformasi dari orkestrasi. ### Pertanyaan 19: Apa perbedaan antara sistem OLTP dan OLAP? | Aspek | OLTP | OLAP | |--------|------|------| | Tujuan | Pemrosesan transaksi | Query analitis | | Model data | Normalized (3NF) | Denormalized (star/snowflake) | | Tipe query | Sederhana, sering | Kompleks, agregat | | Volume data per query | Kecil | Besar | | Contoh | Entry order, perbankan | Data warehouse, laporan BI | ### Pertanyaan 20: Bagaimana cara mengoptimalkan query SQL yang lambat? **Jawaban yang diharapkan:** Ikuti pendekatan sistematis: 1. **Analisis execution plan**: Identifikasi full table scan, index yang hilang 2. **Tambahkan index yang sesuai**: Pada kolom di WHERE, JOIN, ORDER BY 3. **Tulis ulang pola yang tidak efisien**: Ganti subquery berkorelasi dengan JOIN 4. **Batasi data lebih awal**: Filter sebelum join tabel besar 5. **Gunakan query hints dengan hemat**: Hanya ketika optimizer membuat pilihan buruk ```sql -- query_optimization.sql -- Before: correlated subquery (slow) SELECT * FROM orders o WHERE o.total > (SELECT AVG(total) FROM orders WHERE customer_id = o.customer_id); -- After: window function (faster) SELECT * FROM ( SELECT *, AVG(total) OVER (PARTITION BY customer_id) AS avg_total FROM orders ) sub WHERE total > avg_total; ``` ## Pertanyaan Behavioral dan Berbasis Skenario Pewawancara Italia menilai kecocokan budaya dan keterampilan komunikasi bersamaan dengan kemampuan teknis. ### Pertanyaan 21: Ceritakan saat analisis Anda bertentangan dengan apa yang diharapkan stakeholder **Struktur jawaban yang kuat:** - Situasi: apa yang diyakini stakeholder - Analisis: apa yang sebenarnya ditunjukkan data - Komunikasi: bagaimana temuan dipresentasikan secara diplomatik - Hasil: keputusan apa yang diambil dan dampaknya Perilaku utama yang dicari pewawancara: kejujuran intelektual, komunikasi diplomatik, dan mempertahankan kesimpulan berbasis data. ### Pertanyaan 22: Bagaimana cara memprioritaskan beberapa permintaan data yang mendesak? **Jawaban yang diharapkan:** - Nilai dampak bisnis dari setiap permintaan - Klarifikasi tenggat waktu dan negosiasikan bila memungkinkan - Identifikasi quick wins vs analisis mendalam - Komunikasikan timeline realistis secara proaktif - Eskalasi keterbatasan sumber daya ke manajemen ### Pertanyaan 23: Bagaimana cara memastikan kualitas data dalam analisis? **Jawaban yang diharapkan:** - Validasi data sumber sebelum analisis (null check, range check, referential integrity) - Dokumentasikan asumsi secara eksplisit - Cross-reference beberapa sumber data - Implementasikan pemeriksaan kualitas data otomatis - Review outlier secara manual sebelum mengecualikannya ### Pertanyaan 24: Jelaskan pendekatan untuk mempelajari tool atau teknologi baru **Jawaban yang diharapkan:** - Mulai dengan dokumentasi resmi dan tutorial - Bangun proyek kecil untuk menerapkan konsep - Bergabung dengan komunitas (Reddit, Stack Overflow, meetup lokal) - Ajarkan orang lain untuk memperkuat pemahaman ## Pertanyaan Spesifik Industri untuk Pasar Italia ### Pertanyaan 25: Regulasi apa yang mempengaruhi data analytics di Italia? **Jawaban yang diharapkan:** GDPR adalah regulasi utama. Persyaratan utama meliputi: - Persetujuan eksplisit untuk pemrosesan data pribadi - Hak untuk penghapusan (permintaan penghapusan data) - Minimisasi data (kumpulkan hanya data yang diperlukan) - Penilaian dampak privasi untuk pemrosesan berisiko tinggi Spesifik sektor: Perbankan Italia (regulasi Bank of Italy), kesehatan (undang-undang Italia setara HIPAA), sektor publik (pedoman CAD dan AGID). ### Pertanyaan 26: Bagaimana cara menangani PII dalam dataset analitis? **Jawaban yang diharapkan:** - Pseudonimisasi: ganti identifier dengan token - Agregasi: laporkan pada level grup, bukan individual - Data masking: sembunyikan bagian sensitif (email: a***@gmail.com) - Kontrol akses: izin berbasis peran untuk data sensitif - Kebijakan retensi: hapus data ketika tidak lagi diperlukan ### Pertanyaan 27: Pengalaman apa yang dimiliki dengan platform data cloud? Perusahaan Italia semakin menggunakan platform cloud. Umum di pasar: - [Google BigQuery](/technologies/data-analytics/interview-questions/bigquery-advanced) (Google Cloud) - Amazon Redshift (AWS) - Azure Synapse (integrasi ekosistem Microsoft) - Snowflake (cloud-agnostic) ### Pertanyaan 28: Bagaimana cara mengkomunikasikan temuan analitis kepada eksekutif? **Jawaban yang diharapkan:** - Pimpin dengan rekomendasi, bukan metodologi - Gunakan visualisasi yang dapat diinterpretasikan eksekutif dalam hitungan detik - Kuantifikasi dampak bisnis (revenue, biaya, risiko) - Antisipasi pertanyaan dan siapkan slide cadangan - Hindari jargon; terjemahkan istilah teknis ### Pertanyaan 29: Metrik apa yang akan dilacak untuk bisnis e-commerce? **Jawaban yang diharapkan:** - **Akuisisi**: sumber traffic, cost per acquisition - **Perilaku**: bounce rate, pages per session, time on site - **Konversi**: conversion rate per tahap funnel, cart abandonment - **Retensi**: repeat purchase rate, customer lifetime value - **Revenue**: average order value, revenue per visitor ### Pertanyaan 30: Bagaimana cara tetap update dengan tren data analytics? **Jawaban yang diharapkan:** - Ikuti publikasi industri: Towards Data Science, Analytics Vidhya - Partisipasi dalam kompetisi Kaggle - Hadiri konferensi: PyData, meetup data science lokal di Milan atau Roma - Baca dokumentasi untuk rilis tool baru - Eksperimen dengan teknologi baru pada proyek pribadi ## Strategi Persiapan untuk Wawancara Data Analyst di Italia 2026 - **Penguasaan SQL**: Berlatih di [LeetCode Database problems](https://leetcode.com/problemset/database/) dan StrataScratch. Perusahaan Italia banyak menguji JOIN, window functions, dan CTE - **Kemahiran Python**: Selesaikan latihan pandas di [Kaggle](https://www.kaggle.com/learn/pandas). Fokus pada data cleaning dan agregasi - **Familiar dengan tool**: Keterampilan Power BI sangat dihargai di enterprise Italia. Tableau umum di perusahaan multinasional - **Konteks bisnis**: Siapkan contoh dari pekerjaan sebelumnya yang menunjukkan penerjemahan pertanyaan bisnis menjadi pendekatan analitis - **Bahasa Italia**: Meskipun banyak perusahaan teknologi beroperasi dalam bahasa Inggris, kefasihan Italia meningkatkan peluang di industri tradisional (perbankan, manufaktur, utilitas) --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/id/blog/data-analytics/data-analyst-interview-questions-italy-2026