Lewati ke konten utama

Pertanyaan dan Jawaban Wawancara BigQuery Teratas untuk 2026

Taklukkan wawancara BigQuery Anda dengan panduan pertanyaan wawancara penting dan jawaban ahli ini.
Diperbarui 16 Apr 2026  · 14 mnt baca

Teknologi data warehousing belakangan ini terkonsolidasi menjadi lebih skalabel dan lebih hemat biaya seiring populernya layanan cloud. Salah satu solusi yang paling umum adalah gudang data BigQuery milik Google Cloud Platform.

Survei Stack Overflow 2024 menegaskan peningkatan popularitasnya, dengan tingkat adopsi mencapai 24,1% di kalangan pengguna cloud di seluruh dunia. Permintaan akan keahlian BigQuery meningkat signifikan di berbagai industri, sehingga pemahaman dasar-dasarnya menjadi kebutuhan profesional bagi para praktisi data.

Dalam artikel ini, Anda akan menemukan kumpulan pertanyaan BigQuery yang sering ditanyakan saat wawancara kerja untuk membantu Anda bersiap. Jika Anda baru mulai mempelajari BigQuery, saya sarankan untuk melihat terlebih dahulu panduan tentang Data Warehousing di GCP berikut.

Pertanyaan Wawancara BigQuery Dasar

Mengetahui dasar-dasar BigQuery sebelum membahas topik kompleks sangatlah penting. Pertanyaan-pertanyaan ini menilai pemahaman Anda tentang konsep inti, arsitektur, dan fungsionalitasnya. Jika Anda belum bisa menjawab pertanyaan-pertanyaan berikut, saya mendorong Anda untuk mulai dari awal dengan membaca Panduan Pemula BigQuery dan mengikuti kursus pengantar BigQuery kami.

Apa itu BigQuery, dan bagaimana perbedaannya dari basis data tradisional?

Alasan ditanyakan: Untuk mengevaluasi pemahaman Anda tentang gudang data modern dan keunggulannya dibandingkan basis data tradisional.

BigQuery adalah gudang data terkelola sepenuhnya dan serverless di Google Cloud yang dirancang untuk analitik data skala besar. BigQuery memungkinkan kueri SQL berkecepatan tinggi pada himpunan data masif tanpa perlu mengelola infrastruktur, sehingga pengguna dapat fokus pada insight alih-alih pemeliharaan.

Berbeda dengan basis data relasional on-premises tradisional, yang umumnya berbasis baris dan dibatasi keterbatasan perangkat keras, BigQuery adalah sistem penyimpanan kolumnar native-cloud yang menawarkan skalabilitas nyaris tak terbatas. Arsitektur terdistribusi dan model harga bayar-sesuai-pemakaian membuatnya lebih efisien untuk menangani beban kerja analitik dibandingkan basis data konvensional.

Apa itu dataset di BigQuery?

Alasan ditanyakan: Untuk menguji pengetahuan Anda tentang pengorganisasian data dan struktur BigQuery.

Dataset, di BigQuery, didefinisikan sebagai kontainer tingkat teratas yang mengorganisasi tabel, view, dan sumber daya lainnya. Ini membuka jalan bagi kontrol akses dan penentuan lokasi data. Dengan menstrukturkan data secara efisien, dataset memastikan kinerja kueri dan pengelolaan akses yang lebih baik, menjadikannya komponen fundamental dalam arsitektur BigQuery.

Bagaimana cara memuat data ke BigQuery?

Alasan ditanyakan: Untuk menguji pengetahuan Anda tentang berbagai metode ingest data.

BigQuery menawarkan beberapa metode ingest data untuk tujuan yang berbeda.

  • Mode batch load biasanya digunakan untuk mengunggah himpunan data historis besar ke BigQuery dengan menggunakan antarmuka web BigQuery, alat baris perintah bq, atau panggilan API.
  • Streaming ingestion memungkinkan pemrosesan data secara real time dengan mendorong catatan individual atau batch kecil menggunakan BigQuery Streaming API.
  • Layanan transfer data BigQuery dapat menyederhanakan impor data terjadwal dari Google Cloud Storage, Google Ads, dan sumber SaaS.

Untuk alur kerja ETL lanjutan, Google Cloud Dataflow dan alat pipeline lainnya memfasilitasi perpindahan data tanpa hambatan ke BigQuery. Memilih metode ingest yang paling sesuai bergantung pada volume data, latensi, dan kebutuhan pemrosesan.

Tipe data apa yang didukung BigQuery?

Alasan ditanyakan: Untuk menguji pengetahuan Anda tentang kemampuan penanganan data BigQuery.

BigQuery mendukung beragam tipe data, dikategorikan sebagai:

  • Tipe dasar: BOOL, INT64, FLOAT64, STRING, BYTES, DATE, DATETIME, TIME, TIMESTAMP
  • Tipe kompleks: ARRAY, STRUCT, JSON
  • Tipe khusus: NUMERIC, BIGNUMERIC, INTERVAL, GEOGRAPHY, RANGE

Setiap tipe data memiliki ukuran penyimpanan logis yang ditentukan, yang memengaruhi kinerja kueri dan biaya. Misalnya, penyimpanan STRING bergantung pada panjang yang dikodekan UTF-8, sedangkan ARRAY<INT64> membutuhkan 8 byte per elemen. Memahami tipe-tipe ini membantu mengoptimalkan kueri dan mengelola biaya secara efisien.

Anda dapat melihat semua tipe data yang didukung pada tabel berikut.

Tipe data BigQuery

Tipe data BigQuery. Gambar dari Dokumentasi Google Cloud.

Apa keunggulan utama menggunakan BigQuery?

Alasan ditanyakan: Untuk memastikan Anda memahami manfaat utama menggunakan BigQuery sebagai Data Warehouse.

Menggunakan layanan BigQuery menghadirkan lima manfaat utama dibandingkan solusi yang dikelola sendiri secara tradisional:

  • Skalabilitas: Seluruh investasi perangkat keras ditunda di awal. Ini memungkinkan kita dengan mudah menaikkan atau menurunkan sumber daya sesuai kebutuhan bisnis.
  • Fleksibilitas: Infrastruktur dapat dimodifikasi sesuai kebutuhan bisnis.
  • Keamanan tinggi: Pencadangan otomatis dan fitur pemulihan bencana adalah fitur bawaan solusi cloud seperti GCP.
  • Hemat biaya: Opsi bayar-sesuai-pemakaian memungkinkan pelanggan membayar hanya untuk layanan yang digunakan.
  • Berbagi data dan kolaborasi: Menggunakan layanan berbasis cloud mendorong berbagi data dan kolaborasi.

Keunggulan BigQuery

Keunggulan BigQuery. Gambar oleh Penulis.

Pertanyaan Wawancara Teknis BigQuery

Setelah Anda memahami dasar-dasar BigQuery, saatnya menyelami aspek teknis yang lebih sering dinilai pewawancara.

Pertanyaan-pertanyaan ini melampaui definisi dasar dan menguji kemampuan Anda mengoptimalkan kinerja, mengelola biaya, serta bekerja dengan fitur lanjutan seperti partisi, klastering, dan keamanan.

Apa itu partitioning di BigQuery, dan bagaimana hal itu meningkatkan kinerja?

Alasan ditanyakan: Untuk menilai pengetahuan Anda tentang teknik pengorganisasian data dan dampaknya pada efisiensi kueri.

Partitioning di BigQuery adalah metode membagi tabel besar menjadi potongan-potongan yang lebih mudah dikelola berdasarkan kriteria tertentu seperti tanggal, waktu ingest, atau nilai integer. Dengan membagi data ke dalam partisi, BigQuery dapat membatasi jumlah data yang dipindai saat kueri, sehingga meningkatkan kinerja dan memangkas biaya secara signifikan.

Sebagai contoh, tabel terpartisi yang menyimpan data transaksi harian memungkinkan kueri memfilter rentang tanggal tertentu secara efisien alih-alih memindai seluruh himpunan data. Ini membuat partitioning sangat bermanfaat untuk analisis deret waktu dan beban kerja analitik skala besar.

Apa itu clustering di BigQuery, dan bagaimana hal itu meningkatkan kinerja kueri?

Alasan ditanyakan: Untuk menilai pemahaman Anda tentang strategi pengorganisasian data yang mengoptimalkan efisiensi kueri dan biaya.

Clustering di BigQuery mengacu pada pengorganisasian data di dalam partisi berdasarkan nilai dari satu atau beberapa kolom yang ditentukan. Dengan mengelompokkan baris terkait melalui clustering, BigQuery mengurangi jumlah data yang dipindai, sehingga meningkatkan kinerja kueri dan menurunkan biaya pemrosesan secara keseluruhan.

Cara optimasi ini terbukti sangat efisien saat memfilter, menyortir, atau mengagregasi data berdasarkan kolom terklaster, di mana mesin kueri dapat melewati seluruh data yang tidak relevan alih-alih memindai penuh partisi. Clustering bekerja paling baik bila dipadukan dengan partitioning dan memberikan manfaat kinerja lebih besar saat bekerja dengan himpunan data besar.

Apa perbedaan antara table dan view di BigQuery?

Alasan ditanyakan: Untuk menilai pemahaman Anda tentang struktur data BigQuery dan kasus penggunaannya.

Di BigQuery, tabel adalah unit penyimpanan terstruktur yang secara fisik menampung data, sedangkan view adalah tabel virtual yang secara dinamis mengambil data berdasarkan kueri SQL yang telah ditentukan. Perbedaan utamanya adalah view tidak menyimpan data secara mandiri, namun berfungsi sebagai blok bangunan untuk menulis kueri besar atau menerapkan aturan keamanan seputar akses data dengan memberikan akses ke subset data tanpa menduplikasinya. View juga meningkatkan waktu eksekusi kueri dengan memungkinkan pengguna mengakses kembali data tanpa perlu memuat ulang atau menyusun ulang tabel, sehingga sangat berguna untuk analitik, abstraksi data, dan penegakan keamanan.

Jadi, sederhananya:

  • Sebuah table adalah unit penyimpanan terstruktur yang secara fisik menyimpan data
  • Sebuah view adalah tabel virtual yang secara dinamis mengambil data berdasarkan kueri SQL yang telah ditentukan tanpa menyimpannya

Bagaimana BigQuery menangani keamanan data?

Alasan ditanyakan: Untuk memeriksa pengetahuan Anda tentang keamanan BigQuery beserta perlindungan data sensitif.

BigQuery menerapkan pendekatan berlapis terhadap keamanan data, dimulai dengan model aman yang dirancang untuk melindungi data di semua tingkat siklus hidup data.

  • Data dienkripsi saat tersimpan (at rest) menggunakan kunci enkripsi yang dikelola Google secara default, atau melalui kunci yang dikelola pelanggan jika ingin memegang kendali manajerial atasnya.
  • Data dienkripsi saat transit melalui HTTPS/TLS dan selama transit antara klien dan BigQuery.
  • Identity and Access Management (IAM) memungkinkan kontrol akses yang terperinci dengan menyediakan peran dan penetapan untuk pengguna serta akun layanan guna memastikan hanya pihak berwenang yang dapat mengakses atau mengubah data.
  • Audit logging ditujukan untuk melacak aktivitas pengguna dan sistem dengan memberikan jejak audit yang dapat digunakan untuk pemantauan dan kepatuhan.

Fitur keamanan bawaan ini membantu organisasi menjaga kerahasiaan, integritas, dan kepatuhan regulasi data.

Apa itu BigQuery Data Transfer Service, dan bagaimana cara menyederhanakan ingest data?

Alasan ditanyakan: Untuk menilai pemahaman Anda tentang pergerakan data terotomatisasi dan integrasi di dalam BigQuery.

BigQuery Data Transfer Service (BQ DTS) mengotomatiskan dan menjadwalkan impor data dari berbagai sumber eksternal ke BigQuery, menghilangkan kebutuhan proses ETL manual. Layanan ini terintegrasi secara native dengan layanan Google seperti Google Ads, YouTube, dan Google Cloud Storage, serta aplikasi SaaS pihak ketiga.

Dengan memungkinkan transfer data otomatis dan terjadwal, BQ DTS memastikan data tetap mutakhir untuk analisis tanpa intervensi pengguna. Layanan ini sangat berguna bagi organisasi yang mengelola workflow ingest data berulang dalam skala besar, meningkatkan efisiensi dan mengurangi beban operasional.

Apa itu nested dan repeated fields di BigQuery, dan mengapa keduanya berguna?

Alasan ditanyakan: Untuk menilai pemahaman Anda tentang dukungan BigQuery terhadap data semi-terstruktur dan keunggulannya dibandingkan model relasional tradisional.

BigQuery mendukung nested dan repeated fields, sehingga penyimpanan dan pengkuerian data hierarkis atau berbasis array menjadi lebih efisien. Nested fields menggunakan tipe data STRUCT, memungkinkan sebuah kolom memiliki subkolom, mirip objek JSON.

Repeated fields berfungsi sebagai ARRAY, memungkinkan satu kolom menyimpan banyak nilai. Struktur-struktur ini membantu menghilangkan kebutuhan JOIN kompleks, meningkatkan kinerja kueri, dan membuat BigQuery sangat cocok untuk memproses data semi-terstruktur seperti log, aliran peristiwa, dan dataset ala NoSQL.

Bagaimana cara menjadwalkan dan mengotomatiskan job di BigQuery?

Alasan ditanyakan: Untuk menilai pengetahuan Anda dalam mengotomatiskan eksekusi kueri dan manajemen workflow di BigQuery.

BigQuery menyediakan berbagai metode untuk menjadwalkan dan mengotomatiskan job, memastikan tugas berulang berjalan tanpa intervensi manual.

  • Scheduled queries memungkinkan pengguna mendefinisikan eksekusi kueri berulang langsung melalui antarmuka web BigQuery atau API.
  • Cloud Scheduler menyediakan layanan terkelola penuh seperti cron yang memicu kueri pada interval yang telah ditentukan.
  • Untuk otomasi berbasis peristiwa, Cloud Functions dapat mengeksekusi job BigQuery sebagai respons terhadap pemicu dari layanan Google Cloud lainnya.

Alat otomasi ini membantu merampingkan pipeline data, mengurangi beban kerja manual, dan memastikan pemrosesan data tepat waktu untuk analitik dan pelaporan.

Bagaimana Big Query menangani pemartisian dan pengklasteran data?

Alasan ditanyakan: Untuk menilai pemahaman Anda tentang strategi pengorganisasian data di BigQuery dan dampaknya pada kinerja kueri serta efisiensi biaya.

Partitioning membagi tabel besar menjadi segmen-segmen lebih kecil, meningkatkan kinerja kueri dengan hanya memindai data yang relevan.

  • Berbasis waktu: Berdasarkan DATE, TIMESTAMP, DATETIME (mis., partisi sales_date harian).

  • Rentang Integer: Berdasarkan nilai INTEGER (mis., rentang user_id).

  • Waktu ingest: Berdasarkan timestamp pemuatan data (_PARTITIONDATE).

Paling cocok untuk data deret waktu dan mengurangi biaya kueri saat memfilter berdasarkan tanggal atau rentang numerik.

Clustering mengorganisasi data dalam sebuah tabel atau partisi dengan menyortirnya berdasarkan kolom terpilih, sehingga mempercepat kueri.

Paling cocok untuk memfilter dan mengagregasi berdasarkan kolom yang sering dikueri seperti wilayah atau user_id.

Klaster dan partisi BigQuery

Contoh klaster dan partisi tabel. Gambar oleh Google Cloud.

Pertanyaan Wawancara Arsitektur BigQuery

Bagaimana arsitektur Google BigQuery dirancang, dan apa yang membuatnya unik?

Alasan ditanyakan: Untuk menilai pemahaman Anda tentang arsitektur serverless BigQuery dan bagaimana perbedaannya dari gudang data tradisional.

BigQuery memiliki arsitektur serverless yang sepenuhnya terkelola yang memisahkan penyimpanan dan komputasi, memungkinkan keduanya diskalakan secara independen sesuai permintaan. Berbeda dengan gudang data cloud tradisional atau sistem massively parallel processing (MPP) on-premises, pemisahan ini memberikan fleksibilitas, efisiensi biaya, dan ketersediaan tinggi tanpa mengharuskan pengguna mengelola infrastruktur. Mesin komputasi BigQuery didukung oleh Dremel, klaster multi-penyewa yang mengeksekusi kueri SQL secara efisien, sementara data disimpan di Colossus, sistem penyimpanan terdistribusi global Google. Komponen-komponen ini berkomunikasi melalui Jupiter, jaringan berskala petabit milik Google, yang memastikan transfer data sangat cepat. Seluruh sistem diorkestrasi oleh Borg, sistem manajemen klaster internal Google dan cikal bakal Kubernetes. Arsitektur ini memungkinkan pengguna menjalankan analitik berkinerja tinggi dan skalabel pada himpunan data masif tanpa perlu khawatir mengelola infrastruktur.

Arsitektur BigQuery

Arsitektur Big Query. Gambar oleh Google.

Bagaimana BigQuery memisahkan penyimpanan dan komputasi, dan mengapa ini bermanfaat?

Alasan ditanyakan: Pertanyaan ini menilai pemahaman Anda tentang arsitektur BigQuery, khususnya bagaimana model penyimpanan dan komputasi yang terlepas meningkatkan skalabilitas, efisiensi biaya, dan kinerja.

BigQuery mengikuti arsitektur serverless yang sepenuhnya terkelola di mana penyimpanan dan komputasi benar-benar dipisahkan:

  • Penyimpanan: Data disimpan di Colossus, sistem penyimpanan terdistribusi global Google. Ini memastikan ketersediaan tinggi, durabilitas, dan skalabilitas nyaris tak terbatas tanpa mengharuskan pengguna mengelola infrastruktur.
  • Komputasi: Eksekusi kueri ditangani oleh Dremel, mesin kueri terdistribusi yang secara dinamis mengalokasikan sumber daya komputasi (slot) berdasarkan permintaan beban kerja.

Manfaat utama dari pemisahan penyimpanan-komputasi:

  • Skala independen: Anda dapat menskalakan penyimpanan tanpa memengaruhi komputasi dan sebaliknya.
  • Efisiensi biaya: Anda hanya membayar data yang dipindai selama kueri, menghindari biaya komputasi yang tidak perlu.
  • Kinerja optimal: Kueri berjalan lebih cepat karena penyimpanan tidak menjadi hambatan bagi komputasi.
  • Penyimpanan multi-wilayah: Data dapat disimpan di berbagai lokasi tanpa memengaruhi kecepatan kueri.

Desain ini memungkinkan BigQuery memproses kueri berskala petabyte secara efisien sambil menjaga biaya tetap rendah, menjadikannya pilihan ideal untuk analitik berbasis cloud.

Fleksibilitas arsitektural ini krusial saat industri mengalihkan fokus ke daya komputasi masif. Seperti disampaikan dalam podcast DataFramed mengenai tren data 2025:

Sudah pasti ada taruhan yang diambil semua pemain besar. Mereka membangun lebih banyak komputasi, sehingga tahun depan mereka akan melakukan penskalaan melalui komputasi yang lebih besar. Lalu pertanyaannya, apakah ada lebih banyak data? Di sinilah menjadi lebih bernuansa. Dan saya pikir ini sebuah spektrum. Tidak hitam putih.

Jonathan CornelissenCo-founder & CEO of DataCamp

Apa itu Dremel, dan bagaimana Dremel memungkinkan kinerja kueri cepat di BigQuery?

Alasan ditanyakan: Untuk menilai pengetahuan Anda tentang Dremel, mesin kueri dasar BigQuery, dan bagaimana model eksekusi kolumnar berbasis pohon memungkinkannya melakukan analitik data berkinerja tinggi.

Dremel adalah mesin eksekusi kueri terdistribusi yang menggerakkan BigQuery. Berbeda dengan basis data tradisional yang menggunakan pemrosesan berbasis baris, Dremel menggunakan format penyimpanan kolumnar dan model eksekusi kueri berbasis pohon untuk mengoptimalkan kecepatan dan efisiensi.

Bagaimana Dremel Memungkinkan Kueri Cepat:

  • Penyimpanan Kolumnar: Alih-alih membaca seluruh baris, Dremel hanya memindai kolom yang diperlukan, mengurangi jumlah data yang diproses.
  • Eksekusi Berbasis Pohon: Kueri dipecah menjadi fragmen dan dieksekusi secara paralel di ribuan node. Hasil diagregasi dalam struktur pohon hierarkis, meminimalkan latensi.
  • Alokasi Sumber Daya Serverless: Dremel secara dinamis menetapkan slot komputasi ke kueri berdasarkan kompleksitasnya, memastikan pemanfaatan sumber daya yang efisien.

Manfaat Utama Dremel:

  • Kueri sangat cepat pada himpunan data berskala petabyte.
  • Pemrosesan hemat biaya dengan hanya memindai kolom yang relevan.
  • Paralelisasi otomatis untuk beban kerja besar tanpa penyetelan manual.

Anda dapat mempelajari lebih lanjut tentang Dremel di dokumentasi resmi Google.

Bagaimana cara kerja denormalisasi di BigQuery, dan kapan sebaiknya digunakan?

Alasan ditanyakan: Untuk menilai pemahaman Anda tentang strategi pemodelan data dan dampaknya pada kinerja kueri di basis data analitik.

Denormalisasi di BigQuery secara sengaja memperkenalkan redundansi dengan menggabungkan tabel dan menduplikasi data untuk mengoptimalkan kinerja kueri. Berbeda dengan normalisasi, yang meminimalkan redundansi melalui tabel-tabel kecil yang saling terkait, denormalisasi mengurangi kebutuhan JOIN kompleks, menghasilkan waktu baca yang lebih cepat. Pendekatan ini sangat berguna dalam data warehousing dan analitik, di mana operasi baca lebih sering daripada tulis. Namun, denormalisasi meningkatkan kebutuhan penyimpanan, itulah sebabnya BigQuery merekomendasikan penggunaan nested dan repeated fields untuk menstrukturkan data terdenormalisasi secara efisien sembari meminimalkan overhead penyimpanan.

Strategi normalisasi BigQuery

Perbandingan berbagai strategi normalisasi data. Gambar oleh Google Cloud.

Pertanyaan Khusus SQL

Setelah Anda memahami arsitektur dan teknik optimasi BigQuery, area krusial berikutnya adalah kemahiran SQL. SQL adalah tulang punggung dalam bekerja dengan BigQuery, dan pewawancara sering menguji kemampuan Anda menulis, mengoptimalkan, dan menelusuri masalah kueri. Untuk lebih siap, saya mendorong Anda untuk mengikuti kursus SQL di DataCamp.

Bagaimana Anda melakukan operasi JOIN di BigQuery?

Alasan ditanyakan: Untuk menilai kemampuan Anda menggabungkan data dari beberapa tabel menggunakan operasi SQL JOIN.

BigQuery mendukung berbagai jenis JOIN untuk menggabungkan data dari beberapa tabel berdasarkan kolom bersama. Misalnya, untuk mengambil detail produk beserta informasi penjualannya, Anda dapat menggunakan INNER JOIN antara TABEL SALES dan TABEL PRODUCT pada Product_Id:

SELECT 
    s.Id AS Sales_Id, 
    p.Product, 
    p.Price, 
    s.Purchase_date
FROM sales_table s
JOIN product_table p 
    ON s.Product_Id = p.Id;

Untuk detail tambahan, seperti tanggal pengiriman, Anda dapat melakukan join dengan TABEL DELIVERY:

SELECT 
    s.Id AS Sales_Id, 
    p.Product, 
    p.Price, 
    s.Purchase_date, 
    d.Deliver_date
FROM sales_table s
JOIN product_table p ON s.Product_Id = p.Id
JOIN delivery_table d ON s.Id = d.Sales_Id;

Tulis kueri SQL untuk memilih 10 produk termahal.

Alasan ditanyakan: Untuk menilai kemampuan Anda mengambil dan menyortir data secara efisien.

Untuk menemukan 10 produk termahal, gunakan ORDER BY untuk menyortir berdasarkan harga menurun dan LIMIT untuk membatasi hasil:

SELECT 
    Product, 
    Price 
FROM product_table
ORDER BY Price DESC
LIMIT 10;

Tulis kueri SQL untuk menghitung rata-rata jumlah penjualan per bulan.

Alasan ditanyakan: Untuk menilai kemampuan Anda melakukan agregasi berbasis waktu.

Untuk menghitung rata-rata jumlah penjualan per bulan, gunakan fungsi EXTRACT untuk mengelompokkan penjualan berdasarkan bulan dan COUNT untuk menghitung jumlah penjualan per bulan:

SELECT 
    EXTRACT(MONTH FROM Purchase_date) AS Month, 
    COUNT(Id) AS Total_Sales, 
    AVG(COUNT(Id)) OVER () AS Average_Sales
FROM sales_table
GROUP BY Month;

Tulis kueri SQL untuk menemukan total jumlah pengiriman per produk.

Alasan ditanyakan: Untuk menilai kemampuan Anda mengagregasi data menggunakan GROUP BY dan COUNT.

Untuk menghitung jumlah pengiriman untuk setiap produk:

SELECT 
    p.Product, 
    COUNT(d.Id) AS Total_Deliveries
FROM delivery_table d
JOIN product_table p 
    ON d.Product_Id = p.Id
GROUP BY p.Product;

Tulis kueri SQL untuk menemukan total jumlah pengiriman untuk setiap produk.

Alasan ditanyakan: Untuk menilai kemampuan Anda memfilter data berbasis waktu.

Untuk mendapatkan catatan penjualan dari 30 hari terakhir:

SELECT * 
FROM sales_table
WHERE Purchase_date >= DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY);

Tulis kueri SQL untuk menghitung jumlah produk unik yang terjual dalam seminggu terakhir.

Untuk menghitung produk distinct yang terjual dalam 7 hari terakhir:

SELECT COUNT(DISTINCT Product_Id) AS Unique_Products_Sold
FROM sales_table
WHERE Purchase_date >= DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY);

Tulis kueri SQL untuk mengelompokkan data penjualan berdasarkan produk dan menghitung total pendapatan masing-masing.

Alasan ditanyakan: Untuk menguji kemampuan Anda menggunakan GROUP BY dan mengagregasi penjualan.

Untuk menghitung total pendapatan per produk:

SELECT 
    p.Product, 
    SUM(p.Price) AS Total_Revenue
FROM sales_table s
JOIN product_table p 
    ON s.Product_Id = p.Id
GROUP BY p.Product;

Tulis kueri SQL untuk menghitung persentase total penjualan yang disumbangkan oleh tiap produk.

Alasan ditanyakan: Untuk menilai kemampuan Anda menghitung persentase menggunakan SQL.

Untuk menentukan persentase total penjualan per produk:

SELECT 
    p.Product, 
    SUM(p.Price) AS Product_Sales,
    (SUM(p.Price) / (SELECT SUM(Price) FROM product_table)) * 100 AS Sales_Percentage
FROM sales_table s
JOIN product_table p 
    ON s.Product_Id = p.Id
GROUP BY p.Product;

Tulis kueri SQL untuk memberi peringkat produk berdasarkan total penjualan.

Alasan ditanyakan: Untuk menilai kemampuan Anda menggunakan fungsi jendela untuk perankingan.

Untuk memberi peringkat produk berdasarkan total penjualan:

SELECT 
    p.Product, 
    SUM(p.Price) AS Total_Sales, 
    RANK() OVER (ORDER BY SUM(p.Price) DESC) AS Sales_Rank
FROM sales_table s
JOIN product_table p 
    ON s.Product_Id = p.Id
GROUP BY p.Product;

Tulis kueri SQL untuk menghitung rata-rata waktu pengiriman untuk setiap produk.

Alasan ditanyakan: Untuk menilai kemampuan Anda bekerja dengan selisih tanggal di SQL.

Untuk menghitung rata-rata waktu pengiriman per produk:

SELECT 
    p.Product, 
    AVG(DATE_DIFF(d.Deliver_date, s.Purchase_date, DAY)) AS Avg_Delivery_Time
FROM sales_table s
JOIN delivery_table d 
    ON s.Id = d.Sales_Id
JOIN product_table p 
    ON s.Product_Id = p.Id
GROUP BY p.Product;

Pertanyaan Lanjutan dan Berbasis Skenario

Di luar pengetahuan dasar dan kemahiran SQL, keterampilan pemecahan masalah dunia nyata sangat krusial untuk bekerja dengan BigQuery dalam skala besar.

Pertanyaan wawancara lanjutan sering berfokus pada penanganan himpunan data besar, pengoptimalan kinerja, pengelolaan pipeline data, dan penelusuran masalah umum di lingkungan produksi.

Bisakah Anda menjelaskan pengalaman Anda dalam menerapkan pipeline data di BigQuery?

Alasan ditanyakan: Untuk menilai pengetahuan praktis Anda dalam membangun, mengelola, dan mengoptimalkan pipeline data di BigQuery, termasuk ingest, transformasi, orkestrasi, dan pemantauan.

Pewawancara mencari wawasan tentang pengalaman langsung Anda dalam merancang dan menerapkan pipeline data di BigQuery. Anda sebaiknya membahas:

  • Ingest data: Metode yang digunakan (BigQuery Data Transfer Service, Cloud Storage, streaming ingestion).
  • Transformasi data: Penggunaan transformasi berbasis SQL, kueri terjadwal, atau alat seperti Dataflow dan dbt.
  • Orkestrasi: Bagaimana Anda mengelola workflow pipeline menggunakan Cloud Composer (Apache Airflow), Cloud Functions, atau Cloud Scheduler.
  • Pemantauan dan optimasi: Bagaimana Anda melacak kinerja pipeline, men-debug masalah, dan mengoptimalkan biaya kueri.

Jawaban yang kuat sebaiknya mencakup contoh dunia nyata tantangan yang Anda hadapi dan bagaimana Anda mengatasinya, seperti menangani himpunan data besar, mengoptimalkan kinerja kueri, atau memastikan integritas data dalam pipeline produksi.

Beberapa sumber yang baik untuk mengimplementasikan proyek seperti ini adalah:

Bagaimana Anda menghapus catatan duplikat dari sebuah kolom di tabel BigQuery besar sambil mempertahankan nama tabel?

Alasan ditanyakan: Untuk menilai kemampuan Anda menangani data duplikat secara efisien di BigQuery tanpa mengubah struktur tabel.

Saat menangani tabel berisi jutaan baris dan nilai duplikat pada kolom tertentu, pendekatan terbaik adalah menggunakan fungsi jendela ROW_NUMBER() untuk mengidentifikasi dan mempertahankan hanya kemunculan pertama dari setiap duplikasi sambil menghapus sisanya.

Anda dapat mencapainya dengan menimpa tabel menggunakan versi yang sudah dide-duplikasi melalui pernyataan CREATE OR REPLACE TABLE:

CREATE OR REPLACE TABLE tableX AS 
SELECT * EXCEPT(row_number)
FROM (
    SELECT *, 
           ROW_NUMBER() OVER (PARTITION BY troubleColumn ORDER BY someOtherColumn) AS row_number 
    FROM tableX
) 
WHERE row_number = 1;

Begini cara kerjanya:

  • ROW_NUMBER() memberikan nomor baris unik untuk setiap catatan dalam nilai troubleColumn yang sama, memastikan hanya satu catatan per grup duplikat yang dipertahankan.

  • Klausa PARTITION BY troubleColumn mengelompokkan baris berdasarkan duplikasi pada kolom tersebut.

  • Klausa ORDER BY someOtherColumn (mis., Purchase_date) memastikan catatan tertentu yang dipertahankan.

  • Kueri luar hanya memfilter kemunculan pertama (row_number = 1), sehingga duplikasi terhapus.

  • Pernyataan CREATE OR REPLACE TABLE memastikan tabel tetap dengan nama yang sama sambil menggantinya dengan data yang telah dibersihkan.

Pendekatan ini secara efisien menghilangkan duplikasi tanpa membuat tabel baru atau memengaruhi struktur tabel secara keseluruhan.

Bagaimana Anda menggunakan BigQuery untuk visualisasi data dan pelaporan, dan alat apa yang paling umum untuk itu?

Alasan ditanyakan: Untuk menilai kemampuan Anda mengintegrasikan BigQuery dengan alat visualisasi dan mengomunikasikan insight secara efektif melalui pelaporan.

BigQuery berfungsi sebagai backend yang kuat untuk visualisasi dan pelaporan data, memungkinkan koneksi langsung dengan alat seperti Google Looker Studio (sebelumnya Data Studio), Tableau, dan Power BI.

Alat-alat ini memungkinkan pengguna mengkueri data secara real time dan membuat dasbor, bagan, dan laporan kustom tanpa ekspor data manual. Teknik kunci untuk visualisasi meliputi:

  • Mengagregasi dan mentransformasi data di BigQuery menggunakan SQL sebelum visualisasi.
  • Membangun dasbor interaktif dengan filter dinamis dan kemampuan drill-down.
  • Mengoptimalkan kueri dan materialized view untuk meningkatkan kinerja dasbor.

Jawaban yang kuat sebaiknya menyoroti kasus penggunaan dunia nyata, seperti:

  • Melacak KPI bisnis
  • Memantau tren
  • Menghasilkan laporan otomatis

Untuk mengimplementasikan proyek Visualisasi Data Anda sendiri, Anda dapat mengikuti proyek khusus DataCamp tentang Menganalisis Kebiasaan Pengisian Daya Kendaraan Listrik dan Menjelajah Jaringan Transportasi London dengan BigQuery.

Pertanyaan tentang Praktik Terbaik dan Optimasi BigQuery

Bekerja secara efisien dengan BigQuery tidak hanya soal menulis kueri SQL—ini juga mencakup mengoptimalkan kinerja, mengelola biaya, dan menerapkan praktik terbaik untuk memastikan operasi data berjalan mulus. Karena BigQuery beroperasi dengan model bayar-sesuai-pemakaian, memahami cara meminimalkan pemindaian data, memanfaatkan partitioning dan clustering, serta mengoptimalkan eksekusi kueri sangat penting untuk kinerja dan efisiensi biaya.

Apa praktik terbaik untuk mengelola biaya BigQuery secara efisien?

Alasan ditanyakan: Untuk menilai kemampuan Anda mengoptimalkan efisiensi biaya saat bekerja dengan himpunan data besar di BigQuery.

Untuk mengelola biaya BigQuery secara efektif, Anda sebaiknya:

  • Optimalkan kueri untuk hanya memindai kolom dan baris yang diperlukan, hindari SELECT *.

  • Gunakan tabel terpartisi dan terklaster untuk meminimalkan pemindaian data dan meningkatkan kinerja kueri.

  • Manfaatkan alat pemantauan biaya seperti anggaran, peringatan, dan kebijakan kontrol biaya di Google Cloud.

  • Manfaatkan reservasi slot untuk harga yang lebih prediktif dan penghematan biaya.

  • Secara berkala bersihkan tabel dan partisi yang tidak digunakan untuk mengoptimalkan biaya penyimpanan.

Strategi pengelolaan biaya yang terstruktur dengan baik membantu mengendalikan pengeluaran sembari menjaga eksekusi kueri yang efisien.

Apa praktik terbaik untuk mengoptimalkan kinerja kueri di BigQuery?

Alasan ditanyakan: Untuk menilai kemampuan Anda menulis kueri efisien yang mengurangi waktu eksekusi dan biaya.

Untuk mengoptimalkan kinerja kueri di BigQuery:

  • Rancang skema yang efisien, pilih tipe data yang sesuai dan hindari normalisasi berlebihan.

  • Gunakan partitioning dan clustering untuk mengurangi jumlah data yang dipindai.

  • Hindari SELECT *, ambil hanya kolom yang diperlukan.

  • Optimalkan operasi JOIN dan GROUP BY, pastikan mengikuti praktik terbaik untuk kueri skala besar.

  • Manfaatkan caching dan materialized view untuk menyimpan hasil prakomputasi dan meningkatkan kinerja.

  • Gunakan fungsi agregasi aproksimasi, seperti APPROX_COUNT_DISTINCT, saat ketelitian absolut tidak diperlukan.

Dengan mengikuti praktik ini, Anda dapat mempercepat kueri, mengurangi biaya komputasi, dan meningkatkan efisiensi keseluruhan.

Apa itu slot BigQuery, dan bagaimana pengaruhnya terhadap kinerja kueri?

Alasan ditanyakan: Untuk menilai pemahaman Anda tentang sumber daya komputasi BigQuery dan dampaknya pada eksekusi kueri.

Slot BigQuery adalah unit kapasitas komputasi yang digunakan untuk memproses kueri SQL. Slot dialokasikan secara dinamis berdasarkan kebutuhan beban kerja, memastikan pemanfaatan sumber daya yang efisien. Organisasi dapat memilih antara:

  • Slot on-demand, yang secara otomatis diskalakan berdasarkan kebutuhan kueri.
  • Slot terreservasi, yang memberikan kinerja lebih prediktif dan penghematan biaya untuk beban kerja yang konsisten.

Pengelolaan slot yang efisien dapat mengurangi waktu eksekusi kueri, mengoptimalkan alokasi sumber daya, dan menurunkan biaya keseluruhan.

Bagaimana Anda dapat memantau dan mengoptimalkan biaya BigQuery secara efektif?

Alasan ditanyakan: Untuk menilai kemampuan Anda melacak dan mengendalikan pengeluaran BigQuery.

Untuk memantau dan mengoptimalkan biaya di BigQuery:

  • Analisis eksekusi kueri menggunakan riwayat kueri dan rencana EXPLAIN untuk mengidentifikasi operasi yang mahal.
  • Aktifkan audit log untuk melacak pola penggunaan dan mendeteksi kueri yang tidak efisien.
  • Siapkan anggaran dan peringatan biaya untuk mencegah pengeluaran tak terduga.
  • Optimalkan penggunaan slot, manfaatkan slot terreservasi untuk beban kerja stabil guna mengurangi biaya.
  • Secara berkala bersihkan tabel dan partisi yang tidak digunakan untuk menghindari biaya penyimpanan yang tidak perlu.

Dengan menerapkan strategi-strategi ini, Anda dapat memastikan pemrosesan data yang hemat biaya sembari mempertahankan kinerja dan skalabilitas.

Tips Tambahan untuk Sukses dalam Wawancara BigQuery Anda

Berikut beberapa tips terakhir untuk sukses dalam wawancara BigQuery Anda yang akan datang.

Kuasai fundamental. Pahami arsitektur BigQuery, termasuk desain serverless, pemisahan penyimpanan-komputasi, dan mesin kueri Dremel dengan kursus pengantar BigQuery kami. Pelajari dataset, tabel, view, dan materialized view untuk mengelola dan menstrukturkan data secara efisien. Tutorial SQL materialized view kami akan membantu.

Asah keterampilan SQL & optimasi kueri. Latih fungsi SQL spesifik BigQuery (ARRAY, STRUCT, fungsi jendela) untuk kueri kompleks dengan code-along Getting Started with BigQuery kami. Optimalkan kueri dengan partitioning, clustering, dan fungsi aproksimasi untuk mengurangi biaya dan meningkatkan kinerja berdasarkan dokumentasi resmi Google.

Dapatkan pengalaman langsung. Kerjakan proyek dunia nyata menggunakan dataset publik dan bangun laporan dengan Looker Studio, Tableau, atau Power BI melalui proyek DataCamp. Mencoba Menganalisis Kebiasaan Pengisian Daya Kendaraan Listrik dan Menjelajah Jaringan Transportasi London adalah cara yang bagus untuk meningkatkan keterampilan SQL Anda.


Josep Ferrer's photo
Author
Josep Ferrer
LinkedIn
Twitter

Josep adalah Data Scientist freelance yang berfokus pada proyek-proyek Eropa, dengan keahlian dalam penyimpanan data, pemrosesan, analitik lanjutan, dan penyusunan narasi data yang berdampak. 

Sebagai pendidik, ia mengajar Big Data di program Magister di University of Navarra dan berbagi wawasan melalui artikel di platform seperti Medium, KDNuggets, dan DataCamp. Josep juga menulis tentang Data dan Teknologi dalam buletin Databites (databites.tech). 

Ia meraih gelar Sarjana di bidang Fisika Teknik dari Polytechnic University of Catalonia dan gelar Magister di bidang Intelligent Interactive Systems dari Pompeu Fabra University.

FAQs

Apa itu BigQuery, dan bagaimana perbedaannya dari basis data tradisional?

BigQuery adalah gudang data terkelola sepenuhnya dan serverless di Google Cloud yang dirancang untuk analitik data skala besar. Berbeda dengan basis data relasional on-premises tradisional, yang umumnya berbasis baris dan dibatasi oleh perangkat keras, BigQuery adalah sistem penyimpanan kolumnar native-cloud yang menawarkan skalabilitas nyaris tak terbatas. Arsitektur terdistribusi dan model harga bayar-sesuai-pemakaian membuatnya lebih efisien untuk menangani beban kerja analitik dibandingkan basis data konvensional.

Apa keunggulan utama menggunakan BigQuery?

BigQuery menawarkan lima keunggulan utama: (1) Skalabilitas – secara otomatis menskalakan sumber daya naik atau turun, (2) Fleksibilitas – infrastruktur beradaptasi dengan kebutuhan bisnis, (3) Keamanan Tinggi – enkripsi dan kontrol akses bawaan, (4) Hemat biaya – harga bayar-sesuai-pemakaian, dan (5) Berbagi data serta kolaborasi – solusi berbasis cloud memungkinkan akses tanpa hambatan di seluruh tim.

Apa itu partitioning di BigQuery, dan bagaimana hal itu meningkatkan kinerja?

Partitioning di BigQuery membagi tabel besar menjadi potongan kecil yang mudah dikelola berdasarkan kriteria seperti tanggal, waktu ingest, atau nilai numerik. Ini meningkatkan kinerja kueri dengan hanya memindai partisi yang relevan alih-alih seluruh tabel, mengurangi biaya dan waktu eksekusi kueri. Sangat bermanfaat untuk analisis deret waktu dan himpunan data besar.

Apa perbedaan antara table dan view di BigQuery?

Tabel secara fisik menyimpan data, sedangkan view adalah tabel virtual yang secara dinamis mengambil data berdasarkan kueri SQL yang telah ditentukan. View membantu menyederhanakan kueri kompleks, menegakkan kontrol akses data, dan meningkatkan waktu eksekusi kueri tanpa menduplikasi data.

Bagaimana BigQuery menangani keamanan data?

BigQuery menerapkan beberapa lapisan keamanan: (1) Enkripsi data saat tersimpan dan saat transit, (2) Identity and Access Management (IAM) untuk kontrol akses yang terperinci, (3) Audit logging untuk memantau penggunaan dan kepatuhan, dan (4) Kunci enkripsi yang dikelola pelanggan untuk kontrol keamanan yang lebih ditingkatkan.

Topik

Belajar bersama DataCamp

Kursus

Memahami Cloud Computing

2 Hr
224K
Pengantar cloud computing tanpa pemrograman, mencakup konsep utama, terminologi, dan alat.
Lihat DetailRight Arrow
Mulai Kursus
Lihat Lebih BanyakRight Arrow
Terkait

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

12 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

Lihat Lebih BanyakLihat Lebih Banyak