Program
Rekayasa data telah menjadi salah satu peran terpenting di industri teknologi, menjadi tulang punggung infrastruktur data bagi perusahaan di seluruh dunia. Seiring perusahaan semakin mengandalkan pengambilan keputusan berbasis data, permintaan akan data engineer yang terampil terus meningkat.
Jika Anda sedang mempersiapkan wawancara rekayasa data, Anda harus menguasai pertanyaan umum dan teknis yang mengevaluasi pengalaman, kemampuan pemecahan masalah, dan keterampilan teknis Anda.
Dalam postingan blog ini, kami menyediakan panduan komprehensif untuk membantu Anda mempersiapkan berbagai tahap wawancara rekayasa data, mulai dari screening HR awal hingga evaluasi teknis mendalam.
Pertanyaan Wawancara HR Awal untuk Data Engineer
Pada putaran wawancara HR awal, manajer HR akan menanyakan pengalaman kerja Anda dan nilai yang Anda bawa ke perusahaan. Tahap ini dirancang untuk menilai latar belakang, keterampilan interpersonal, dan kecocokan umum Anda dengan budaya perusahaan.
1. Mengapa Anda adalah kandidat terbaik untuk posisi ini?
Jika manajer perekrutan memilih Anda untuk wawancara telepon, berarti mereka melihat sesuatu yang mereka sukai dalam profil Anda. Jawab pertanyaan ini dengan percaya diri dan ceritakan pengalaman serta perkembangan karier Anda.
Penting untuk meninjau profil perusahaan dan deskripsi pekerjaan sebelum wawancara. Langkah ini membantu Anda memahami apa yang dicari manajer perekrutan dan menyesuaikan jawaban Anda.
Fokus pada keterampilan dan pengalaman spesifik yang selaras dengan persyaratan pekerjaan, seperti merancang dan mengelola pipeline data, pemodelan, dan proses ETL. Soroti bagaimana kombinasi unik keterampilan, pengalaman, dan pengetahuan Anda membuat Anda menonjol.
2. Apa saja tanggung jawab harian seorang data engineer?
Tidak ada jawaban pasti, namun berbagi pengalaman dari pekerjaan sebelumnya dan merujuk pada deskripsi pekerjaan dapat memberikan respons komprehensif. Secara umum, tanggung jawab harian data engineer meliputi:
- Mengembangkan, menguji, dan memelihara basis data.
- Menciptakan solusi data berdasarkan kebutuhan bisnis.
- Akuisisi dan integrasi data.
- Mengembangkan, memvalidasi, dan memelihara pipeline data untuk proses ETL, pemodelan, transformasi, dan penyajian.
- Mendeploy dan mengelola model machine learning dalam beberapa kasus.
- Menjaga kualitas data dengan membersihkan, memvalidasi, dan memantau aliran data.
- Meningkatkan keandalan, kinerja, dan kualitas sistem.
- Mengikuti tata kelola data dan pedoman keamanan untuk memastikan kepatuhan dan integritas data.
3. Apa hal tersulit yang Anda rasakan dalam menjadi data engineer?
Pertanyaan ini akan bervariasi berdasarkan pengalaman masing-masing, namun tantangan umum meliputi:
- Mengimbangi laju kemajuan teknologi yang cepat dan mengintegrasikan alat baru untuk meningkatkan kinerja, keamanan, keandalan, dan ROI sistem data.
- Memahami dan menerapkan protokol tata kelola data dan keamanan yang kompleks.
- Mengelola rencana pemulihan bencana dan memastikan ketersediaan serta integritas data selama kejadian tak terduga.
- Menyeimbangkan kebutuhan bisnis dengan keterbatasan teknis dan memprediksi permintaan data di masa depan.
- Menangani volume data besar secara efisien dan memastikan kualitas serta konsistensi data.
4. Alat atau kerangka kerja data apa yang Anda kuasai? Adakah yang Anda sukai dibanding lainnya?
Jawaban Anda akan bergantung pada pengalaman Anda. Mengenal alat modern dan integrasi pihak ketiga akan membantu Anda menjawab pertanyaan ini dengan percaya diri. Bahas alat terkait:
- Manajemen basis data (mis., MySQL, PostgreSQL, MongoDB)
- Gudang data (mis., Amazon Redshift, Google BigQuery, Snowflake)
- Orkestrasi data (mis., Apache Airflow, Prefect)
- Pipeline data (mis., Apache Kafka, Apache NiFi)
- Manajemen cloud (mis., AWS, Google Cloud Platform, Microsoft Azure)
- Pembersihan, pemodelan, dan transformasi data (mis., pandas, dbt, Spark)
- Pemrosesan batch dan real-time (mis., Apache Spark, Apache Flink)
Ingat, tidak ada jawaban yang salah untuk pertanyaan ini. Pewawancara menilai keterampilan dan pengalaman Anda.
5. Bagaimana Anda tetap mengikuti tren dan kemajuan terbaru dalam rekayasa data?
Pertanyaan ini menilai komitmen Anda terhadap pembelajaran berkelanjutan dan tetap mutakhir di bidang Anda.
Anda bisa menyebutkan berlangganan newsletter industri, mengikuti blog berpengaruh, berpartisipasi dalam forum dan komunitas online, menghadiri webinar dan konferensi, serta mengikuti kursus online. Soroti sumber atau platform spesifik yang Anda gunakan untuk tetap terinformasi.
6. Bisakah Anda menggambarkan saat Anda harus berkolaborasi dengan tim lintas fungsi untuk menyelesaikan proyek?
Rekayasa data sering melibatkan kerja dengan berbagai tim, termasuk data scientist, analis, dan staf TI.
Bagikan contoh spesifik ketika Anda berhasil berkolaborasi dengan orang lain, tekankan keterampilan komunikasi, kemampuan memahami berbagai perspektif, dan bagaimana Anda berkontribusi pada keberhasilan proyek. Jelaskan tantangan yang Anda hadapi dan bagaimana Anda mengatasinya untuk mencapai hasil yang diinginkan.
Pertanyaan Wawancara Teknis Data Engineer
Rekayasa data sangat teknis, jadi tidak mengherankan jika sebagian besar proses wawancara Anda akan melibatkan pertanyaan dan latihan teknis. Pada bagian ini, kami membahas berbagai jenis pertanyaan dan jawaban teknis, dengan fokus pada tingkat pemula, Python, SQL, berbasis proyek, dan manajerial.
Pertanyaan wawancara junior data engineer
Wawancara level junior berfokus pada alat, Python, dan kueri SQL. Mereka juga dapat mencakup pertanyaan tentang manajemen basis data dan proses ETL, termasuk tantangan coding dan tes take-home.
Saat perusahaan merekrut lulusan baru, mereka ingin memastikan Anda dapat menangani data dan sistem mereka secara efektif.
7. Bisakah Anda menjelaskan skema desain yang relevan untuk pemodelan data?
Ada tiga skema desain pemodelan data utama: star, snowflake, dan galaxy.
- Star schema: Skema ini berisi berbagai tabel dimensi yang terhubung ke tabel fakta pusat. Sederhana dan mudah dipahami, cocok untuk kueri yang lugas.

Contoh star schema. Gambar dari guru99
- Snowflake schema: Perluasan dari star schema, snowflake schema terdiri dari tabel fakta dan beberapa tabel dimensi dengan lapisan normalisasi tambahan, membentuk struktur menyerupai serpihan salju. Ini mengurangi redundansi dan meningkatkan integritas data.

Contoh snowflake schema. Gambar dari guru99
- Galaxy schema: Juga dikenal sebagai fact constellation schema, berisi dua atau lebih tabel fakta yang berbagi tabel dimensi. Skema ini cocok untuk sistem basis data kompleks yang membutuhkan banyak tabel fakta.

Contoh galaxy schema. Gambar dari guru99
8. Alat ETL apa yang pernah Anda gunakan? Mana favorit Anda, dan mengapa?
Saat menjawab, sebutkan alat ETL yang Anda kuasai dan jelaskan mengapa Anda memilih alat tertentu untuk proyek tertentu. Bahas kelebihan dan kekurangan tiap alat serta bagaimana alat tersebut masuk ke alur kerja Anda. Alat open-source populer meliputi:
- dbt (data build tool): Bagus untuk mentransformasi data di warehouse menggunakan SQL.
- Apache Spark: Unggul untuk pemrosesan data skala besar dan batch processing.
- Apache Kafka: Digunakan untuk pipeline data real-time dan streaming.
- Airbyte: Alat integrasi data open-source yang membantu ekstraksi dan loading data.
Jika Anda perlu menyegarkan pengetahuan ETL, pertimbangkan mengikuti kursus Introduction to Data Engineering.
9. Apa itu orkestrasi data, dan alat apa yang dapat Anda gunakan untuk melakukannya?
Orkestrasi data adalah proses otomatis untuk mengakses data mentah dari berbagai sumber, melakukan teknik pembersihan, transformasi, dan pemodelan data, serta menyajikannya untuk tugas analitik. Ini memastikan data mengalir mulus antara berbagai sistem dan tahap pemrosesan.
Alat populer untuk orkestrasi data mencakup:
- Apache Airflow: Banyak digunakan untuk penjadwalan dan pemantauan workflow.
- Prefect: Alat orkestrasi modern dengan fokus pada arus data.
- Dagster: Alat orkestrasi yang dirancang untuk beban kerja intensif data.
- AWS Glue: Layanan ETL terkelola yang menyederhanakan persiapan data untuk analitik.
10. Alat apa yang Anda gunakan untuk analytics engineering?
Analytics engineering melibatkan transformasi data yang telah diproses, menerapkan model statistik, dan memvisualisasikannya melalui laporan serta dashboard.
Alat populer untuk analytics engineering meliputi:
- dbt (data build tool): Digunakan untuk mentransformasi data di warehouse menggunakan SQL.
- BigQuery: Gudang data terkelola penuh dan serverless untuk analitik data skala besar.
- Postgres: Sistem basis data relasional open-source yang andal.
- Metabase: Alat open-source untuk mengajukan pertanyaan tentang data Anda dan menampilkan jawabannya dalam format yang mudah dipahami.
- Google Data Studio: Digunakan untuk membuat dashboard dan laporan visual.
- Tableau: Platform terkemuka untuk visualisasi data.
Alat-alat ini membantu mengakses, mentransformasi, dan memvisualisasikan data untuk memperoleh wawasan bermakna dan mendukung proses pengambilan keputusan.
11. Apa perbedaan antara sistem OLAP dan OLTP?
OLAP (Online Analytical Processing) menganalisis data historis dan mendukung kueri kompleks. Dioptimalkan untuk beban kerja yang dominan baca dan sering digunakan di data warehouse untuk tugas business intelligence. OLTP (Online Transaction Processing) dirancang untuk mengelola data transaksional real-time. Dioptimalkan untuk beban kerja yang dominan tulis dan digunakan di basis data operasional untuk operasi bisnis sehari-hari.
Perbedaan utama terletak pada tujuannya: OLAP mendukung pengambilan keputusan, sedangkan OLTP mendukung operasi harian.
Jika Anda masih ragu, saya sarankan membaca posting blog OLTP vs OLAP.
Pertanyaan wawancara data engineer tentang Python
Python adalah bahasa paling populer dalam rekayasa data karena fleksibilitasnya dan ekosistem pustaka yang kaya untuk pemrosesan data, analisis, dan otomatisasi. Berikut beberapa pertanyaan terkait Python yang mungkin Anda temui dalam wawancara rekayasa data.
12. Pustaka Python mana yang paling efisien untuk pemrosesan data?
Pustaka pemrosesan data paling populer di Python meliputi:
- pandas: Ideal untuk manipulasi dan analisis data, menyediakan struktur data seperti DataFrame.
- NumPy: Esensial untuk komputasi numerik, mendukung array dan matriks multi-dimensi besar.
- Dask: Memfasilitasi komputasi paralel dan dapat menangani komputasi yang lebih besar dari memori dengan sintaks mirip pandas.
- PySpark: API Python untuk Apache Spark, berguna untuk pemrosesan data skala besar dan analitik real-time.
Masing-masing pustaka ini memiliki kelebihan dan kekurangan, dan pilihan bergantung pada kebutuhan data spesifik serta skala tugas pemrosesan.
13. Bagaimana Anda melakukan web scraping di Python?
Web scraping di Python umumnya melibatkan langkah-langkah berikut:
1. Mengakses halaman web menggunakan pustaka requests:
import requests
from bs4 import BeautifulSoup
url = 'http://example.com'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
2. Mengekstrak tabel dan informasi menggunakan BeautifulSoup:
tables = soup.find_all('table')
3. Mengonversinya ke format terstruktur menggunakan pandas:
import pandas as pd
data = []
for table in tables:
rows = table.find_all('tr')
for row in rows:
cols = row.find_all('td')
cols = [ele.text.strip() for ele in cols]
data.append(cols)
df = pd.DataFrame(data)
4. Membersihkan data menggunakan pandas dan NumPy:
df.dropna(inplace=True) # Drop missing values
5. Menyimpan data dalam bentuk file CSV:
df.to_csv('scraped_data.csv', index=False)
Dalam beberapa kasus, pandas.read_html dapat menyederhanakan proses:
df_list = pd.read_html('http://example.com')
df = df_list[0] # Assuming the table of interest is the first one
14. Bagaimana Anda menangani dataset besar di Python yang tidak muat di memori?
Menangani dataset besar yang tidak muat di memori memerlukan penggunaan alat dan teknik yang dirancang untuk komputasi out-of-core:
- Dask: Memungkinkan komputasi paralel dan bekerja dengan dataset lebih besar dari memori menggunakan sintaks mirip pandas.
import dask.dataframe as dd
df = dd.read_csv('large_dataset.csv')
- PySpark: Memungkinkan pemrosesan data terdistribusi, berguna untuk menangani data skala besar.
from pyspark.sql import SparkSession
spark = SparkSession.builder.appName('data_processing').getOrCreate()
df = spark.read.csv('large_dataset.csv', header=True, inferSchema=True)
- Chunking dengan pandas: Membaca dataset besar secara bertahap (chunk).
import pandas as pd
chunk_size = 10000
for chunk in pd.read_csv('large_dataset.csv', chunksize=chunk_size):
process(chunk) # Replace with your processing function
15. Bagaimana Anda memastikan kode Python efisien dan teroptimasi untuk kinerja?
Untuk memastikan kode Python efisien dan teroptimasi, pertimbangkan praktik berikut:
- Profiling: Gunakan alat profiling seperti
cProfile,line_profiler, ataumemory_profileruntuk mengidentifikasi bottleneck pada kode Anda.
import cProfile
cProfile.run('your_function()')
- Vectorization: Gunakan
numpyataupandasuntuk operasi tervektor alih-alih loop.
import numpy as np
data = np.array([1, 2, 3, 4, 5])
result = data * 2 # Vectorized operation
- Struktur data efisien: Pilih struktur data yang sesuai (mis., list, set, dictionary) berdasarkan kasus penggunaan.
data_dict = {'key1': 'value1', 'key2': 'value2'} # Faster lookups compared to lists
- Pemrosesan paralel: Manfaatkan multi-threading atau multi-processing untuk tugas yang dapat diparalelkan.
from multiprocessing import Pool
def process_data(data_chunk):
# Your processing logic here
return processed_chunk
with Pool(processes=4) as pool:
results = pool.map(process_data, data_chunks)
- Menghindari komputasi berulang: Cache hasil operasi mahal jika perlu digunakan kembali.
from functools import lru_cache
@lru_cache(maxsize=None)
def expensive_computation(x):
# Perform expensive computation
return result
16. Bagaimana Anda memastikan integritas dan kualitas data dalam pipeline data Anda?
Integritas dan kualitas data penting untuk rekayasa data yang andal. Praktik terbaik meliputi:
- Validasi data: Terapkan pemeriksaan pada berbagai tahap pipeline data untuk memvalidasi format, rentang, dan konsistensi data.
def validate_data(df):
assert df['age'].min() >= 0, "Age cannot be negative"
assert df['salary'].dtype == 'float64', "Salary should be a float"
# Additional checks...
- Pembersihan data: Gunakan pustaka seperti
pandasuntuk membersihkan dan melakukan praproses data dengan menangani nilai hilang, menghapus duplikat, dan memperbaiki kesalahan.
df.dropna(inplace=True) # Drop missing values
df.drop_duplicates(inplace=True) # Remove duplicates
- Pengujian otomatis: Kembangkan unit test untuk fungsi pemrosesan data menggunakan framework seperti
pytest.
import pytest
def test_clean_data():
raw_data = pd.DataFrame({'age': [25, -3], 'salary': ['50k', '60k']})
clean_data = clean_data_function(raw_data)
assert clean_data['age'].min() >= 0
assert clean_data['salary'].dtype == 'float64'
- Pemantauan dan peringatan: Siapkan pemantauan untuk pipeline data Anda guna mendeteksi anomali dan mengirim peringatan saat muncul masalah kualitas data.
from airflow import DAG
from airflow.operators.dummy_operator import DummyOperator
from airflow.operators.email_operator import EmailOperator
# Define your DAG and tasks...
17. Bagaimana Anda menangani data hilang dalam dataset Anda?
Menangani data hilang adalah tugas umum dalam rekayasa data. Pendekatan meliputi:
- Penghapusan: Hapus baris atau kolom dengan data hilang jika tidak signifikan.
df.dropna(inplace=True)
- Imputasi: Isi nilai hilang dengan ukuran statistik (mean, median) atau gunakan metode yang lebih canggih seperti KNN imputation.
df['column'].fillna(df['column'].mean(), inplace=True)
- Variabel indikator: Tambahkan variabel indikator untuk menandai nilai mana yang hilang.
df['column_missing'] = df['column'].isnull().astype(int)
- Imputasi berbasis model: Gunakan pemodelan prediktif untuk memperkirakan nilai hilang.
from sklearn.impute import KNNImputer
imputer = KNNImputer(n_neighbors=5)
df = pd.DataFrame(imputer.fit_transform(df), columns=df.columns)
18. Bagaimana Anda menangani batasan laju (rate limit) API saat mengambil data di Python?
Untuk menangani rate limit API, ada strategi seperti:
- Backoff dan retry: Menerapkan exponential backoff saat batas tercapai.
- Pagination: Mengambil data dalam potongan yang lebih kecil menggunakan opsi pagination API.
- Caching: Menyimpan respons untuk menghindari pemanggilan API berulang.
Contoh menggunakan pustaka time Python dan modul requests:
import time
import requests
def fetch_data_with_rate_limit(url):
for attempt in range(5): # Retry up to 5 times
response = requests.get(url)
if response.status_code == 429: # Too many requests
time.sleep(2 ** attempt) # Exponential backoff
else:
return response.json()
raise Exception("Rate limit exceeded")
Python tak diragukan lagi adalah salah satu bahasa terpenting dalam rekayasa data. Anda dapat mengasah keterampilan dengan mengikuti track Data Engineer in Python kami, yang mencakup kurikulum komprehensif untuk membekali Anda dengan konsep, bahasa pemrograman, alat, dan kerangka kerja rekayasa data modern.
Pertanyaan wawancara data engineer tentang SQL
Tahap pengkodean SQL merupakan bagian penting dari proses perekrutan data engineer. Berlatih berbagai skrip sederhana dan kompleks dapat membantu Anda bersiap. Pewawancara mungkin meminta Anda menulis kueri untuk analitik data, common table expressions, ranking, menambahkan subtotal, dan fungsi sementara.
19. Apa itu Common Table Expressions (CTE) dalam SQL?
CTE digunakan untuk menyederhanakan join kompleks dan menjalankan subquery. CTE membantu membuat kueri SQL lebih mudah dibaca dan dipelihara. Berikut contoh CTE yang menampilkan semua mahasiswa dengan jurusan Sains dan nilai A:
SELECT *
FROM class
WHERE id IN (
SELECT DISTINCT id
FROM students
WHERE grade = "A"
AND major = "Science"
);
Dengan menggunakan CTE, kuerinya menjadi:
WITH temp AS (
SELECT id
FROM students
WHERE grade = "A"
AND major = "Science"
)
SELECT *
FROM class
WHERE id IN (SELECT id FROM temp);
CTE dapat digunakan untuk masalah yang lebih kompleks dan beberapa CTE dapat dirangkai bersama.
20. Bagaimana Anda melakukan peringkat (rank) data di SQL?
Data engineer umum melakukan peringkat nilai berdasarkan parameter seperti penjualan dan laba. Fungsi RANK() digunakan untuk memberi peringkat data berdasarkan kolom tertentu:
SELECT
id,
sales,
RANK() OVER (ORDER BY sales DESC) AS rank
FROM bill;
Sebagai alternatif, Anda dapat menggunakan DENSE_RANK() yang tidak melewatkan peringkat berikutnya jika nilainya sama.
21. Bisakah Anda membuat fungsi sementara sederhana dan menggunakannya dalam kueri SQL?
Seperti di Python, Anda dapat membuat fungsi di SQL untuk membuat kueri lebih rapi dan menghindari pernyataan case yang berulang. Berikut contoh fungsi sementara get_gender:
CREATE TEMPORARY FUNCTION get_gender(type VARCHAR) RETURNS VARCHAR AS (
CASE
WHEN type = "M" THEN "male"
WHEN type = "F" THEN "female"
ELSE "n/a"
END
);
SELECT
name,
get_gender(type) AS gender
FROM class;
Pendekatan ini membuat kode SQL Anda lebih bersih dan mudah dirawat.
22. Bagaimana Anda menambahkan subtotal di SQL?
Menambahkan subtotal dapat dicapai menggunakan fungsi GROUP BY dan ROLLUP(). Berikut contohnya:
SELECT
department,
product,
SUM(sales) AS total_sales
FROM sales_data
GROUP BY ROLLUP(department, product);
Kueri ini akan memberikan subtotal untuk setiap departemen dan total keseluruhan di akhir.
23. Bagaimana Anda menangani data hilang di SQL?
Menangani data hilang penting untuk menjaga integritas data. Pendekatan umum meliputi:
- Menggunakan
COALESCE(): Fungsi ini mengembalikan nilai pertama yang bukan null dalam daftar.
SELECT id, COALESCE(salary, 0) AS salary FROM employees;
- Menggunakan pernyataan
CASE: Untuk menangani nilai hilang secara kondisional.
SELECT id,
CASE
WHEN salary IS NULL THEN 0
ELSE salary
END AS salary
FROM employees;
24. Bagaimana Anda melakukan agregasi data di SQL?
Agregasi data melibatkan penggunaan fungsi agregat seperti SUM(), AVG(), COUNT(), MIN(), dan MAX(). Berikut contohnya:
SELECT department,
SUM(salary) AS total_salary,
AVG(salary) AS average_salary,
COUNT(*) AS employee_count
FROM employees
GROUP BY department;
25. Bagaimana Anda mengoptimalkan kueri SQL agar kinerjanya lebih baik?
Untuk mengoptimalkan kueri SQL, Anda dapat:
- Menggunakan indeks pada kolom yang sering diquery untuk mempercepat pencarian.
- Menghindari
SELECT *dengan hanya menyebutkan kolom yang diperlukan. - Gunakan join secara bijak dan hindari join yang tidak perlu.
- Mengoptimalkan penggunaan subquery dengan menggantinya dengan CTE jika tepat.
- Menganalisis rencana eksekusi kueri untuk mengidentifikasi bottleneck. Contoh:
EXPLAIN ANALYZE
SELECT customer_id, COUNT(order_id)
FROM orders
GROUP BY customer_id;
Menyelesaikan latihan pengkodean SQL adalah cara terbaik untuk berlatih dan meninjau konsep yang terlupa. Anda dapat menilai keterampilan SQL Anda dengan mengikuti tes Data Analysis in SQL dari DataCamp (Anda memerlukan akun untuk mengakses penilaian ini).
Pertanyaan wawancara data engineer terkait proyek
Setelah putaran wawancara umum, Anda biasanya akan melanjutkan ke tahap teknis yang terdiri dari tantangan coding, pemecahan masalah, desain sistem basis data di papan tulis, ujian take-home, dan pertanyaan analitis.
Tahap ini bisa cukup intens, jadi mengetahui beberapa pertanyaan dan jawaban wawancara rekayasa data yang biasa dapat membantu Anda unggul dalam wawancara.
26. Jelaskan proyek yang Anda kerjakan dari awal hingga akhir.
Jawaban ini seharusnya mengalir alami jika Anda pernah mengerjakan proyek rekayasa data sebagai mahasiswa atau profesional. Meski begitu, tetap berguna untuk mempersiapkan sebelumnya. Berikut cara menyusun jawaban Anda:
- Pendahuluan dan masalah bisnis:
- Mulailah dengan menjelaskan konteks proyek. Uraikan masalah bisnis yang Anda selesaikan dan tujuan proyek.
- Contoh: "Dalam proyek ini, kami bertujuan mengoptimalkan pipeline data untuk memproses data TLC Trip Record guna meningkatkan kinerja kueri dan akurasi data bagi tim analitik."
- Ingesti data:
- Jelaskan bagaimana Anda mengakses dan mengimpor data mentah.
- Contoh: "Kami mengimpor data mentah TLC Trip Record menggunakan GCP, Airflow, dan PostgreSQL untuk memastikan pemasukan data yang andal dari berbagai sumber."
- Pemrosesan dan transformasi data:
- Jelaskan langkah-langkah pembersihan, transformasi, dan penstrukturan data.
- Contoh: "Kami menggunakan Apache Spark untuk pemrosesan batch dan Apache Kafka untuk streaming real-time dalam menangani transformasi data. Data dibersihkan, divalidasi, dan diubah ke format terstruktur yang cocok untuk analisis."
- Penyimpanan dan pergudangan data:
- Bahas solusi penyimpanan data yang digunakan dan alasannya.
- Contoh: "Data yang telah diproses disimpan di Google BigQuery, yang menyediakan solusi pergudangan data yang skalabel dan efisien. Airflow digunakan untuk mengelola workflow data."
- Analytical engineering:
- Soroti alat dan metode yang digunakan untuk tujuan analitis.
- Contoh: "Kami menggunakan dbt (data build tool), BigQuery, PostgreSQL, Google Data Studio, dan Metabase untuk analytical engineering. Alat-alat ini membantu membuat model data yang tangguh dan menghasilkan laporan serta dashboard yang informatif."
- Deployment dan lingkungan cloud:
- Sebutkan strategi deployment dan infrastruktur cloud yang digunakan.
- Contoh: "Seluruh proyek dideploy menggunakan GCP, Terraform, dan Docker, memastikan lingkungan cloud yang skalabel dan andal."
- Tantangan dan solusi:
- Bahas tantangan yang Anda hadapi dan bagaimana Anda mengatasinya.
- Contoh: "Salah satu tantangan utama adalah menangani volume data real-time yang tinggi. Kami mengatasinya dengan mengoptimalkan job streaming Kafka dan menerapkan transformasi Spark yang efisien."
- Hasil dan dampak:
- Tutup dengan menggambarkan hasil dan dampak proyek.
- Contoh: "Proyek ini secara signifikan meningkatkan kinerja kueri dan akurasi data bagi tim analitik, yang menghasilkan pengambilan keputusan lebih cepat dan wawasan yang lebih baik."

Gambar dari DataTalksClub/data-engineering-zoomcamp
Mempersiapkan diri sebelumnya dengan meninjau lima proyek terakhir yang telah Anda kerjakan dapat membantu Anda menghindari kebekuan saat wawancara. Pahami pernyataan masalah dan solusi yang Anda terapkan. Latih menjelaskan setiap langkah dengan jelas dan ringkas.
Pertanyaan wawancara manajer data engineer
Untuk posisi manajer engineering, pertanyaan biasanya terkait pengambilan keputusan, pemahaman bisnis, kurasi dan pemeliharaan dataset, kepatuhan, dan kebijakan keamanan.
27. Apa perbedaan antara data warehouse dan basis data operasional?
Data warehouse menyajikan data historis untuk tugas analitik data dan pengambilan keputusan. Ia mendukung pemrosesan analitik volume tinggi, seperti Online Analytical Processing (OLAP). Data warehouse dirancang untuk menangani kueri kompleks yang mengakses banyak baris dan dioptimalkan untuk operasi yang dominan baca. Mereka mendukung sedikit pengguna bersamaan dan dirancang untuk mengambil data dengan cepat dan dalam volume tinggi secara efisien.
Operational Database Management Systems (OLTP) mengelola dataset dinamis secara real time. Mereka mendukung pemrosesan transaksi volume tinggi untuk ribuan klien bersamaan, sehingga cocok untuk operasi sehari-hari. Datanya biasanya terdiri dari informasi terkini tentang transaksi dan operasi bisnis. Sistem OLTP dioptimalkan untuk operasi yang dominan tulis dan pemrosesan kueri cepat.
28. Mengapa menurut Anda setiap perusahaan yang menggunakan sistem data memerlukan rencana pemulihan bencana?
Manajemen bencana adalah tanggung jawab manajer rekayasa data. Rencana pemulihan bencana memastikan sistem data dapat dipulihkan dan terus beroperasi jika terjadi serangan siber, kegagalan perangkat keras, bencana alam, atau peristiwa katastrofik lainnya. Aspek terkait mencakup:
- Cadangan real-time: Mencadangkan file dan basis data secara berkala ke lokasi penyimpanan yang aman dan offsite.
- Redundansi data: Menerapkan replikasi data di berbagai lokasi geografis untuk memastikan ketersediaan.
- Protokol keamanan: Menetapkan protokol untuk memantau, melacak, dan membatasi lalu lintas masuk dan keluar guna mencegah pelanggaran data.
- Prosedur pemulihan: Prosedur terperinci untuk memulihkan data dan sistem dengan cepat dan efisien guna meminimalkan waktu henti.
- Pengujian dan simulasi: Secara rutin menguji rencana pemulihan bencana melalui simulasi dan drill untuk memastikan efektivitasnya dan melakukan penyesuaian yang diperlukan.
29. Bagaimana pendekatan Anda dalam pengambilan keputusan saat memimpin tim rekayasa data?
Sebagai manajer rekayasa data, pengambilan keputusan melibatkan penyeimbangan pertimbangan teknis dengan tujuan bisnis. Beberapa pendekatan meliputi:
- Keputusan berbasis data: Menggunakan analitik data untuk menginformasikan keputusan, memastikan keputusan didasarkan pada wawasan objektif alih-alih intuisi.
- Kolaborasi pemangku kepentingan: Bekerja erat dengan pemangku kepentingan untuk memahami kebutuhan bisnis dan menyelaraskan upaya rekayasa data dengan tujuan perusahaan.
- Penilaian risiko: Mengevaluasi potensi risiko dan dampaknya terhadap proyek serta mengembangkan strategi mitigasi.
- Metodologi agile: Menerapkan praktik agile untuk beradaptasi dengan perubahan kebutuhan dan memberikan nilai secara bertahap.
- Pendampingan dan pengembangan: Mendukung pertumbuhan anggota tim dengan memberikan mentoring dan peluang pelatihan serta menumbuhkan lingkungan kolaboratif.
30. Bagaimana Anda menangani kepatuhan terhadap regulasi perlindungan data dalam proyek rekayasa data Anda?
Kepatuhan terhadap regulasi perlindungan data melibatkan beberapa praktik, misalnya:
- Memahami regulasi: Tetap mengikuti perkembangan regulasi perlindungan data seperti GDPR, CCPA, dan HIPAA.
- Kerangka tata kelola data: Menerapkan kerangka tata kelola data yang kuat yang mencakup kebijakan privasi data, keamanan, dan kontrol akses.
- Enkripsi data: Mengenkripsi data sensitif saat disimpan maupun saat transit untuk mencegah akses tidak sah.
- Kontrol akses: Menerapkan kontrol akses ketat untuk memastikan hanya personel berwenang yang dapat mengakses data sensitif.
- Audit dan pemantauan: Melakukan audit secara berkala dan memantau akses serta penggunaan data untuk mendeteksi dan menangani masalah kepatuhan dengan cepat.
31. Bisakah Anda menjelaskan proyek rekayasa data menantang yang Anda kelola?
Saat membahas proyek menantang, Anda dapat fokus pada aspek berikut:
- Cakupan dan tujuan proyek: Definisikan dengan jelas tujuan proyek dan masalah bisnis yang ingin dipecahkan.
- Tantangan yang dihadapi: Jelaskan tantangan spesifik seperti keterbatasan teknis, keterbatasan sumber daya, atau masalah penyelarasan pemangku kepentingan.
- Strategi dan solusi: Jelaskan metode Anda untuk mengatasi tantangan ini, termasuk solusi teknis, praktik manajemen tim, dan keterlibatan pemangku kepentingan.
- Hasil dan dampak: Soroti hasil yang berhasil dan dampaknya pada bisnis, seperti peningkatan kualitas data, peningkatan kinerja sistem, atau efisiensi operasional yang lebih tinggi.
32. Bagaimana Anda mengevaluasi dan menerapkan teknologi data baru?
Mengevaluasi dan menerapkan teknologi data baru melibatkan:
- Riset pasar: Mengikuti kemajuan dan tren terbaru dalam teknologi rekayasa data.
- Proof of concept (PoC): Melakukan proyek PoC untuk menguji kelayakan dan manfaat teknologi baru dalam konteks spesifik Anda.
- Analisis biaya-manfaat: Menilai biaya, manfaat, dan potensi ROI dari adopsi teknologi baru.
- Dukungan pemangku kepentingan: Menyajikan temuan dan rekomendasi kepada pemangku kepentingan untuk mendapatkan dukungan.
- Rencana implementasi: Mengembangkan rencana implementasi terperinci yang mencakup lini masa, alokasi sumber daya, dan strategi manajemen risiko.
- Pelatihan dan dukungan: Memberikan pelatihan dan dukungan kepada tim untuk memastikan transisi yang mulus ke teknologi baru.
33. Bagaimana Anda memprioritaskan tugas dan proyek di lingkungan yang serba cepat?
Cara efektif untuk memprioritaskan tugas adalah berdasarkan dampaknya pada tujuan bisnis dan urgensinya. Anda dapat menggunakan kerangka seperti Matriks Eisenhower untuk mengkategorikan tugas ke dalam empat kuadran: mendesak dan penting, penting tetapi tidak mendesak, mendesak tetapi tidak penting, dan tidak keduanya. Selain itu, berkomunikasilah dengan pemangku kepentingan untuk menyelaraskan prioritas dan memastikan tim fokus pada aktivitas bernilai tinggi.
Pertanyaan Wawancara Data Engineer FAANG
Pada bagian ini, kami membahas pertanyaan wawancara rekayasa data yang paling sering ditanyakan oleh manajer Facebook, Amazon, dan Google untuk posisi data engineer.
Pertanyaan Wawancara Data Engineer Facebook
34. Mengapa kita menggunakan cluster di Kafka, dan apa manfaatnya?
Cluster Kafka terdiri dari beberapa broker yang mendistribusikan data ke berbagai instance. Arsitektur ini memberikan skalabilitas dan toleransi kesalahan tanpa waktu henti. Jika cluster utama down, cluster Kafka lain dapat memberikan layanan yang sama, memastikan ketersediaan tinggi.
Arsitektur cluster Kafka terdiri dari Topic, Broker, ZooKeeper, Producer, dan Consumer. Ia menangani aliran data untuk aplikasi big data secara efisien, memungkinkan pembuatan aplikasi berbasis data yang tangguh.
35. Masalah apa yang diatasi oleh Apache Airflow?
Apache Airflow memungkinkan Anda mengelola dan menjadwalkan pipeline untuk workflow analitik, manajemen data warehouse, serta transformasi dan pemodelan data. Airflow menyediakan:
- Manajemen pipeline: Platform untuk mendefinisikan, menjadwalkan, dan memantau workflow.
- Logging terpusat: Memantau log eksekusi di satu tempat.
- Penanganan error: Callback untuk mengirim peringatan kegagalan ke platform komunikasi seperti Slack dan Discord.
- Antarmuka pengguna: UI ramah pengguna untuk mengelola dan memvisualisasikan workflow.
- Integrasi: Integrasi yang kuat dengan berbagai alat dan sistem.
- Open source: Gratis digunakan dan didukung luas oleh komunitas.
Pertanyaan Wawancara Data Engineer Amazon
36. Anda diberi alamat IP sebagai input berupa string. Bagaimana Anda mengetahui apakah itu alamat IP yang valid atau tidak?
Untuk menentukan validitas alamat IP, Anda dapat membagi string pada tanda titik dan membuat beberapa pemeriksaan untuk memvalidasi setiap bagiannya. Berikut fungsi Python untuk melakukannya:
def is_valid(ip):
ip = ip.split(".")
for i in ip:
if len(i) > 3 or int(i) < 0 or int(i) > 255:
return False
if len(i) > 1 and int(i) == 0:
return False
if len(i) > 1 and int(i) != 0 and i[0] == '0':
return False
return True
A = "255.255.11.135"
B = "255.050.11.5345"
print(is_valid(A)) # True
print(is_valid(B)) # False
37. Apa saja mode dalam Hadoop?
Hadoop terutama bekerja dalam tiga mode:
- Standalone mode: Mode ini digunakan untuk tujuan debugging. Tidak menggunakan HDFS dan bergantung pada sistem file lokal untuk input dan output.
- Pseudo-distributed mode: Ini adalah cluster satu node di mana NameNode dan DataNode berada pada mesin yang sama. Utamanya digunakan untuk pengujian dan pengembangan.
- Fully distributed mode: Ini adalah mode siap produksi di mana data didistribusikan di beberapa node, dengan node terpisah untuk daemon master (NameNode) dan slave (DataNode).
Pertanyaan Wawancara Data Engineer Google
38. Bagaimana Anda menangani titik data duplikat dalam kueri SQL?
Untuk menangani duplikat di SQL, Anda dapat menggunakan kata kunci DISTINCT atau menghapus baris duplikat menggunakan ROWID dengan fungsi MAX atau MIN. Berikut contohnya:
Menggunakan DISTINCT:
SELECT DISTINCT Name, ADDRESS
FROM CUSTOMERS
ORDER BY Name;
Menghapus duplikat menggunakan ROWID:
DELETE FROM Employee
WHERE ROWID NOT IN (
SELECT MAX(ROWID)
FROM Employee
GROUP BY Name, ADDRESS
);
39. Diberikan daftar berisi n-1 bilangan bulat, bilangan-bilangan tersebut berada pada rentang 1 hingga n. Tidak ada duplikat dalam daftar. Satu bilangan hilang dari daftar. Bisakah Anda menulis kode efisien untuk menemukan bilangan yang hilang?
Tantangan coding umum ini dapat diselesaikan menggunakan pendekatan matematis:
def search_missing_number(list_num):
n = len(list_num)
# Check if the first or last number is missing
if list_num[0] != 1:
return 1
if list_num[-1] != n + 1:
return n + 1
# Calculate the sum of the first n+1 natural numbers
total = (n + 1) * (n + 2) // 2
# Calculate the sum of all elements in the list
sum_of_L = sum(list_num)
# Return the difference, which is the missing number
return total - sum_of_L
# Validation
num_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13]
print("The missing number is", search_missing_number(num_list)) # The missing number is 12
Cara Mempersiapkan Wawancara Data Engineer
Sebelum mengikuti wawancara, Anda harus meninjau semua konsep dan istilah standar yang digunakan dalam rekayasa data. Berikut beberapa area terpenting yang perlu difokuskan:
- Kuasai SQL: Anda harus berlatih membuat, memodifikasi, dan mengelola basis data. Selain itu, kuasai analitik data, pemodelan, dan transformasi.
- Selesaikan tantangan coding: Selesaikan tantangan coding Python, Scala, atau C++. Sebagian besar perusahaan menilai keterampilan pemrograman dengan memberikan ujian take-home dan tantangan live coding.
- Rancang pipeline ETL: berlatih membuat pipeline data, ETL, atau delivery. Anda harus memahami cara menguji, memvalidasi, menskalakan, dan memelihara pipeline data.
- Analytics engineering: berlatih memuat, mentransformasi, dan analitik data. Pelajari membuat dashboard untuk kualitas data dan kinerja sistem.
- Tinjau pertanyaan potensial: Persiapkan wawancara dengan meninjau contoh pertanyaan tiruan. Pencarian Google sederhana akan memberi Anda akses ke ratusan pertanyaan.
- Pelajari alat rekayasa data modern: meskipun Anda belum berpengalaman dengan alat rekayasa data modern, Anda harus tahu cara kerjanya dan bagaimana integrasinya dengan alat lain. Perusahaan selalu mencari alat yang lebih baik untuk meningkatkan kinerja dengan biaya lebih rendah.
- Pelajari batch processing dan streaming: Apache Spark digunakan untuk batch processing, dan Apache Kafka digunakan untuk data streaming. Alat-alat ini sangat diminati dan akan membantu Anda mendapatkan pekerjaan di perusahaan teratas.
- Lingkungan: Terkadang, pewawancara akan menanyakan tentang komputasi cloud (GCP, AWS, Azure), Docker, scripting, Terraform, dan Kubernetes. Anda dapat menggunakan alat ini untuk menyiapkan sumber daya komputasi dan penyimpanan di cloud atau on-premise. Memahami teknologi ini dan mengintegrasikannya ke dalam proyek portofolio adalah praktik yang baik.
Mempersiapkan wawancara rekayasa data bisa menantang, tetapi dengan sumber daya yang tepat dan latihan, Anda dapat unggul dan meraih pekerjaan impian. Untuk lebih meningkatkan keterampilan dan pengetahuan Anda, lihat sumber berharga berikut:
- Understanding Data Engineering: Dapatkan pemahaman komprehensif tentang konsep dan prinsip rekayasa data.
- Data Engineer in Python: Kuasai rekayasa data dengan Python melalui career track ini, mencakup alat dan kerangka kerja esensial.
- Database Design: Pelajari dasar-dasar desain basis data untuk membuat basis data yang efisien dan skalabel.
Manfaatkan kursus-kursus ini untuk memperkuat fondasi Anda dan tetap selangkah lebih maju dalam karier rekayasa data. Semoga sukses dengan wawancara Anda!
FAQs
Apa yang bisa saya harapkan dari wawancara data engineer?
Anda dapat mengharapkan phone screen HR, phone screen teknis, ujian take-home, tantangan coding, wawancara on-site, desain basis data dan sistem di papan tulis, wawancara SQL, dan akhirnya wawancara “eksekutif” untuk memeriksa kecocokan budaya.
Beberapa perusahaan memiliki tiga tahap wawancara, sementara yang lain memiliki hingga sembilan tahap. Organisasi sering menetapkan ambang masuk yang tinggi untuk menguji kandidat di setiap level.
Apakah data engineer banyak dicari?
Ya, setiap perusahaan yang menghasilkan data membutuhkan data engineer untuk membuat pipeline, mengelola, dan menyampaikan data ke berbagai departemen. Pada 2025, kita akan menghasilkan 463 exabyte data per hari, dan kita akan membutuhkan semakin banyak engineer untuk mengekstrak, mentransformasi, dan mengelola pipeline serta sistem data - weforum.org.
Apakah data engineer menulis kode?
Ya, setiap orang yang terkait dengan bidang TI harus belajar menulis kode, bahkan di tingkat manajerial. Bagi data engineer, Python, SQL, Docker, Yaml, dan Bash adalah bahasa pemrograman yang diperlukan. Bahasa-bahasa ini digunakan dalam infrastruktur sebagai kode, pipeline, manajemen basis data, streaming, web scraping, pemrosesan data, pemodelan, dan analitik.
Apa perbedaan antara data analyst dan data engineer?
Data engineer mengumpulkan, mentransformasi, dan menyiapkan data agar data analyst dapat mengekstrak wawasan bisnis yang berharga. Data engineer mengelola seluruh sistem basis data dan memastikan mereka menyediakan data berkualitas tinggi untuk tugas analisis data seperti laporan analitik, dashboard, riset pelanggan, dan peramalan.
Apa sebenarnya yang dilakukan data engineer?
Mengakuisisi data dari berbagai sumber, membuat, memvalidasi, dan memelihara pipeline data, mentransformasi data menggunakan algoritma, melakukan analytical engineering, memastikan kepatuhan terhadap tata kelola dan keamanan data, serta memelihara seluruh sistem basis data. Mereka bertanggung jawab menyediakan aliran data berkualitas tinggi ke berbagai departemen di perusahaan. Anda dapat mempelajari lebih lanjut tentang rekayasa data dengan membaca blog What is Data Engineering?.
Keterampilan apa yang Anda perlukan untuk menjadi data engineer?
Anda harus menguasai coding, data warehousing, ETL (Extract Transform Load), kueri SQL, analitik dan pemodelan data, pemikiran kritis, dan keterampilan komunikasi. Rekayasa data dipelajari melalui pengalaman dan mengatasi tantangan kompleks di lapangan. Sertifikasi Data Engineering kami adalah langkah yang tepat untuk membangun keterampilan Anda dan meraih peran data engineer.

Sebagai data scientist tersertifikasi, saya bersemangat memanfaatkan teknologi mutakhir untuk menciptakan aplikasi machine learning yang inovatif. Dengan latar belakang kuat di pengenalan ucapan, analisis dan pelaporan data, MLOps, conversational AI, dan NLP, saya mengasah keterampilan dalam mengembangkan sistem cerdas yang berdampak nyata. Selain keahlian teknis, saya juga komunikator andal yang mampu menyederhanakan konsep kompleks menjadi bahasa yang jelas dan ringkas. Karena itu, saya menjadi blogger yang dicari di bidang data science, membagikan wawasan dan pengalaman kepada komunitas profesional data yang terus berkembang. Saat ini, saya berfokus pada pembuatan dan penyuntingan konten, bekerja dengan large language model untuk mengembangkan konten yang kuat dan menarik agar membantu bisnis dan individu memaksimalkan data mereka.
