Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Java

50 Perguntas Essenciais de Entrevista JDBC & Respostas de Especialistas (2026)

50 Perguntas Essenciais de Entrevista JDBC & Respostas de Especialistas (2026)

Preparar-se para uma entrevista JDBC exige compreensão profunda de conectividade com banco de dados, performance tuning e security best practices. As seguintes 50 perguntas cobrem conceitos core e cenários real-world que recrutadores priorizam.

👉 Download Gratuito PDF: Perguntas e Respostas de Entrevista JDBC

1) O que é JDBC e por que é importante em aplicações Java?

JDBC (Java Database Connectivity) é a API core que permite programas Java interagirem com bancos de dados relacionais. Padroniza execução SQL, handling de resultados e controle de transação, permitindo developers escreverem código database-agnostic que pode trocar entre MySQL, Oracle, PostgreSQL e outros com mudanças mínimas.

2) Quais são os quatro tipos de driver JDBC e suas diferenças chave?

3) Descreva o ciclo de vida de um programa JDBC.

  1. Carregar driver: Class.forName("com.mysql.cj.jdbc.Driver")
  2. Estabelecer Connection via DriverManager ou DataSource.
  3. Criar Statement, PreparedStatement ou CallableStatement.
  4. Executar SQL (query, update ou procedure).
  5. Processar ResultSet se aplicável.
  6. Fechar todos recursos (preferir try-with-resources).

4) Quando usar Statement, PreparedStatement ou CallableStatement?

5) Como gerenciar transações no JDBC?

  1. Desabilitar auto-commit: conn.setAutoCommit(false)
  2. Executar múltiplos statements.
  3. Sucesso: conn.commit(); falha: conn.rollback().

Use este padrão para operações atômicas como transferências de fundos.

6) Quais são os prós e contras de connection pooling JDBC?

Frameworks como HikariCP e Apache DBCP são padrões da indústria.

7) Distinguir execute(), executeQuery() e executeUpdate().

8) Quais estratégias melhoram performance JDBC?

9) Explique batch updates no 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();

Reduz round-trips e aumenta throughput.

10) Qual papel do ResultSet?

ResultSet mantém resultados de query. Pode ser forward-only, scrollable ou updatable dependendo de flags de criação.

11) Comparar JDBC e ODBC.

12) Identifique componentes da arquitetura JDBC.

  1. JDBC API (Connection, Statement, ResultSet).
  2. Driver Manager (registra drivers).
  3. Implementações de Driver (Tipos 1-4).
  4. Backend de banco de dados.

13) Explique ResultSetMetaData vs DatabaseMetaData.

14) Como usar Savepoints?

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

15) Defina RowSet e suas variantes.

16) Como JDBC lida com SQL exceptions?

SQLException fornece getErrorCode(), getSQLState() e getMessage(). Sempre log e rollback em falha.

17) O que é batch processing?

Agrupa múltiplos statements DML em single round-trip; usa addBatch() e executeBatch().

18) Liste tipos de statement novamente.

19) Gerenciamento eficiente de conexão.

Preferir DataSource com connection pooling. Usar try-with-resources para cleanup automático.

20) JDBC Statement vs Hibernate Session.

21) Recuperar chaves auto-geradas.

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

22) Handling de BLOB e CLOB.

23) Tornando ResultSet scrollable/updatable.

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) DataSource vs DriverManager.

25) Batch processing com PreparedStatement.

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

26) Usando DatabaseMetaData.

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

27) Recap de variants do execute.

28) Fechando recursos JDBC.

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

29) Otimizações de performance comuns.

30) Chamando stored procedures.

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

31) Internals de connection pooling JDBC.

Na init, pool cria conjunto fixo de conexões. Requests pegam emprestado uma conexão; devolvem após uso, mantendo recursos em memória.

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 vs DataSource.

34) Causas comuns de "No suitable driver found".

35) Prevenir SQL injection.

36) JDBC vs ORM (Hibernate).

37) Logging de SQL queries.

38) Multithreading seguro com JDBC.

39) JDBC no Spring / Spring Boot.

Spring's JdbcTemplate lida com boilerplate, exception translation e connection pooling automaticamente.

40) Estados de conexão JDBC.

41) Recap dos tipos de driver.

42) Níveis de isolamento de transação.

43) Transações distribuídas (XA).

44) Profiling de performance JDBC.

45) Prevenindo memory leaks JDBC.

46) JDBC para microservices/cloud.

47) Handling gracioso de falhas de conexão.

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

48) Diferenças entre commit, rollback e savepoint.

49) Utilidade de metadata JDBC.

50) Best practices para JDBC enterprise.

  1. Usar DataSource com pooling.
  2. Preferir PreparedStatement.
  3. Tratar transações com isolamento adequado.
  4. Batch operations e paginação.
  5. Log e monitorar queries.
  6. Tratar graciosamente exceções e retries.

🔍 Top JDBC Interview Questions com Cenários Real-World & Respostas Estratégicas

Abaixo estão 10 perguntas cuidadosamente elaboradas de entrevista JDBC, com o que entrevistadores esperam e fortes respostas de exemplo.

1) O que é JDBC e por que é importante?

Resposta esperada: JDBC é a API Java para acesso a banco de dados; abstrai execução SQL, handling de resultados e transações, permitindo código database-agnostic.

2) Explique tipos de driver JDBC.

Resposta esperada: Quatro tipos: JDBC-ODBC Bridge, Native API, Network Protocol, Thin Driver. Tipo 4 é mais comum hoje.

3) Como gerenciar conexões eficientemente?

Resposta esperada: Usar connection pools como HikariCP; evitar abrir/fechar conexões por request.

4) Distinguir Statement, PreparedStatement e CallableStatement.

Resposta esperada: Statement – SQL estático; PreparedStatement – parametrizado, previne injection; CallableStatement – stored procedures.

5) Descreva otimização de performance JDBC que realizou.

Resposta esperada: Substituiu string concatenation por PreparedStatement, introduziu pooling e usou batch inserts; reduziu response time em 40%.

6) Como prevenir SQL injection?

Resposta esperada: Usar PreparedStatement; validar input; limitar privilégios DB.

7) Troubleshoot de falha de conexão JDBC.

Resposta esperada: Verificar URL, credenciais, rede, driver jar; revisar logs; corrigir porta mal configurada.

8) Gerenciar transações no JDBC.

Resposta esperada: Desabilitar auto-commit, realizar operações, commit ou rollback baseado em outcome; garante compliance ACID.

9) Resolver issue desafiador de DB com JDBC.

Resposta esperada: Implementou batch processing para bulk inserts, cortando tempo de minutos para segundos.

10) Priorizar enhancements JDBC sob deadlines apertados.

Resposta esperada: Avaliar impacto, comunicar claramente, atacar itens high-impact primeiro, colaborar para meet SLA.

Java

  1. 50 Perguntas Essenciais de Entrevista JDBC & Respostas de Especialistas (2026)
  2. Dominando Operadores Java: Tipos, Sintaxe e Exemplos Práticos
  3. Classe Math do Java: Guia Completo de abs(), round(), ceil(), floor(), min() e Mais – Com Exemplos Práticos
  4. Java OutputStream: Conceitos Principais, Métodos e Exemplo Prático com Arquivo
  5. Tutorial Java Swing: Construindo Aplicações GUI Robustas
  6. Método Java String.contains(): Como Verificar Substrings – Exemplos Práticos
  7. Dominando a Palavra-chave 'this' em Java: Propósito, Uso e Exemplos Práticos
  8. Java 9 REPL (JShell): Codificação e Testes Interativos Simplificados
  9. Dominando Java FileReader: Guia Completo e Exemplos Práticos
  10. Java TreeMap: Domine Mapas Ordenados com Exemplos Práticos