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.

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.
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.
-- 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 entirelyPewawancara 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.
-- 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.
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.
-- 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.
-- 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.
-- 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 groupsSiap menguasai wawancara Data Analytics Anda?
Berlatih dengan simulator interaktif, flashcards, dan tes teknis kami.
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.
# 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.
# 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?
# 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. Pewawancara mengharapkan kandidat menggunakannya daripada pendekatan berbasis dict yang lebih lama.
Pertanyaan 9: Tulis kode untuk menghitung tingkat pertumbuhan month-over-month
# 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']) * 100Pertanyaan 10: Bagaimana cara pivot data di pandas?
# 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:
- Verifikasi data: Periksa masalah kualitas data, record yang hilang, atau keterlambatan pelaporan
- Analisis segmen: Uraikan berdasarkan produk, wilayah, segmen pelanggan, channel
- Isolasi variabel: Tentukan apakah volume turun, harga berubah, atau mix bergeser
- Faktor eksternal: Periksa musiman, tindakan pesaing, peristiwa ekonomi
- 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 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:
- Analisis execution plan: Identifikasi full table scan, index yang hilang
- Tambahkan index yang sesuai: Pada kolom di WHERE, JOIN, ORDER BY
- Tulis ulang pola yang tidak efisien: Ganti subquery berkorelasi dengan JOIN
- Batasi data lebih awal: Filter sebelum join tabel besar
- Gunakan query hints dengan hemat: Hanya ketika optimizer membuat pilihan buruk
-- 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;Siap menguasai wawancara Data Analytics Anda?
Berlatih dengan simulator interaktif, flashcards, dan tes teknis kami.
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 (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 dan StrataScratch. Perusahaan Italia banyak menguji JOIN, window functions, dan CTE
- Kemahiran Python: Selesaikan latihan pandas di Kaggle. 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)
Mulai berlatih!
Uji pengetahuan Anda dengan simulator wawancara dan tes teknis kami.
Bisakah kamu menemukan bug di Data Analytics?
Satu potongan kode nyata, satu bug tersembunyi, satu percobaan per hari. Tanpa akun untuk mencoba.

Ditulis oleh
Anthony Fillion-MailletPendiri SharpSkill
Developer fullstack selama lebih dari 10 tahun. Ia menjalankan SharpSkill dan bertanggung jawab atas semua yang diterbitkan di sini.
Diperbarui 26 Agustus 2026
Tag
Bagikan
Artikel terkait

Pertanyaan Wawancara Data Analyst 2026: Panduan Lengkap SQL, Python dan Analytics
Panduan komprehensif pertanyaan wawancara data analyst 2026 mencakup SQL window functions, pandas Python, konsep statistik, dan studi kasus bisnis dengan contoh kode praktis.

25 Pertanyaan Wawancara Data Analytics Terpopuler Tahun 2026
Persiapkan wawancara data analyst dengan 25 pertanyaan terpopuler tahun 2026, mencakup SQL, Python, statistik, visualisasi, dan pertanyaan behavioral lengkap dengan contoh kode.

Pandas 3.0 di Tahun 2026: API Baru, Breaking Changes, dan Pertanyaan Wawancara
Panduan lengkap Pandas 3.0 yang membahas Copy-on-Write, PyArrow string backend, pd.col() expressions, breaking changes, dan pertanyaan wawancara data analytics.