Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Java

50 preguntas esenciales de la entrevista JDBC y respuestas de expertos (2026)

50 preguntas esenciales de la entrevista JDBC y respuestas de expertos (2026)

Prepararse para una entrevista JDBC exige un conocimiento profundo de la conectividad de bases de datos, el ajuste del rendimiento y las mejores prácticas de seguridad. Las siguientes 50 preguntas cubren conceptos básicos y escenarios del mundo real que los reclutadores priorizan.

👉 Descarga gratuita de PDF:Preguntas y respuestas de la entrevista JDBC

1) ¿Qué es JDBC y por qué es importante en las aplicaciones Java?

JDBC (Java Database Connectivity) es la API principal que permite a los programas Java interactuar con bases de datos relacionales. Estandariza la ejecución de SQL, el manejo de resultados y el control de transacciones, lo que permite a los desarrolladores escribir código independiente de la base de datos que puede cambiar entre MySQL, Oracle, PostgreSQL y otros con cambios mínimos.

2) ¿Cuáles son los cuatro tipos de controladores JDBC y sus diferencias clave?

3) Describe el ciclo de vida de un programa JDBC.

  1. Cargue el controlador:Class.forName("com.mysql.cj.jdbc.Driver")
  2. Establecer un Connection vía DriverManager o un DataSource .
  3. Crear un Statement , PreparedStatement , o CallableStatement .
  4. Ejecutar el SQL (consulta, actualización o procedimiento).
  5. Procesar el ResultSet si corresponde.
  6. Cerrar todos los recursos (prefiera try‑with‑resources ).

4) ¿Cuándo debería utilizar Statement, PreparedStatement o CallableStatement?

5) ¿Cómo se gestionan las transacciones en JDBC?

  1. Desactivar confirmación automática:conn.setAutoCommit(false)
  2. Ejecutar múltiples declaraciones.
  3. En caso de éxito, conn.commit(); en caso de error, conn.rollback() .

Utilice este patrón para operaciones atómicas como transferencias de fondos.

6) ¿Cuáles son las ventajas y desventajas de la agrupación de conexiones JDBC?

Marcos como HikariCP y Apache DBCP son estándares de la industria.

7) Distinga ejecutar(), ejecutarQuery() y ejecutarUpdate().

8) ¿Qué estrategias mejoran el rendimiento de JDBC?

9) Explicar las actualizaciones por lotes en 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();

Reduce los viajes de ida y vuelta y aumenta el rendimiento.

10) ¿Qué papel juega ResultSet?

ResultSet contiene los resultados de la consulta. Puede ser de solo avance, desplazable o actualizable dependiendo de los indicadores de creación.

11) Compare JDBC y ODBC.

12) Identificar los componentes de la arquitectura JDBC.

  1. API JDBC (Conexión, Declaración, Conjunto de resultados).
  2. Administrador de controladores (registra controladores).
  3. Implementaciones de controladores (Tipo 1-4).
  4. Backend de la base de datos.

13) Explique ResultSetMetaData frente a DatabaseMetaData.

14) ¿Cómo utilizar los puntos de guardado?

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

15) Definir RowSet y sus variantes.

16) ¿Cómo maneja JDBC las excepciones de SQL?

SQLException proporciona getErrorCode() , getSQLState() y getMessage() . Siempre registre y revierta en caso de falla.

17) ¿Qué es el procesamiento por lotes?

Agrupe varias declaraciones DML en un solo viaje de ida y vuelta; utilizar addBatch() y executeBatch() .

18) Vuelva a enumerar los tipos de declaraciones.

19) Gestión eficiente de la conexión.

Prefiere DataSource con agrupación de conexiones. Utilice try‑with‑resources para limpieza automática.

20) Declaración JDBC frente a sesión de hibernación.

21) Recuperar claves generadas automáticamente.

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

22) Manejo de BLOB y CLOB.

23) Hacer que ResultSet sea desplazable/actualizable.

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) Fuente de datos frente a DriverManager.

25) Procesamiento por lotes con PreparedStatement.

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

26) Uso de DatabaseMetaData.

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

27) Resumen de variantes de ejecución.

28) Cerrar recursos JDBC.

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

29) Optimizaciones de rendimiento comunes.

30) Llamar a procedimientos almacenados.

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

31) Partes internas de la agrupación de conexiones JDBC.

Al inicio, un grupo crea un conjunto fijo de conexiones. Solicita tomar prestada una conexión; lo devuelve después de su uso, manteniendo los recursos en la memoria.

32) Configurar 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 frente a DataSource.

34) Causas comunes de "No se encontró ningún controlador adecuado".

35) Prevenir la inyección de SQL.

36) JDBC frente a ORM (Hibernación).

37) Registro de consultas SQL.

38) Multihilo seguro con JDBC.

39) JDBC en Spring/Spring Boot.

JdbcTemplate de primavera maneja texto repetitivo, traducción de excepciones y agrupación de conexiones automáticamente.

40) Estados de conexión JDBC.

41) Resumen de tipos de controladores.

42) Niveles de aislamiento de transacciones.

43) Transacciones distribuidas (XA).

44) Perfilado del rendimiento de JDBC.

45) Prevención de pérdidas de memoria JDBC.

46) JDBC para microservicios/nube.

47) Manejo elegante de fallas de conexión.

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

48) Diferencias de confirmación, reversión y punto de guardado.

49) Utilidad de los metadatos JDBC.

50) Mejores prácticas para JDBC empresarial.

  1. Usar DataSource con agrupación.
  2. Prefiere PreparedStatement .
  3. Manejar transacciones con el aislamiento adecuado.
  4. Operaciones por lotes y paginación.
  5. Registrar y monitorear consultas.
  6. Maneje con elegancia las excepciones y los reintentos.

🔍 Principales preguntas de la entrevista de JDBC con escenarios del mundo real y respuestas estratégicas

A continuación se presentan 10 preguntas de la entrevista JDBC cuidadosamente elaboradas, con lo que los entrevistadores esperan y ejemplos sólidos de respuestas.

1) ¿Qué es JDBC y por qué es importante?

Respuesta esperada: JDBC es la API de Java para acceder a bases de datos; abstrae la ejecución de SQL, el manejo de resultados y las transacciones, lo que permite un código independiente de la base de datos.

2) Explique los tipos de controladores JDBC.

Respuesta esperada: Cuatro tipos:puente JDBC‑ODBC, API nativa, protocolo de red y controlador ligero. El tipo 4 es el más común hoy en día.

3) ¿Cómo se gestionan las conexiones de manera eficiente?

Respuesta esperada: Utilice grupos de conexiones como HikariCP; Evite abrir/cerrar conexiones por solicitud.

4) Distinguir declaración, declaración preparada y declaración invocable.

Respuesta esperada: Declaración – SQL estático; PreparedStatement:parametrizado, evita la inyección; CallableStatement – procedimientos almacenados.

5) Describe una optimización del rendimiento de JDBC que hayas realizado.

Respuesta esperada: Se reemplazó la concatenación de cadenas con PreparedStatement, se introdujo la agrupación y se utilizaron inserciones por lotes; Reducción del tiempo de respuesta en un 40 %.

6) ¿Cómo se previene la inyección de SQL?

Respuesta esperada: Utilice declaración preparada; validar la entrada; limitar los privilegios de la base de datos.

7) Solucionar un error de conexión JDBC.

Respuesta esperada: Verificar URL, credenciales, red, controlador jar; revisar registros; corregir el puerto mal configurado.

8) Gestionar transacciones en JDBC.

Respuesta esperada: Deshabilite la confirmación automática, realice operaciones, confirme o revierta según el resultado; garantiza el cumplimiento de ACID.

9) Resuelva un problema de base de datos desafiante con JDBC.

Respuesta esperada: Se implementó el procesamiento por lotes para inserciones a granel, lo que redujo el tiempo de minutos a segundos.

10) Priorice las mejoras de JDBC en plazos ajustados.

Respuesta esperada: Evalúe el impacto, comuníquese con claridad, aborde primero los elementos de alto impacto, colabore para cumplir el SLA.

Java

  1. Interfaz Java
  2. Clase de archivo Java
  3. Java ArrayDeque
  4. Operadores Java
  5. Las 25 preguntas y respuestas principales de la entrevista de Scala - Guía en PDF
  6. Java String termina con () método con ejemplo
  7. Cómo invertir una cadena en Java usando recursión
  8. Clasificación de selección en el programa Java con ejemplo
  9. Domine la impresión Java:uso de print(), println() y printf()
  10. Java BufferedReader:cómo leer un archivo en Java con un ejemplo
  11. Java - Genéricos