Kursus
Mengingat popularitas PostgreSQL, besar kemungkinan peran yang Anda lamar memerlukan kefasihan PostgreSQL. Untuk membantu Anda selama proses wawancara, artikel ini akan memberikan gambaran umum pertanyaan dan jawaban PostgreSQL paling umum untuk semua tingkat.
Wawancara biasanya dimulai dari pertanyaan yang lebih dasar dan umum hingga yang lebih kompleks. Tingkat senioritas juga berpengaruh, artinya pertanyaan wawancara akan secara keseluruhan lebih sulit jika Anda melamar peran yang lebih tingkat lanjut.
Terakhir, penting untuk tetap singkat saat menjawab pertanyaan. Lebih baik langsung ke inti daripada bertele-tele, karena hal itu dapat memunculkan pertanyaan baru dari pewawancara yang mungkin tidak Anda kuasai. Jangan khawatir: Anda akan punya banyak waktu untuk menunjukkan kemampuan sepanjang wawancara maupun pada tahap-tahap selanjutnya dari proses lamaran.
Mari kita mulai!
15 Pertanyaan Wawancara PostgreSQL Tingkat Pemula Teratas
1. Apa itu PostgreSQL?
PostgreSQL adalah sistem manajemen basis data relasional yang ringan, gratis, dan open-source. PostgreSQL digunakan luas di berbagai wilayah dan perusahaan serta dapat digunakan di sebagian besar sistem operasi populer.
2. Apa saja manfaat PostgreSQL?
PostgreSQL unggul dibanding database SQL lainnya karena beberapa alasan, termasuk:
- Keandalan yang membuatnya cocok untuk semua jenis aplikasi,
- Gratis dan open-source,
- Keamanan dan reliabilitas,
- Beragam tipe data,
- Komunitas pengguna besar di seluruh dunia.
3. Apa saja aplikasi utama PostgreSQL?
PostgreSQL memungkinkan Anda untuk:
- Membuat, menghapus, dan memperbarui tabel dalam sebuah basis data,
- Mengakses, memanipulasi, dan memodifikasi data dalam tabel,
- Mengambil dan meringkas informasi yang diperlukan dari satu atau beberapa tabel,
- Menambahkan atau menghapus baris atau kolom tertentu dari sebuah tabel
4. Apa itu operasi CRUD dalam PostgreSQL?
CRUD (Create, Read, Update, Delete) adalah operasi dasar dalam sistem basis data SQL mana pun, termasuk PostgreSQL. Operasi CRUD sering digunakan dalam perancangan dan pengelolaan basis data.
5. Apa itu basis data dalam PostgreSQL?
Seperti dalam dialek SQL lainnya, basis data adalah ruang penyimpanan terstruktur tempat data disimpan dalam banyak tabel dan diatur agar informasi yang diperlukan dapat dengan mudah diambil, dimanipulasi, dan diringkas.
6. Apa itu pgAdmin dalam PostgreSQL?
pgAdmin adalah utilitas praktis yang disertakan dalam instalasi PostgreSQL, dan memungkinkan Anda melakukan tugas-tugas terkait basis data secara rutin melalui antarmuka grafis yang nyaman.
7. Bagaimana cara membuat basis data baru di PostgreSQL?
PostgreSQL menggunakan perintah standar CREATE DATABASE untuk membuat basis data baru. Namun detailnya sangat penting. Ada banyak hal yang perlu dipertimbangkan saat membuat basis data, itulah sebabnya kami menyiapkan Kursus Creating PostgreSQL Databases untuk membantu Anda.
8. Bagaimana cara menambahkan nilai baru ke tabel tertentu?
PostgreSQL menggunakan pernyataan standar INSERT INTO untuk menambahkan data ke tabel SQL Anda.
9. Bagaimana cara menghapus basis data di PostgreSQL?
Untuk menghapus basis data di PostgreSQL, gunakan perintah DROP DATABASE.
10. Apa itu skema dalam PostgreSQL?
Skema basis data berisi konfigurasi logis dan visual dari seluruh basis data relasional. Dalam PostgreSQL, ini mencakup tabel beserta tipe data, view, indeks, sequence, constraint, dan fungsi.
11. Bagaimana cara memilih lima baris pertama dalam tabel bernama ‘customers’ di PostgreSQL?
Anda dapat mengambil data tersebut menggunakan kueri berikut:
SELECT * FROM customers LIMIT 5;
12. Apa itu constraint dalam PostgreSQL?
Sekumpulan kondisi yang mendefinisikan jenis data yang dapat diinput ke setiap kolom dari sebuah tabel. Constraint digunakan untuk memastikan integritas data dalam tabel dan mencegah tindakan yang tidak diinginkan.
13. Apa itu join dalam PostgreSQL?
Join digunakan untuk menggabungkan dan mengambil rekaman dari dua atau beberapa tabel. PostgreSQL menggunakan join SQL standar untuk melakukan operasi semacam ini.
14. Dapatkah Anda menjelaskan apa itu primary key dalam PostgreSQL?
Primary key digunakan untuk mengidentifikasi sebuah baris secara unik dalam tabel. Primary key dapat terdiri dari satu kolom atau beberapa kolom. Primary key dapat diklasifikasikan sebagai jenis constraint.
15. Apakah PostgreSQL kompatibel dengan Python?
Ya, ada banyak paket yang memungkinkan Anda menggunakan PostgreSQL melalui Python. Psycopg adalah salah satu pustaka Python paling populer untuk PostgreSQL. Ingin tahu cara menggunakan PostgreSQL melalui Python? Baca artikel terpisah kami Tutorial Menggunakan PostgreSQL di Python: Membuat, Menghubungkan, dan Mengelola Basis Data.
15 Pertanyaan Wawancara PostgreSQL Tingkat Menengah
16. Apa perbedaan antara foreign key dan primary key dalam PostgreSQL?
Foreign key menyediakan kunci yang dibagikan antara dua atau lebih tabel, sedangkan primary key hanya mengizinkan nilai yang unik dan benar-benar tidak boleh null. Keduanya dianggap sebagai jenis constraint.
17. Apa saja constraint utama dalam PostgreSQL?
PostgreSQL menyediakan constraint berikut:
- Check Constraint
- Not-Null Constraint
- Unique Constraint
- Primary Key
- Foreign Key
- Exclusion Constraint
18. Berapa versi terbaru PostgreSQL?
Per Januari 2024, versi terbaru adalah PostgreSQL 16.
19. Bisakah Anda menjalankan PostgreSQL di cloud?
Ya, PostgreSQL kompatibel dan dapat dijalankan di sebagian besar penyedia cloud populer, termasuk AWS, Azure, dan Google Cloud.
20. Apa itu PL/Python dalam PostgreSQL?
PostgreSQL menyediakan dukungan untuk bahasa prosedural yang dikenal sebagai PL/Python. Ini memungkinkan Anda menulis fungsi dan prosedur SQL menggunakan Python.
21. Apa itu Multi-version Concurrency Control dalam PostgreSQL?
Multi-version Concurrency Control atau MVCC adalah teknik lanjutan di PostgreSQL. Ini meningkatkan kinerja basis data dalam skenario multi-pengguna. Artinya, saat melakukan kueri ke basis data, setiap transaksi melihat snapshot data (sebuah versi basis data) seperti beberapa waktu yang lalu, terlepas dari keadaan data dasar saat ini. Ini melindungi transaksi dari melihat data tidak konsisten yang dapat disebabkan oleh pembaruan transaksi konkurens (lain) pada baris data yang sama.
Sederhananya, MVCC membuat beberapa versi dari satu rekaman basis data, sehingga berbagai transaksi dapat mengakses versi berbeda dari satu rekaman tanpa saling bertentangan, sehingga memungkinkan transaksi simultan.
22. Berapa ukuran maksimum untuk sebuah tabel di PostgreSQL?
Meskipun PostgreSQL menyediakan ukuran basis data tanpa batas, ada ukuran maksimum untuk tabel, yaitu 32 TB.
23. Apa saja operator utama dalam PostgreSQL?
Jenis operator utama yang tersedia di PostgreSQL adalah:
- Operator aritmetika
- Operator logika
- Operator perbandingan
- Operator bitwise
24. Apa itu indeks dalam PostgreSQL?
Indeks adalah struktur data khusus yang terkait dengan sebuah tabel dan digunakan untuk menyimpan bagian-bagian pentingnya serta memungkinkan pencarian dan pengambilan data yang lebih cepat. Hal ini dicapai dengan membuat struktur data terurut yang memungkinkan PostgreSQL menemukan baris lebih cepat dibanding pemindaian tabel penuh. Indeks sangat efisien untuk basis data besar, di mana indeks secara signifikan meningkatkan kinerja kueri.
25. Apa itu partisi dalam PostgreSQL?
Ini adalah proses membagi tabel besar menjadi bagian-bagian yang lebih kecil. Ini dapat dilakukan melalui beberapa metode, termasuk range partitioning, list partitioning, dan hash partitioning.
26. Apa 4 properti utama dari sebuah transaksi di PostgreSQL? Akronim apa yang digunakan untuk merujuknya?
Transaksi di PostgreSQL diharapkan bersifat atomic, consistent, isolated, dan durable. Properti ini biasa dirujuk dengan akronim ACID.
27. Apa itu Write-Ahead Logging dalam PostgreSQL?
Write-ahead logging adalah teknik yang digunakan untuk memastikan integritas data basis data PostgreSQL. Write-ahead logging memastikan bahwa setiap perubahan dan tindakan dalam basis data dicatat dalam log transaksi sebelum pemutakhiran atau modifikasi basis data. Jika terjadi kerusakan basis data, ini membantu menyediakan catatan perubahan basis data.
28. Jenis join apa saja yang tersedia dalam PostgreSQL?
Dalam PostgreSQL, join utama adalah:
- INNER JOIN: Mengembalikan rekaman yang memiliki nilai yang cocok di kedua tabel
- LEFT JOIN: Mengembalikan semua rekaman dari tabel kiri, dan rekaman yang cocok dari tabel kanan
- RIGHT JOIN: Mengembalikan semua rekaman dari tabel kanan, dan rekaman yang cocok dari tabel kiri
- FULL JOIN: Mengembalikan semua rekaman ketika ada kecocokan di tabel kiri atau kanan
29. Apa itu fungsi dalam PostgreSQL?
Fungsi, juga dikenal sebagai Stored Procedure, memungkinkan Anda membungkus dalam satu prosedur beberapa operasi yang biasanya memerlukan beberapa kueri. Itu dapat digunakan kembali kapan saja, sehingga membantu pengguna menghemat waktu. Untuk mengetahui lebih lanjut tentang fungsi PostgreSQL, lihat Kursus Functions for Manipulating Data in PostgreSQL
30. Apa itu view dalam PostgreSQL?
View merepresentasikan hasil dari sebuah kueri ke satu atau lebih tabel dasar. View digunakan untuk menyederhanakan kueri kompleks karena kueri tersebut didefinisikan sekali dalam view, dan kemudian dapat langsung diquery melalui view yang sama.
15 Pertanyaan Wawancara PostgreSQL Tingkat Lanjut dan Teknis
31. Apa itu normalisasi dalam PostgreSQL?
Normalisasi basis data adalah proses di mana basis data dan tabel dibuat atau dimodifikasi untuk mengatasi ketidakefisienan terkait penyimpanan data, modifikasi data, atau proses pengkuerian. Sederhananya, normalisasi melibatkan beberapa langkah untuk mengurangi redundansi dan kompleksitas data.
32. Apa itu trigger dalam PostgreSQL?
Trigger, juga dikenal sebagai fungsi callback, adalah spesifikasi bahwa basis data harus secara otomatis menjalankan fungsi tertentu setiap kali jenis operasi tertentu dilakukan. Trigger dapat didefinisikan untuk dijalankan sebelum atau sesudah operasi INSERT, UPDATE, atau DELETE, baik sekali per baris yang dimodifikasi, atau sekali per pernyataan SQL. Jika peristiwa trigger terjadi, fungsi trigger dipanggil pada waktu yang tepat untuk menangani peristiwa tersebut. Trigger membantu memastikan integritas data selama modifikasi basis data.
33. Bagaimana cara membuat cadangan basis data di PostgreSQL?
Membuat cadangan basis data Anda di PostgreSQL cukup sederhana. Ada berbagai metode untuk melakukan cadangan di PostgreSQL, termasuk:
- SQL dump
- Cadangan pada level sistem berkas
- Cadangan daring (on-line)
34. Untuk apa metode pg_dump digunakan?
Metode pg_dump memungkinkan Anda membuat berkas teks berisi serangkaian perintah SQL yang, ketika dijalankan di server PostgreSQL, akan membuat ulang basis data dalam keadaan yang sama seperti pada saat dump dilakukan.
35. Bagaimana cara menghapus sebuah tabel, serta objek lain yang terkait dengannya, seperti view, trigger, fungsi, dan stored procedure?
Untuk menghapus tabel di PostgreSQL, gunakan perintah DROP TABLE, diikuti nama tabelnya. Untuk memastikan bahwa objek lain yang terkait juga dihapus, Anda perlu menambahkan perintah CASCADE.
36. Apa manfaat partisi?
Partisi memungkinkan membagi sebuah tabel menjadi partisi yang lebih kecil dan lebih mudah dikelola, yang berdampak pada peningkatan kinerja kueri. Ini sangat cocok saat menangani tabel berukuran besar.
37. Apa cara tercepat untuk menghapus semua baris dalam tabel besar?
Ada dua cara utama untuk menghapus baris dalam sebuah tabel: perintah DELETE dan perintah TRUNCATE. Yang pertama dirancang untuk menghapus baris secara lebih selektif dan memerlukan pemindaian penuh terhadap tabel. Yang kedua dengan cepat menghapus semua baris dan mengosongkan ruang disk tanpa memerlukan pemindaian tabel. Oleh karena itu, perintah TRUNCATE adalah yang paling sesuai.
38. Perintah apa yang digunakan untuk mengontrol transaksi di PostgreSQL?
Ada 3 perintah utama untuk mengontrol transaksi di PostgreSQL:
- BEGIN TRANSACTION atau cukup BEGIN: Untuk memulai transaksi.
- COMMIT atau END TRANSACTION: Untuk menyimpan perubahan. Perintah COMMIT menyimpan semua transaksi ke basis data sejak perintah COMMIT atau ROLLBACK terakhir.
- ROLLBACK: Digunakan untuk membatalkan transaksi yang belum disimpan ke basis data.
39. Bagaimana keamanan dijamin dalam PostgreSQL?
PostgreSQL adalah salah satu basis data SQL yang paling aman. Keamanan ditangani pada beberapa tingkat:
- Koneksi dari klien ke server basis data, secara default, hanya diizinkan melalui soket Unix lokal
- Koneksi klien dapat dibatasi berdasarkan alamat IP dan/atau nama pengguna.
- Koneksi klien dapat diautentikasi melalui paket eksternal lainnya.
- Setiap pengguna di Postgres diberi nama pengguna dan (opsional) kata sandi.
- Pengguna dapat ditetapkan ke grup, dan akses tabel dapat dibatasi berdasarkan hak istimewa grup.
40. Bayangkan Anda memiliki tabel besar berisi suhu harian historis di New York. Strategi paling efektif apa untuk melakukan partisi tabel?
Saat menangani data deret waktu, strategi paling efektif adalah range partitioning, yang memungkinkan pemecahan tabel berdasarkan rentang nilai tetap. Dalam kasus ini, partisi yang paling mungkin adalah berdasarkan hari.
41. Apa itu parallel querying dalam PostgreSQL?
Parallel querying adalah teknik di PostgreSQL yang memungkinkan Anda membuat rencana kueri yang dapat memanfaatkan banyak CPU untuk menjawab kueri secara lebih efisien. Teknik ini sangat cocok ketika kueri melibatkan pemindaian banyak data tetapi mengembalikan sedikit baris, misalnya perhitungan agregat.
42. Bagaimana cara meningkatkan kinerja kueri di PostgreSQL?
Ada banyak strategi untuk meningkatkan kinerja kueri, termasuk:
- Menggunakan pengindeksan, terutama pada kueri yang melibatkan klausa WHERE;
- Menulis pernyataan SQL yang efisien untuk mengurangi overhead pemrosesan, misalnya dengan menghindari kolom yang tidak perlu dalam pernyataan SELECT.
- Menerapkan partisi untuk tabel besar.
- Mengoptimalkan penggunaan memori dengan menyetel parameter server agar sesuai dengan spesifikasi perangkat keras.
Terutama saat menangani basis data berukuran besar, meningkatkan kinerja kueri sangat penting untuk menghindari kemacetan yang tidak diinginkan. Lihat Kursus Improving Query Performance in PostgreSQL untuk menjadi ahli kueri.
43. Dalam skenario apa perintah EXPLAIN ANALYZE bisa berguna?
Perintah EXPLAIN menunjukkan rencana eksekusi dari sebuah pernyataan SQL. Ini mencakup cara tabel yang dirujuk dalam pernyataan Anda akan diproses, algoritma yang mendasari yang akan digunakan untuk operasi kompleks seperti join, serta perkiraan waktu eksekusi.
Jika selain waktu perkiraan Anda juga ingin mengetahui waktu aktual yang diperlukan, Anda dapat menambahkan perintah ANALYZE, dan pernyataan tersebut akan benar-benar dieksekusi, bukan hanya direncanakan.
Secara keseluruhan, perintah EXPLAIN ANALYZE sangat berguna untuk menemukan bottleneck dalam kueri kompleks sehingga Anda dapat menulis ulang untuk meningkatkan kinerja kueri
44. Bagaimana cara menangani error di PostgreSQL?
Ada dua cara utama untuk menangani error di PostgreSQL:
- Fungsi callback dapat dikembangkan untuk menangani kondisi peringatan dan error. Dalam hal ini, Anda dapat menentukan perilaku tertentu jika terjadi error dan peringatan dalam kueri Anda menggunakan perintah WHENEVER.
- Informasi terperinci tentang error atau peringatan dapat diperoleh dari variabel sqlca. Variabel ini menyediakan informasi terperinci saat error dan peringatan muncul selama eksekusi.
45. Apa relevansi log untuk pemecahan masalah di PostgreSQL?
Log PostgreSQL adalah sumber daya berharga untuk memecahkan masalah, melacak kinerja, dan mengaudit aktivitas basis data. PostgreSQL memiliki beragam log, termasuk log error. Log ini dapat membantu Anda menemukan kueri dan pernyataan yang menyebabkan error selama eksekusi.
Di Luar Keterampilan Teknis
Memiliki pengetahuan PostgreSQL yang kuat akan krusial untuk lulus wawancara. Namun ingat bahwa wawancara juga menjadi kesempatan untuk menguji keterampilan lain di luar yang teknis. Pada akhirnya, keberhasilan sebuah proyek data science tidak hanya bergantung pada kode, tetapi juga pada orang-orang yang menulis kode tersebut.
Itulah mengapa menunjukkan soft skill yang solid, seperti pendekatan pemecahan masalah, komunikasi, dan kerja tim dalam peran teknis, akan secara signifikan meningkatkan peluang Anda mendapatkan posisi tersebut.
Karenanya, bersiaplah menghadapi pertanyaan perilaku, seperti bagaimana menghadapi tenggat waktu, suasana tidak kondusif dalam tim, dan klien yang menuntut. Skenario ini tidak hanya ada dalam keseharian profesional data, tetapi juga karyawan di sektor apa pun. Itulah sebabnya pengalaman kerja Anda sebelumnya, meski tidak terkait data, juga dapat membantu Anda menjawab pertanyaan-pertanyaan ini. Luangkan waktu untuk menjawab dan jadilah diri sendiri: tidak ada jawaban yang jelas baik atau buruk.
Mempersiapkan Wawancara PostgreSQL Anda
Persiapan menyeluruh untuk wawancara PostgreSQL Anda sangat penting untuk lulus tahap ini dalam proses lamaran. Kami sudah menyinggung pentingnya memiliki latar belakang PostgreSQL yang kuat, namun jenis pertanyaan lain kemungkinan akan muncul selama wawancara, termasuk yang non-teknis.
Karena tingginya tingkat ketidakpastian yang terkait dengan wawancara, tahap ini bisa menimbulkan stres. Untuk membantu Anda menaklukkan wawancara, kami menyiapkan beberapa kiat dan trik.
- Tidak ada yang mengharapkan Anda tahu segalanya. Tidak memiliki keterampilan tertentu itu wajar. Jika perusahaan meminta solusi dalam R, tetapi Anda hanya tahu caranya di Python, tunjukkan bagaimana Anda memecahkan masalah dengan Python dan tunjukkan kemauan untuk belajar R.
- Pikirkan sebelum menjawab. Mintalah waktu lebih jika pertanyaannya memerlukan. Ini menunjukkan bahwa Anda menanggapi pertanyaan mereka dengan serius. Namun, jangan lakukan untuk setiap pertanyaan.
- Jelaskan mengapa peran Anda penting bagi perusahaan. Terkadang, terutama di perusahaan kecil, mereka mungkin belum sepenuhnya tahu mengapa mereka membutuhkan data scientist. Jika demikian, tekankan bagaimana Anda dapat meningkatkan visibilitas dan keuntungan perusahaan dengan menyempurnakan produk yang ada atau menciptakan solusi baru.
- Menangani penolakan. Itulah realitas pasar kerja kompetitif saat ini. Belajar dari kesalahan, terus pelajari keterampilan baru, dan tingkatkan yang lama. Mintalah saran dari karyawan yang lebih senior, terutama jika mereka bekerja di bidang data science. Anda juga dapat meminta umpan balik dari pewawancara jika Anda tidak berhasil saat melamar suatu peran.
Ingat, industri berbeda-beda. Bekerja sebagai profesional data di domain yang berbeda bisa sangat berbeda. Perusahaan biotek berbeda dari penyedia layanan cloud. Luangkan waktu untuk memahami spesifik domain perusahaan dan tunjukkan bahwa Anda ingin belajar. Namun, pada dasarnya, siapa pun bekerja dengan data, dan data dapat didekati dengan cara yang serupa, apa pun industrinya.
Seperti yang dijelaskan Andrew Reiskind, CDO di Mastercard, dalam sebuah episode podcast DataFramed:
Latihan menarik yang kami lakukan awal tahun lalu adalah mencari tahu di mana prioritas kami. Prioritas kami masih sangat tentang kualitas data. AI pada dasarnya mengonsumsi jauh lebih banyak data, jauh lebih cepat, dengan intervensi manusia yang lebih sedikit. Jadi, kualitas data, keterpahaman data, menjadi jauh lebih penting. Ini adalah loop umpan balik yang semakin menguatkan kebutuhan untuk menata hal-hal dasar dengan benar agar dapat memberi makan AI sehingga kami tahu metrik kualitas terkait kelengkapan, akurasi, yang bersifat sangat krusial.
Andrew Reiskind, CDO at Mastercard
Kesimpulan
Selamat telah sampai di akhir panduan ini. Kami berharap daftar pertanyaan PostgreSQL yang sering ditanyakan ini membantu Anda bersiap menghadapi wawancara dan merasa lebih percaya diri.
Jika Anda merasa membutuhkan pelatihan PostgreSQL lebih lanjut untuk lebih siap menghadapi wawancara, DataCamp siap membantu. Lihat kursus dan materi khusus berikut:
Saya adalah analis data lepas yang berkolaborasi dengan perusahaan dan organisasi di seluruh dunia dalam proyek ilmu data. Saya juga instruktur ilmu data dengan pengalaman lebih dari 2 tahun. Saya rutin menulis artikel terkait ilmu data dalam bahasa Inggris dan Spanyol, beberapa di antaranya telah diterbitkan di situs tepercaya seperti DataCamp, Towards Data Science, dan Analytics Vidhya. Sebagai ilmuwan data dengan latar belakang ilmu politik dan hukum, tujuan saya adalah bekerja pada irisan kebijakan publik, hukum, dan teknologi, memanfaatkan kekuatan gagasan untuk mendorong solusi serta narasi inovatif yang dapat membantu kita menghadapi tantangan mendesak, khususnya krisis iklim. Saya menganggap diri saya seorang autodidak, pembelajar sepanjang hayat, dan pendukung kuat pendekatan multidisipliner. Tidak pernah ada kata terlambat untuk mempelajari hal baru.

