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 Italia 2026

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.

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

Siap 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.

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. 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:

AspekPower BITableau
BiayaLebih rendah (termasuk Office 365)Lisensi lebih tinggi
Kurva pembelajaranLebih mudah untuk pengguna ExcelLebih curam, lebih powerful
Persiapan dataPower Query built-inPrep membutuhkan tool terpisah
VisualisasiBagus, terus meningkatTerbaik di kelasnya
Adopsi enterpriseLebih tinggi di ItaliaUmum 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.

text
// 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?

AspekOLTPOLAP
TujuanPemrosesan transaksiQuery analitis
Model dataNormalized (3NF)Denormalized (star/snowflake)
Tipe querySederhana, seringKompleks, agregat
Volume data per queryKecilBesar
ContohEntry order, perbankanData 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;

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.

Tantangan harian

Bisakah kamu menemukan bug di Data Analytics?

Satu potongan kode nyata, satu bug tersembunyi, satu percobaan per hari. Tanpa akun untuk mencoba.

Anthony Fillion-Maillet

Ditulis oleh

Anthony Fillion-Maillet

Pendiri 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

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

Bagikan

Artikel terkait