Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> java

50 Pertanyaan Wawancara Penting &Jawaban Pakar JDBC (2026)

50 Pertanyaan Wawancara Penting &Jawaban Pakar JDBC (2026)

Mempersiapkan wawancara JDBC menuntut pemahaman mendalam tentang konektivitas database, penyesuaian kinerja, dan praktik terbaik keamanan. 50 pertanyaan berikut mencakup konsep inti dan skenario dunia nyata yang diprioritaskan oleh perekrut.

👉 Unduh PDF Gratis:Pertanyaan &Jawaban Wawancara JDBC

1) Apa itu JDBC dan mengapa penting dalam aplikasi Java?

JDBC (Java Database Connectivity) adalah API inti yang memungkinkan program Java berinteraksi dengan database relasional. Ini menstandardisasi eksekusi SQL, penanganan hasil, dan kontrol transaksi, sehingga memungkinkan pengembang untuk menulis kode database-agnostik yang dapat beralih antara MySQL, Oracle, PostgreSQL, dan lainnya dengan sedikit perubahan.

2) Apa saja empat jenis driver JDBC dan perbedaan utamanya?

3) Uraikan siklus hidup program JDBC.

  1. Muat driver:Class.forName("com.mysql.cj.jdbc.Driver")
  2. Buat Connection melalui DriverManager atau DataSource .
  3. Buat Statement , PreparedStatement , atau CallableStatement .
  4. Jalankan SQL (kueri, pembaruan, atau prosedur).
  5. Memproses ResultSet jika berlaku.
  6. Tutup semua sumber daya (pilih try‑with‑resources ).

4) Kapan sebaiknya Anda menggunakan Statement, PreparedStatement, atau CallableStatement?

5) Bagaimana cara mengelola transaksi di JDBC?

  1. Menonaktifkan penerapan otomatis:conn.setAutoCommit(false)
  2. Jalankan beberapa pernyataan.
  3. Jika berhasil, conn.commit(); jika gagal, conn.rollback() .

Gunakan pola ini untuk operasi atomik seperti transfer dana.

6) Apa kelebihan dan kekurangan penggabungan koneksi JDBC?

Kerangka kerja seperti HikariCP dan Apache DBCP adalah standar industri.

7) Bedakan antara mengeksekusi(), mengeksekusiQuery(), dan mengeksekusiUpdate().

8) Strategi apa yang meningkatkan kinerja JDBC?

9) Jelaskan pembaruan batch di JDBC.

PreparedStatement ps = conn.prepareStatement("INSERT INTO student VALUES(?,?)");
for(int i=1;i<=1000;i++){
  ps.setInt(1,i);
  ps.setString(2,"Name"+i);
  ps.addBatch();
}
ps.executeBatch();

Mengurangi perjalanan pulang pergi dan meningkatkan throughput.

10) Peran apa yang dimainkan ResultSet?

ResultSet menyimpan hasil kueri. Ini dapat bersifat hanya maju, dapat di-scroll, atau dapat diperbarui tergantung pada tanda pembuatan.

11) Bandingkan JDBC dan ODBC.

12) Identifikasi komponen arsitektur JDBC.

  1. JDBC API (Koneksi, Pernyataan, ResultSet).
  2. Driver Manager (mendaftarkan driver).
  3. Penerapan driver (Tipe 1‑4).
  4. Bagian belakang basis data.

13) Jelaskan ResultSetMetaData vs DatabaseMetaData.

14) Bagaimana cara menggunakan Savepoint?

conn.setAutoCommit(false);
Savepoint sp = conn.setSavepoint("sp1");
// operations
conn.rollback(sp); // partial rollback
conn.commit();

15) Tentukan RowSet dan variannya.

16) Bagaimana JDBC menangani pengecualian SQL?

SQLException menyediakan getErrorCode() , getSQLState() , dan getMessage() . Selalu masuk dan kembalikan jika terjadi kegagalan.

17) Apa itu pemrosesan batch?

Kelompokkan beberapa pernyataan DML menjadi satu perjalanan bolak-balik; gunakan addBatch() dan executeBatch() .

18) Buat daftar jenis pernyataan lagi.

19) Manajemen koneksi yang efisien.

Lebih suka DataSource dengan pengumpulan koneksi. Gunakan try‑with‑resources untuk pembersihan otomatis.

20) Pernyataan JDBC vs Sesi Hibernasi.

21) Ambil kunci yang dibuat secara otomatis.

PreparedStatement ps = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
ps.executeUpdate();
ResultSet rs = ps.getGeneratedKeys();

22) Penanganan BLOB dan CLOB.

23) Membuat ResultSet dapat di-scroll/diperbarui.

Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
ResultSet rs = stmt.executeQuery("SELECT * FROM EMPLOYEE");
rs.absolute(3);
rs.updateString("name", "UpdatedName");
rs.updateRow();

24) Sumber Data vs DriverManager.

25) Pemrosesan batch dengan PreparedStatement.

for(int i=1;i<=5;i++){
  ps.setInt(1,i);
  ps.setString(2,"Student"+i);
  ps.addBatch();
}
ps.executeBatch();

26) Menggunakan DatabaseMetaData.

DatabaseMetaData dbmd = conn.getMetaData();
System.out.println("DB: " + dbmd.getDatabaseProductName());

27) Rekap varian yang dieksekusi.

28) Menutup sumber daya JDBC.

try (Connection c = ds.getConnection();
     Statement s = c.createStatement();
     ResultSet rs = s.executeQuery("SELECT * FROM EMPLOYEE")) {
  while(rs.next()){ /* process */ }
}

29) Pengoptimalan performa umum.

30) Memanggil prosedur tersimpan.

CallableStatement cs = conn.prepareCall("{call getEmployeeSalary(?)}");
cs.setInt(1,101);
ResultSet rs = cs.executeQuery();

31) Internal pengumpulan koneksi JDBC.

Pada init, kumpulan membuat serangkaian koneksi tetap. Permintaan meminjam koneksi; mengembalikannya setelah digunakan, menyimpan sumber daya di memori.

32) Konfigurasikan HikariCP.

HikariConfig cfg = new HikariConfig();
cfg.setJdbcUrl("jdbc:mysql://localhost:3306/testdb");
cfg.setUsername("root");
cfg.setPassword("pw");
cfg.setMaximumPoolSize(10);
HikariDataSource ds = new HikariDataSource(cfg);

33) DriverManager vs Sumber Data.

34) Penyebab umum “Tidak ditemukan driver yang sesuai”.

35) Mencegah injeksi SQL.

36) JDBC vs ORM (Hibernasi).

37) Mencatat kueri SQL.

38) Multithreading yang aman dengan JDBC.

39) JDBC di Musim Semi/Boot Musim Semi.

JdbcTemplate musim semi menangani boilerplate, terjemahan pengecualian, dan pengumpulan koneksi secara otomatis.

40) Status Koneksi JDBC.

41) Rekap jenis driver.

42) Tingkat isolasi transaksi.

43) Transaksi terdistribusi (XA).

44) Membuat profil kinerja JDBC.

45) Mencegah kebocoran memori JDBC.

46) JDBC untuk layanan mikro/cloud.

47) Penanganan kegagalan koneksi dengan baik.

for(int i=0;i<3;i++){
  try(Connection c=ds.getConnection()){ break; }
  catch(SQLTransientConnectionException e){ Thread.sleep(1000*(i+1)); }
}

48) Perbedaan commit, rollback, dan savepoint.

49) Kegunaan metadata JDBC.

50) Praktik terbaik untuk JDBC perusahaan.

  1. Gunakan DataSource dengan pengumpulan.
  2. Lebih suka PreparedStatement .
  3. Menangani transaksi dengan isolasi yang tepat.
  4. Operasi batch dan penomoran halaman.
  5. Mencatat dan memantau kueri.
  6. Tangani pengecualian dan percobaan ulang dengan baik.

🔍 Pertanyaan Wawancara JDBC Teratas dengan Skenario Dunia Nyata &Respons Strategis

Di bawah ini adalah 10 pertanyaan wawancara JDBC yang disusun dengan cermat, dengan harapan pewawancara dan contoh jawaban yang kuat.

1) Apa itu JDBC dan mengapa itu penting?

Jawaban yang diharapkan: JDBC adalah Java API untuk akses database; ini mengabstraksi eksekusi SQL, penanganan hasil, dan transaksi, sehingga memungkinkan kode database-agnostik.

2) Jelaskan jenis driver JDBC.

Jawaban yang diharapkan: Empat jenis:JDBC‑ODBC Bridge, Native API, Network Protocol, Thin Driver. Tipe 4 paling umum saat ini.

3) Bagaimana cara mengelola koneksi secara efisien?

Jawaban yang diharapkan: Gunakan kumpulan koneksi seperti HikariCP; hindari membuka/menutup koneksi per permintaan.

4) Bedakan Pernyataan, Pernyataan yang Disiapkan, dan Pernyataan yang Dapat Dipanggil.

Jawaban yang diharapkan: Pernyataan – SQL statis; PreparedStatement – ​​berparameter, mencegah injeksi; CallableStatement – prosedur tersimpan.

5) Jelaskan pengoptimalan kinerja JDBC yang Anda lakukan.

Jawaban yang diharapkan: Mengganti penggabungan string dengan PreparedStatement, memperkenalkan penggabungan, dan menggunakan sisipan batch; mengurangi waktu respons sebesar 40%.

6) Bagaimana cara mencegah injeksi SQL?

Jawaban yang diharapkan: Gunakan Pernyataan yang Disiapkan; memvalidasi masukan; membatasi hak istimewa DB.

7) Memecahkan masalah kegagalan koneksi JDBC.

Jawaban yang diharapkan: Verifikasi URL, kredensial, jaringan, toples driver; log ulasan; memperbaiki port yang salah dikonfigurasi.

8) Kelola transaksi di JDBC.

Jawaban yang diharapkan: Nonaktifkan komit otomatis, lakukan operasi, komit, atau kembalikan berdasarkan hasil; memastikan kepatuhan ACID.

9) Selesaikan masalah DB yang menantang dengan JDBC.

Jawaban yang diharapkan: Menerapkan pemrosesan batch untuk penyisipan massal, memotong waktu dari menit ke detik.

10) Prioritaskan peningkatan JDBC dalam tenggat waktu yang ketat.

Jawaban yang diharapkan: Evaluasi dampak, komunikasikan dengan jelas, atasi item berdampak tinggi terlebih dahulu, berkolaborasi untuk memenuhi SLA.

java

  1. Pencatatan Jawa
  2. Antarmuka Antrian Java
  3. Java 10 - Peningkatan Lokal
  4. Java 9 - Operator Berlian Kelas Dalam
  5. Java 9 - Pengaturan Lingkungan
  6. Variabel Statis di Java:Apa itu Static Block &Method [Contoh]
  7. Kelas Pembaca Java
  8. Polimorfisme Jawa
  9. Java - Kontrol Loop
  10. 40 Pertanyaan &Jawaban Wawancara Multithreading Java Teratas – Edisi 2026