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 da entrevista JDBC e respostas de especialistas (2026)


50 perguntas essenciais da entrevista JDBC e respostas de especialistas (2026)

A preparação para uma entrevista JDBC exige um conhecimento profundo da conectividade do banco de dados, ajuste de desempenho e práticas recomendadas de segurança. As 50 perguntas a seguir abrangem conceitos básicos e cenários do mundo real que os recrutadores priorizam.

👉 Download gratuito do PDF:Perguntas e respostas da entrevista JDBC

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


JDBC (Java Database Connectivity) é a API principal que permite que programas Java interajam com bancos de dados relacionais. Ele padroniza a execução de SQL, o tratamento de resultados e o controle de transações, permitindo que os desenvolvedores escrevam código independente de banco de dados que pode alternar entre MySQL, Oracle, PostgreSQL e outros com alterações mínimas.

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

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

  1. Carregue o driver:03
  2. Estabeleça um 19 via 23 ou um 35 .
  3. Crie um 48 , 55 ou 68 .
  4. Execute o SQL (consulta, atualização ou procedimento).
  5. Processar o 75 se aplicável.
  6. Feche todos os recursos (prefira 86 ).

4) Quando você deve usar Statement, PreparedStatement ou CallableStatement?

  • Declaração :SQL estático; rápido para consultas pontuais.
  • Instrução Preparada :Consultas parametrizadas; protege contra injeção de SQL e melhora o desempenho por meio da pré-compilação.
  • CallableStatement :Procedimentos ou funções armazenados; encapsula lógica complexa de banco de dados.

5) Como você gerencia transações em JDBC?

  1. Desativar confirmação automática:91
  2. Execute múltiplas instruções.
  3. Em caso de sucesso, 109; em caso de falha, 118 .

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

6) Quais são os prós e os contras do pool de conexões JDBC?

  • Prós :reutiliza conexões, reduz a latência e dimensiona sob carga.
  • Contras :Requer configuração cuidadosa; conexões obsoletas podem ocorrer se não forem atualizadas.

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

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

  • 127 :Qualquer SQL; retorna 131 indicando se um 140 é produzido.
  • 154 :instruções SELECT; retorna um 169 .
  • 173 :INSERIR, ATUALIZAR, EXCLUIR; retorna a contagem de linhas afetadas.

8) Quais estratégias melhoram o desempenho do JDBC?

  • Use 184 para pré-compilação.
  • Atualizações em lote via 194 .
  • Pooling de conexões.
  • Selecione apenas as colunas necessárias.
  • Feche os recursos imediatamente.

9) Explique as atualizações em lote no JDBC.

00 
Reduz viagens de ida e volta e aumenta a produtividade.

10) Qual é o papel do ResultSet?


ResultSet contém os resultados da consulta. Ele pode ser somente direto, rolável ou atualizável, dependendo dos sinalizadores de criação.

11) Compare JDBC e ODBC.

  • JDBC:Java puro, independente de plataforma, alto desempenho.
  • ODBC:baseado em C, dependente da plataforma, requer drivers nativos.

12) Identifique os componentes da arquitetura JDBC.

  1. API JDBC (Conexão, Instrução, ResultSet).
  2. Gerenciador de Drivers (registra drivers).
  3. Implementações de driver (Tipo1‑4).
  4. Back-end do banco de dados.

13) Explique ResultSetMetaData vs DatabaseMetaData.

  • ResultSetMetaData :nomes de colunas, tipos de uma consulta específica.
  • DatabaseMetaData :nome do driver, produto de banco de dados, recursos SQL suportados.

14) Como usar Savepoints?

19 

15) Defina RowSet e suas variantes.

  • JdbcRowSet – conectado.
  • CachedRowSet – desconectado, serializável.
  • WebRowSet – baseado em XML.
  • FilteredRowSet – visualize com filtros.
  • JoinRowSet – mescla vários RowSets.

16) Como o JDBC lida com exceções SQL?


SQLException fornece 206 , 217 e 229 . Sempre registre e reverta em caso de falha.

17) O que é processamento em lote?


Agrupe diversas instruções DML em uma única viagem de ida e volta; use 233 e 244 .

18) Liste os tipos de instrução novamente.

  • Instrução – SQL estático.
  • PreparedStatement – parametrizado.
  • CallableStatement – procedimentos armazenados.

19) Gerenciamento de conexão eficiente.


Prefira 256 com pool de conexões. Utilize 267 para limpeza automática.

20) Instrução JDBC vs Sessão de Hibernate.

  • JDBC:mapeamento manual de baixo nível.
  • Hibernação:ORM, cache, geração automática de SQL.

21) Recuperar chaves geradas automaticamente.

27 

22) Manipulação de BLOB e CLOB.

  • BLOB – fluxos binários.
  • CLOB – fluxos de caracteres.

23) Tornando o ResultSet rolável/atualizável.

31 

24) DataSource x DriverManager.

  • DriverManager – simples, sem pooling.
  • DataSource – pesquisa JNDI, pooling, suporte XA.

25) Processamento em lote com PreparedStatement.

49 

26) Usando DatabaseMetaData.

57 

27) Recapitulação das variantes de execução.

  • executar() – booleano.
  • executeQuery() – Conjunto de resultados.
  • executeUpdate() – int.

28) Fechando recursos JDBC.

60 

29) Otimizações de desempenho comuns.

  • Pooling de conexões.
  • PreparedStatement sobre declaração.
  • Atualizações em lote.
  • Ajuste de tamanho de busca.
  • Recuperação seletiva de colunas.

30) Chamando procedimentos armazenados.

72 

31) Internos do pool de conexões JDBC.


Na inicialização, um pool cria um conjunto fixo de conexões. Solicita empréstimo de conexão; retorna após o uso, mantendo os recursos na memória.

32) Configurar o HikariCP.

89 

33) DriverManager x DataSource.

  • DriverManager – direto, sem pooling.
  • DataSource – agrupado, XA, JNDI.

34) Causas comuns de “Nenhum driver adequado encontrado”.

  • JAR do driver ausente no caminho de classe.
  • URL JDBC incorreto.
  • Falta 276 (pré-Java9).
  • Incompatibilidade de versão do driver com o banco de dados.

35) Impedir injeção de SQL.

  • Sempre use 282 com parâmetros.
  • Validar e limpar a entrada do usuário.
  • Limite os privilégios do banco de dados.

36) JDBC versus ORM (hibernação).

  • JDBC:controle fino, mapeamento manual, leve.
  • Hibernação:ORM automático, cache, curva de aprendizado mais alta.

37) Registrando consultas SQL.

  • Ativar o registro do driver (por exemplo, 295 do MySQL ).
  • Use P6Spy ou datasource‑proxy para interceptar e registrar.

38) Multithreading seguro com JDBC.

  • Não compartilhe 309 objetos entre threads.
  • Pegue emprestada uma conexão de um pool por thread.
  • Feche os recursos com try-with-resources.

39) JDBC no Spring/Spring Boot.


313 da primavera lida com texto padrão, tradução de exceções e pool de conexões automaticamente.

40) Estados de conexão JDBC.

  • Inicializado → Aberto → Em transação → Confirmado/Revertido → Fechado.

41) Recapitulação dos tipos de driver.

  • Tipo1 – baixo desempenho, requer ODBC.
  • Tipo2 – nativo, desempenho médio.
  • Tipo3 – middleware, desempenho moderado.
  • Type4 – Java puro, mais alto desempenho.

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

  • READ_UNCOMMITTED – leituras sujas.
  • READ_COMMITTED – padrão, evita leituras sujas.
  • REPEATABLE_READ – evita leituras não repetíveis.
  • SERIALIZÁVEL – isolamento estrito, evita leituras fantasmas.

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

  • Usar 326 e um gerente JTA (Atomikos, Bitronix, Spring).
  • A confirmação em duas fases coordena as confirmações em vários bancos de dados.

44) Criação de perfil de desempenho JDBC.

  • P6Spy, proxy de fonte de dados para registro de consultas.
  • Java Flight Recorder/JVisualVM para uso de conexão.
  • Planos EXPLAIN do banco de dados para ajuste de consulta.
  • Prometheus + Grafana para métricas.

45) Evitando vazamentos de memória JDBC.

  • Sempre feche 335 , 343 , 359 via try-with-resources.
  • Configurar tempos limite do pool (maxIdleTime, maxLifetime).
  • Evite manter ResultSets além do escopo.

46) JDBC para microsserviços/nuvem.

  • HikariCP para pooling leve.
  • Sessões JDBC sem estado.
  • Ler réplicas, armazenamento em cache (Redis).
  • Disjuntores Resilience4j para failover de banco de dados.

47) Tratamento elegante de falhas de conexão.

98 

48) Diferenças de commit, rollback e pontos de salvamento.

  • Comprometer-se – finaliza todas as alterações.
  • Reversão – reverte para o último commit.
  • Ponto de salvamento – alvo de reversão parcial.

49) Utilidade dos metadados JDBC.

  • Introspecção de esquema dinâmico.
  • Verificações de capacidade do banco de dados.
  • Ferramentas para geração de ORM.

50) Melhores práticas para JDBC corporativo.

  1. Usar 361 com agrupamento.
  2. Prefira 371 .
  3. Trate as transações com isolamento adequado.
  4. Operações em lote e paginação.
  5. Registre e monitore consultas.
  6. Trate exceções e novas tentativas com facilidade.

🔍 Principais perguntas da entrevista JDBC com cenários do mundo real e respostas estratégicas


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

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


Resposta esperada: JDBC é a API Java para acesso ao banco de dados; ele abstrai a execução SQL, o tratamento de resultados e as transações, permitindo código independente de banco de dados.

2) Explique os tipos de driver JDBC.


Resposta esperada: Quatro tipos:ponte JDBC‑ODBC, API nativa, protocolo de rede, driver fino. Type4 é o mais comum hoje.

3) Como você gerencia conexões de forma eficiente?


Resposta esperada: Use pools de conexão como HikariCP; evite abrir/fechar conexões por solicitação.

4) Distinguir declaração, PreparedStatement e CallableStatement.


Resposta esperada: Instrução – SQL estático; PreparedStatement – ​​parametrizado, evita injeção; CallableStatement – ​​procedimentos armazenados.

5) Descreva uma otimização de desempenho JDBC que você executou.


Resposta esperada: Concatenação de string substituída por PreparedStatement, pooling introduzido e inserções em lote usadas; reduziu o tempo de resposta em 40%.

6) Como você evita a injeção de SQL?


Resposta esperada: Use PreparedStatement; validar entrada; limitar privilégios de banco de dados.

7) Solucionar problemas de falha de conexão JDBC.


Resposta esperada: Verifique URL, credenciais, rede, jar do driver; revisar registros; corrija a porta mal configurada.

8) Gerenciar transações em JDBC.


Resposta esperada: Desative a confirmação automática, execute operações, confirme ou reverta com base no resultado; garante conformidade com ACID.

9) Resolva um problema desafiador de banco de dados com JDBC.


Resposta esperada: Implementação do processamento em lote para inserções em massa, reduzindo o tempo de minutos para segundos.

10) Priorize melhorias de JDBC em prazos apertados.


Resposta esperada: Avalie o impacto, comunique-se com clareza, resolva primeiro os itens de alto impacto e colabore para cumprir o SLA.

Java

  1. Java String EndsWith() Método com Exemplo
  2. Java while e do... while Loop
  3. Java 9 - Sistema de Módulos
  4. Java 9 - Métodos de Interface Privada
  5. Java LinkedHashMap
  6. Enumerações Java
  7. Reflexão Java
  8. Classe Java ByteArrayOutputStream
  9. Java tentar... pegar
  10. Armstrong Number no programa JAVA usando For Loop