![QUIZ SOBRE JAVA](/_image?href=https%3A%2F%2Fdev-beta.quizur.com%2Fstorage%2Fv1%2Fobject%2Fpublic%2F%2Fimagens%2F%2F20527121%2F373551be-369f-4a9e-8848-40c9f6744b9d.png&w=600&h=600&f=webp)
Anúncios
1
O que é o JDK (Java Development Kit)?
Uma biblioteca de classes para Python
Um compilador de código C
Um kit de desenvolvimento para Java
Um sistema operacional
2
O que significa JVM?
Java Verification Mode
Java Virtual Machine
Java Version Monitor
Java Variable Manager
3
Qual dos seguintes modificadores indica que um método ou variável pertence à classe, e não a uma instância?
abstract
final
static
synchronized
4
Qual é o método principal obrigatório em um programa Java?
public static void main(String[] args)
void main(String args[])
public String main(String args[])
public int main(String args[])
5
Qual é a saída do seguinte código: System.out.println(10 + 20 + "30");
102030
3030
30
303030
6
O que acontece quando usamos o modificador final em uma classe?
Não pode ser estendida
Não pode ser instanciada
Pode ser estendida apenas por subclasses no mesmo pacote
Apenas métodos estáticos são permitidos
7
O que acontece se não implementarmos todos os métodos de uma interface?
O código não compila
O programa lança uma exceção
A interface assume métodos padrão
A classe se torna abstrata
8
Qual é a diferença entre uma ArrayList e uma LinkedList?
ArrayList é mais eficiente em operações de busca do que LinkedList
ArrayList armazena dados de forma contínua, enquanto LinkedList usa nós conectados
LinkedList é mais eficiente em inserções e exclusões no meio da lista
Todas as anteriores
9
O que é Garbage Collection em Java?
Um método que precisamos chamar em todos os objetos
Um erro durante a execução do programa
Um processo manual de liberar memória
O processo automático de remover objetos não utilizados
10
Qual é a diferença entre HashMap e TreeMap?
TreeMap é mais rápido em operações de busca
HashMap mantém a ordem de inserção, enquanto TreeMap ordena por chave
HashMap não permite chaves nulas
TreeMap não permite chaves repetidas
11
Qual biblioteca é mais comumente usada para conectar Java a bancos de dados?
SQLAlchemy
PyODBC
Hibernate
JDBC
12
Qual é o propósito da classe DriverManager em JDBC?
Gerenciar os drivers do sistema operacional
Criar objetos de banco de dados
Registrar e obter conexões de driver JDBC
Executar transações automaticamente
13
Qual é a função do método getConnection na classe DriverManager?
Estabelecer uma conexão com um banco de dados
Criar uma nova tabela no banco de dados
Recuperar os dados de uma tabela
Fechar uma conexão existente
14
Qual das seguintes opções NÃO faz parte do pacote JDBC?
Connection
ResultSet
PreparedStatement
DatabaseHelper
15
Qual é o comando SQL usado para selecionar todos os registros de uma tabela chamada
SELECT * FROM clientes
SELECT ALL registros FROM clientes
SELECT registros ALL FROM clientes
SELECT registros FROM clientes
16
Qual é a diferença entre Statement e PreparedStatement?
Não há diferença
Statement é usado apenas para comandos SELECT
Statement é mais rápido do que PreparedStatement
PreparedStatement é mais seguro e evita injeções SQL
17
O que significa esse código ? Connection con = DriverManager.getConnection(url, user, password);
Fecha todas as conexões abertas
Executa uma consulta SQL automaticamente
Cria uma nova tabela chamada con
Cria uma conexão com o banco de dados usando url, user e password
18
Qual método é usado para executar um comando UPDATE no banco de dados?
runUpdate()
executeQuery()
executeUpdate()
execute()
19
Como lidamos com exceções ao usar JDBC?
Ignorando erros, já que eles não afetam o sistema
Adicionando todas as consultas SQL em uma transação automática
Usando métodos nativos de Connection
Utilizando try-catch
20
Qual é o significado de "rollback" em transações?
Reverte as alterações feitas pela transação atual
Executa automaticamente a transação novamente
Finaliza a transação e grava no banco
Reinicia a conexão com o banco
21
Qual o comando para carregar o driver JDBC do PostGreSQL .
Class.forName("org.mysql.Driver");
Class.forName("org.postgresql.Driver");
22
O que significa a sigla MVC?
Model-View-Controller
Model-Variable-Control
Main-View-Creation
23
O que acontece quando você tenta compilar e executar o seguinte código?import java.util.ArrayList; import java.util.List; public class Main { public static void main(String[] args) { List<? extends Number> list = new ArrayList<Integer>(); list.add(null); list.add(1); // Linha problematica System.out.println(list); } }
Compila, mas lança um erro em tempo de execução.
Não compila devido à restrição de tipo em List<? extends Number>.
Compila e imprime [null].
Não compila devido à tentativa de adicionar null à lista.
24
Qual será a saída provável do seguinte código? (Considere um sistema com pelo menos dois núcleos de CPU.)class MyRunnable implements Runnable { @Override public void run() { System.out.print(Thread.currentThread().getName() + " "); } } public class Main { public static void main(String[] args) throws InterruptedException { Thread t1 = new Thread(new MyRunnable(), "Thread-1"); Thread t2 = new Thread(new MyRunnable(), "Thread-2"); t1.start(); t1.join(); // Espera t1 terminar antes de iniciar t2 t2.start(); } }
Não compila devido ao método join().
A saída pode variar dependendo da ordem de execução das threads.
Sempre imprime Thread-2 Thread-1.
Sempre imprime Thread-1 Thread-2.
25
Qual será a saída do seguinte código?import java.util.stream.Stream; public class Main { public static void main(String[] args) { Stream.of("a", "b", "c") .peek(System.out::println) .filter(s -> s.equals("b")) .forEach(System.out::println); } }
b b
a b c b
b
a b b c
26
Considere o código abaixo. Qual será a saída?import java.util.HashMap; public class Main { public static void main(String[] args) { HashMap<String, Integer> map = new HashMap<>(); map.put("A", 1); map.put("B", 2); map.put("A", 3); System.out.println(map.size()); } }
3
1
2
Lança uma exceção em tempo de execução.
27
O que acontece ao executar o seguinte código?import java.lang.reflect.Field; class Test { private final int x = 42; } public class Main { public static void main(String[] args) throws Exception { Test test = new Test(); Field field = Test.class.getDeclaredField("x"); field.setAccessible(true); field.setInt(test, 100); System.out.println(field.getInt(test)); } }
Imprime 100
Lança uma exceção em tempo de execução.
Imprime 42.
Não compila devido à tentativa de modificar um campo final.
28
O que acontece se você tentar executar o seguinte código sem o driver JDBC correto na classpath?import java.sql.Connection; import java.sql.DriverManager; public class Main { public static void main(String[] args) { try (Connection conn = DriverManager.getConnection( "jdbc:mysql://localhost:3306/testdb", "root", "password")) { System.out.println("Conexão bem-sucedida!"); } catch (Exception e) { e.printStackTrace(); } } }
Compila e lança ClassNotFoundException.
Compila e lança SQLException.
Não compila devido à ausência do driver.
Imprime "Conexão bem-sucedida!" mesmo sem o driver.
29
Qual é a principal vantagem de usar um PreparedStatement em vez de um Statement?
Permite consultas com mais de uma conexão simultânea.
É mais rápido para executar comandos DDL (CREATE, DROP).
Melhor desempenho em consultas simples.
Prevenção de SQL Injection e maior eficiência para consultas reutilizáveis.
30
O que acontece quando você usa o seguinte código para manipular transações no banco de dados?import java.sql.Connection; import java.sql.DriverManager; public class Main { public static void main(String[] args) throws Exception { try (Connection conn = DriverManager.getConnection( "jdbc:mysql://localhost:3306/testdb", "root", "password")) { conn.setAutoCommit(false); conn.createStatement().executeUpdate("UPDATE contas SET saldo = saldo - 500 WHERE id = 1"); conn.createStatement().executeUpdate("UPDATE contas SET saldo = saldo + 500 WHERE id = 2"); conn.rollback(); System.out.println("Transação revertida."); } } }
Não compila devido à configuração de transação inválida.
Lança uma exceção em tempo de execução porque rollback() é chamado antes de commit().
As alterações são aplicadas ao banco de dados.
As alterações são revertidas devido ao rollback().
31
Considere o seguinte código: java Copiar código import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class Main { public static void main(String[] args) throws Exception { try (Connection conn = DriverManager.getConnection( "jdbc:mysql://localhost:3306/testdb", "root", "password"); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM usuarios")) { while (rs.next()) { System.out.println(rs.getInt(1) + " - " + rs.getString(2)); } } } }
Compila, mas imprime valores null.
Imprime "Tabela não encontrada." e continua a execução.
Não compila devido à falta de manipulação de exceção.
Lança SQLException.
32
Qual das alternativas é verdadeira em relação ao uso de pool de conexões em Java?
O pool de conexões é usado apenas para bancos de dados NoSQL.
O pool de conexões não é necessário em sistemas com poucos usuários simultâneos.
O pool de conexões é configurado diretamente na classe DriverManager.
Um pool de conexões reduz o tempo de overhead ao reutilizar conexões já existentes.