Programador Java
Programador Java
TÉCNICO DE COMPUTAÇÃO - TC
PROGRAMADOR JAVA
INSTRUÇÕES
Leia atentamente e cumpra rigorosamente as instruções que seguem, pois elas são parte integrante das
provas e das normas que regem este Concurso Público.
1. Verifique se o cargo constante na capa deste caderno é aquele para o qual realizou a inscrição.
4. Nenhuma informação sobre as instruções e/ou sobre o conteúdo das questões será dada pelo fiscal, pois
são parte integrante da prova.
6. Os gabaritos preliminares da prova objetiva serão divulgados no dia 20/11/2012, até às 23h59min, nos
sites www.fundatec.org.br e www.procergs.rs.gov.br.
7. Certifique-se de que este caderno contém 60 (sessenta) questões. Caso contrário, solicite ao fiscal da sala
a sua substituição.
www.pciconcursos.com.br
PROVA_C19_V2_13/11/201219:23:42
CONHECIMENTOS ESPECÍFICOS QUESTÃO 04 – Sobre a API JNDI (do inglês, Java
Naming and Directory Interface) do J2EE 1.3, analise
QUESTÃO 01 – Sobre algumas APIs da plataforma as assertivas a seguir:
J2EE 1.4, analise as assertivas abaixo:
I. É usada para localizar recursos que são
I. JavaServer Pages (JSP) é uma tecnologia que registrados através do servidor J2EE.
II. A JNDI também é um serviço de atribuição de
roda no cliente e é responsável por gerar
nomes.
páginas web. III. O LDAP (do inglês, Lightweight Directory Access
II. Um componente Enterprise JavaBeans (EJB) é Protocol) é um serviço de atribuição de nomes
utilizado para implementar módulos de lógica de suportado pelo JNDI.
negócios.
Quais estão corretas?
III. A API JDBC permite que comandos SQL sejam
executados a partir da linguagem Java. A) Apenas I.
B) Apenas I e II.
Quais estão corretas? C) Apenas II e III.
D) Apenas I e III.
A) Apenas I. E) I, II e III.
B) Apenas I e II.
C) Apenas II e III.
QUESTÃO 05 – Considerando que a variável inteira v
D) Apenas I e III.
(tipo int) armazena o valor 4, associe as expressões
E) I, II e III.
apresentadas na Coluna 1 ao respectivo resultado
listados na Coluna 2. Considere que as operações
sejam executadas independentemente uma das
QUESTÃO 02 – Sobre Enterprise JavaBeans (EJB) outras.
do J2EE 1.3, analise as assertivas abaixo:
COLUNA 1
I. Os EJBs não podem realizar operações de 1. v >> 2
entrada e saída de arquivos. 2. v | 0x01
II. O uso de variáveis estáticas é permitido nos 3. v % 5
EJBs. COLUNA 2
III. Os EJBs podem atuar como servidor de rede, ( )1
recebendo conexões. ( )5
( )4
Quais estão corretas?
A ordem correta de preenchimento dos parênteses,
de cima para baixo, é:
A) Apenas I.
B) Apenas II. A) 1 – 2 – 3.
C) Apenas III. B) 2 – 1 – 3.
D) Apenas I e II. C) 2 – 3 – 1.
E) Apenas II e III. D) 1 – 3 – 2.
E) 3 – 2 – 1.
A) Apenas I. A) Apenas I.
B) Apenas II. B) Apenas II.
C) Apenas III. C) Apenas I e II.
D) Apenas I e II. D) Apenas II e III.
E) I, II e III. E) I, II e III.
Execução: Fundatec 2
TÉCNICO DE COMPUTAÇÃO – TC – PROGRAMADOR JAVA
www.pciconcursos.com.br
PROVA_C19_V2_13/11/201219:23:42
QUESTÃO 07 – Considere o seguinte trecho de QUESTÃO 10 – Uma maneira correta de representar
código Java: a equação algébrica abaixo em código Java é dada
pela alternativa:
int i = 1;
int j = i++;
int k = ++i;
int m = --k;
int n = --j + m++;
A) (-b + Math.sqrt(Math.pow(b,2) - 4*a*c)) / 2*a
Qual o valor armazenado na variável n após a B) (-b + Math.sqrt(b*b - 4*a*c)) / (2*a)
execução desse trecho de código? C) -b + Math.sqrt(b*b - 4*a*c) / (2*a)
D) (-b + Math.sqrt(b*b - 4*a*c)) / 2*a
A) 0 E) -(b + Math.sqrt(Math.pow(b,2) - 4*a*c)) / 2*a
B) 1
C) 2
D) 3 QUESTÃO 11 – Sobre multithreading e a classe
E) 4 Thread em Java, analise as seguintes assertivas:
Execução: Fundatec 3
TÉCNICO DE COMPUTAÇÃO – TC – PROGRAMADOR JAVA
www.pciconcursos.com.br
PROVA_C19_V2_13/11/201219:23:42
QUESTÃO 13 – Considere a seguinte hierarquia de classes Java.
C)
Código:
A a = new A();
a.imprime();
Saída:
A
Execução: Fundatec 4
TÉCNICO DE COMPUTAÇÃO – TC – PROGRAMADOR JAVA
www.pciconcursos.com.br
PROVA_C19_V2_13/11/201219:23:42
QUESTÃO 14 – Selecione a alternativa que QUESTÃO 15 – Sobre o método construtor em Java,
apresenta um método Java que calcula e retorna o assinale a alternativa correta.
somatório de todos os elementos com índice par de
um vetor (array) de inteiros. A) Pode retornar um valor.
B) É chamado quando uma instância da classe é
A) destruída pelo coletor de lixo.
C) Não pode receber parâmetros.
int fa(int[] v) {
D) Não pode ser sobrecarregado.
int resultado = 0;
E) Precisa ter o mesmo nome da classe.
for ( int i = 0; i < v.length; i++ ) {
resultado += v[i];
}
return resultado; QUESTÃO 16 – Sobre passagem de parâmetros em
} Java, analise as assertivas abaixo.
A) Apenas I.
C) B) Apenas II.
int fc(int[] v) { C) Apenas I e II.
int resultado = 0; D) Apenas II e III.
for ( int i : v ) { E) I, II e III.
resultado += i;
}
return resultado; QUESTÃO 17 – Relacione os níveis de controle de
} acesso de membros de classes em Java na Coluna 1
com sua respectiva descrição na Coluna 2.
D) COLUNA 1
int fd(int[] v) { 1. public
int resultado = 0; 2. private
boolean flag = true; 3. protected
for ( int i : v ) { 4. package
if ( flag )
resultado += i; COLUNA 2
flag = !flag; ( ) Acesso é permitido na própria classe e em todas
} as classes no mesmo pacote.
return resultado; ( ) Acesso é permitido apenas na própria classe.
} ( ) Acesso é permitido na própria classe bem como
em todas as outras classes.
( ) Acesso é permitido na própria classe bem como
E) em todas as subclasses e classes no mesmo
int fe(int[] v) { pacote.
int resultado = 0;
int i = 0; A ordem correta de preenchimento dos parênteses,
while ( ++i < v.length ) { de cima para baixo, é
if ( i % 2 == 0 )
resultado += v[i]; A) 4 – 2 – 1 – 3.
} B) 3 – 2 – 1 – 4.
return resultado; C) 4 – 1 – 2 – 3.
} D) 3 – 1 – 2 – 4.
E) 3 – 1 – 4 – 2.
Execução: Fundatec 5
TÉCNICO DE COMPUTAÇÃO – TC – PROGRAMADOR JAVA
www.pciconcursos.com.br
PROVA_C19_V2_13/11/201219:23:42
Questão 18 - Selecione a alternativa que melhor e mais amplamente descreve a seguinte construção Java:
I. Pode ser usada numa subclasse para chamar o I. Quando um array é declarado, os elementos
construtor da superclasse imediata. (valores) são inicializados com 0 (zero) para
II. Pode ser usada, seguida do operador ponto, arrays de números como int[] e double[]; false
para acessar membros da superclasse imediata. para arrays do tipo boolean[]; ou null para um
III. Não é possível encadear referências a array de referências para objetos.
superclasses como em super.super.toString(). II. O último índice válido de um array é igual ao
tamanho (propriedade length) desse array.
A) Apenas II. III. Tentar acessar um índice fora dos limites do
B) Apenas III. array é um erro detectado em tempo de
C) Apenas I e II. compilação.
D) Apenas II e III.
E) I, II e III. Quais estão corretas?
A) Apenas I.
QUESTÃO 20 – Suponha que i, j, k e m sejam B) Apenas II.
variáveis do tipo int e que i = 2, j = 5, k = 9 e m = -8. C) Apenas III.
Preencha os parênteses com V para as comparações D) Apenas I e II.
avaliadas para true e com F as comparações E) I, II e III.
avaliadas para false.
Execução: Fundatec 6
TÉCNICO DE COMPUTAÇÃO – TC – PROGRAMADOR JAVA
www.pciconcursos.com.br
PROVA_C19_V2_13/11/201219:23:42
QUESTÃO 23 – Relacione os métodos da classe QUESTÃO 25 – Sobre sobrecarga em Java, analise
padrão Math indicados na Coluna 1 com a respectiva as assertivas a seguir:
descrição apresentada na Coluna 2.
I. Java possui mecanismo de sobrecarga de
COLUNA 1 operadores.
1. abs( x ) II. É possível sobrecarregar um método com
2. ceil( x ) mesma assinatura, mas com tipo de retorno
3. floor( x ) diferente.
4. sqrt( x ) III. Métodos sobrecarregados precisam ter o mesmo
número de parâmetros.
COLUNA 2
( ) Retorna o valor absoluto de x. Quais estão INCORRETAS?
( ) Retorna o valor de x arredondado para o menor
inteiro não menor que x. A) Apenas I.
( ) Retorna o valor de x arredondado para o maior B) Apenas II.
inteiro não maior que x. C) Apenas III.
( ) Retorna a raiz quadrada de x. D) Apenas II e III.
E) I, II e III.
A ordem correta de preenchimento dos parênteses,
de cima para baixo, é:
QUESTÃO 26 – Considere algumas interfaces de
A) 1 – 3 – 2 – 4. estrutura de coleção apresentadas na Coluna 1 e
B) 4 – 2 – 3 – 1. relacione-as com a respectiva descrição apresentada
C) 1 – 2 – 3 – 4. na Coluna 2.
D) 4 – 3 – 2 – 1.
E) 2 – 1 – 3 – 4. COLUNA 1
1. Set.
2. List.
QUESTÃO 24 – Sobre interfaces em Java, analise as 3. Map.
seguintes assertivas: 4. Queue.
Execução: Fundatec 7
TÉCNICO DE COMPUTAÇÃO – TC – PROGRAMADOR JAVA
www.pciconcursos.com.br
PROVA_C19_V2_13/11/201219:23:42
QUESTÃO 27 – Considere alguns algoritmos de QUESTÃO 28 – Considere o seguinte trecho de
estrutura de coleções apresentados na Coluna 1 e código Java:
relacione-os com sua respectiva descrição
apresentada na Coluna 2.
for ( int i = 0; i < 5; i++ ) {
for ( int j = 0; j < i+1; j++ ) {
COLUNA 1
System.out.print("*");
1. disjoint.
} // end for
2. frequency.
System.out.println();
3. shuffle.
} // end for
4. binarysearch.
C)
*
*
*
*
*
D)
*****
*****
*****
*****
*****
E)
***
**
*
**
***
Execução: Fundatec 8
TÉCNICO DE COMPUTAÇÃO – TC – PROGRAMADOR JAVA
www.pciconcursos.com.br
PROVA_C19_V2_13/11/201219:23:42
QUESTÃO 29 – Considere o programa Java apresentado na caixa abaixo.
import java.util.*;
class App {
private final String first, last;
A) A, B
B) null
C) false
D) A
E) B
Execução: Fundatec 9
TÉCNICO DE COMPUTAÇÃO – TC – PROGRAMADOR JAVA
www.pciconcursos.com.br
PROVA_C19_V2_13/11/201219:23:42
QUESTÃO 32 – Qual método Java calcula QUESTÃO 34 – Qual mensagem será impressa pelo
corretamente o fatorial de um número inteiro positivo? seguinte trecho de código Java na saída padrão?
A)
int a = 10;
int fa(int n) {
return n * fa(n-1); if ( a <= 0 )
} System.out.println("A");
if (a > 10)
System.out.println("B");
B)
else
int fb(int n) { System.out.println("C");
return n!;
} switch (a) {
case 0x10:
System.out.println("D"); break;
C)
case 0xA:
int fc(int n) { break;
int result; default:
for ( int i = 0; i < n; i++) System.out.println("E");
result *= i; }
return result;
}
A) A
B) B
D) C) C
D) D
int fd(int n) { E) E
int result = 1;
while(n > 0)
result *= n--;
return result; QUESTÃO 35 – Considere a função recursiva f
} apresentada na caixa abaixo:
E) long f(long n) {
if ( n == 0 || n == 1)
int fe(int n) { return n;
return n >=0 ? n * fe(n-1) : 1; else
} return f(n-1) + f(n-2);
}
A) Apenas I.
B) Apenas II.
C) Apenas III.
D) Apenas I e II.
E) Apenas I e III.
Execução: Fundatec 10
TÉCNICO DE COMPUTAÇÃO – TC – PROGRAMADOR JAVA
www.pciconcursos.com.br
PROVA_C19_V2_13/11/201219:23:42
QUESTÃO 36 – Analise o seguinte trecho de código Java:
class App {
import java.util.regex.Pattern;
class App {
static public void main(String[] args) {
String pattern = "a+[bc]*";
int i = 0;
i += Pattern.matches(pattern, "aaaaab")? 1 : 0;
i += Pattern.matches(pattern, "a")? 1 : 0;
i += Pattern.matches(pattern, "bcbc")? 1 : 0;
i += Pattern.matches(pattern, "aacccc")? 1 : 0;
i += Pattern.matches(pattern, "cbbbc")? 1 : 0;
System.out.println(i);
A) 1
B) 2
C) 3
D) 4
E) 5
Execução: Fundatec 11
TÉCNICO DE COMPUTAÇÃO – TC – PROGRAMADOR JAVA
www.pciconcursos.com.br
PROVA_C19_V2_13/11/201219:23:42
QUESTÃO 38 – Sobre expressões regulares e a classe java.util.regex.Pattern de Java, considere que se deseja
casar a sequência de caracteres apresentada na caixa a seguir:
<a href='http://www.fundatec.org.br'>Fundatec</a>
Qual padrão (expressão regular) poderá ser usado para identificar esse tipo de sequência através da classe
Pattern de Java?
A) <a\\s*href\\s+=\\s+'.*'\\s+>.*</a>
B) <a\\s+href\\s*=\\s*'.*'\\s*>.*</a>
C) <a\\s+href\\s*=\\s*'*'\\s*>[a-zA-Z0-9]*</a>
D) <a\\s+href\\s+=\\s+'*'\\s+>*</a>
E) <a\\s*href\\s*=\\s*'[a-zA-Z0-9]*'\\s*>.*</a>
Execução: Fundatec 12
TÉCNICO DE COMPUTAÇÃO – TC – PROGRAMADOR JAVA
www.pciconcursos.com.br
PROVA_C19_V2_13/11/201219:23:42
QUESTÃO 42 – Considere o método int
compareTo(String) da classe String de Java e analise
as seguintes assertivas:
A) Apenas I.
B) Apenas II.
C) Apenas I e II.
D) Apenas I e III.
E) I, II e III.
class App {
concatena(s1, s2);
A) Fundatec
B) Fundatec Concursos
C) Fundatec Concursos Concursos
D) Concursos
E) Concursos Concursos
Execução: Fundatec 13
TÉCNICO DE COMPUTAÇÃO – TC – PROGRAMADOR JAVA
www.pciconcursos.com.br
PROVA_C19_V2_13/11/201219:23:42
QUESTÃO 44 – Analise o seguinte aplicativo Java:
import java.awt.*;
import javax.swing.*;
add(panel);
}
Qual alternativa apresenta uma imagem que melhor representa a interface gráfica criada por tal aplicativo?
A) D)
B) E)
C)
Execução: Fundatec 14
TÉCNICO DE COMPUTAÇÃO – TC – PROGRAMADOR JAVA
www.pciconcursos.com.br
PROVA_C19_V2_13/11/201219:23:42
QUESTÃO 45 – Analise o programa Java a seguir:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
});
panel.add(btn);
add(panel);
Qual mensagem será impressa na saída padrão ao se dirigir o mouse e clicar no botão "Ok"?
A) E
B) ADCE
C) DCE
D) DE
E) B
Execução: Fundatec 15
TÉCNICO DE COMPUTAÇÃO – TC – PROGRAMADOR JAVA
www.pciconcursos.com.br
PROVA_C19_V2_13/11/201219:23:42
QUESTÃO 46 – Considere que o arquivo texto input.txt tenha o seguinte conteúdo:
Lista de Países
EUA 100 0
Japão 90 1
China 80 1
Alemanha 70 0
Brasil 60 1
E que o seguinte aplicativo Java é utilizado para lê-lo (suponha que o arquivo esteja no mesmo diretório e
acessível ao aplicativo).
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
try {
int count = 0;
while (scanner.hasNextLine()) {
String country = scanner.next();
int value = scanner.nextInt();
int enable = scanner.nextInt();
if ( enable == 1 )
count += value;
}
scanner.close();
System.out.println(count);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
A) 400
B) 230
C) 0
D) 3
E) 160
Execução: Fundatec 16
TÉCNICO DE COMPUTAÇÃO – TC – PROGRAMADOR JAVA
www.pciconcursos.com.br
PROVA_C19_V2_13/11/201219:23:42
QUESTÃO 47 – Suponha que se queira desenhar círculos arranjados de forma similar aos anéis Olímpicos
mostrado na figura a seguir:
Quais valores podem ser atribuídos às variáveis x0, y0, x1, y1, x2, y2, x3, y3, x4 e y4, nesta ordem, para obter
círculos dispostos de forma similar a disposição dos anéis Olímpicos?
Execução: Fundatec 17
TÉCNICO DE COMPUTAÇÃO – TC – PROGRAMADOR JAVA
www.pciconcursos.com.br
PROVA_C19_V2_13/11/201219:23:42
QUESTÃO 48 – Considerando a tabela pessoal mostrada na Figura 1, quantos registros retornam o comando
SQL na caixa abaixo?
A) Nenhum
B) 1
C) 2
D) 3
E) 10
QUESTÃO 49 – Considerando a tabela pessoal mostrada na Figura 1, qual o valor retornado pela consulta SQL
na caixa abaixo?
SELECT COUNT(*) FROM pessoal WHERE sexo = 0 AND salario >= 1000;
A) 0
B) 4
C) 5
D) 8
E) 10
QUESTÃO 50 – Considerando a tabela pessoal mostrada na Figura 1, quantos registros a consulta SQL abaixo
retornará?
SELECT * FROM
pessoal AS t0, pessoal AS t1
WHERE
t0.sexo = 0 AND t0.sexo != t1.sexo;
A) 5
B) 10
C) 25
D) 50
E) 100
QUESTÃO 51 – Considere a tabela pessoal mostrada na Figura 1 e que o campo id é chave-primária dessa
tabela. Analise o comando SQL na caixa abaixo e marque a alternativa correta.
Execução: Fundatec 18
TÉCNICO DE COMPUTAÇÃO – TC – PROGRAMADOR JAVA
www.pciconcursos.com.br
PROVA_C19_V2_13/11/201219:23:42
QUESTÃO 52 – Considere a tabela pessoal mostrada na Figura 1 e a tabela grupos mostrada na Figura 2.
Quantos registros a consulta SQL na caixa abaixo retornará?
A) 9
B) 10
C) 11
D) 20
E) 30
QUESTÃO 53 – Considere a tabela pessoal mostrada na Figura 1. Deseja-se utilizar uma consulta SQL para
atualizar todos e somente os registros cujo campo grupo é nulo (NULL), alterando o valor do campo grupo para 3.
Para tanto, é possível utilizar qual comando SQL?
QUESTÃO 54 – Considere a tabela pessoal mostrada na Figura 1 e a tabela grupos mostrada na Figura 2. Quais
registros, referenciados pelo valor do campo id, são retornados pela consulta SQL abaixo, considerando a ordem
em que são retornados?
SELECT * FROM
pessoal, grupos
WHERE
pessoal.grupo = grupos.id AND
pessoal.sexo = 1 AND
grupos.id = 1
ORDER BY
pessoal.salario;
A) 4, 9, 3, 1, 7
B) 7, 1, 3, 9, 4
C) 7, 1, 4
D) 4, 1, 7
E) A consulta retorna nenhum (zero) registro.
Execução: Fundatec 19
TÉCNICO DE COMPUTAÇÃO – TC – PROGRAMADOR JAVA
www.pciconcursos.com.br
PROVA_C19_V2_13/11/201219:23:42
QUESTÃO 55 – Considere a tabela pessoal mostrada na Figura 1, a tabela grupos mostrada na Figura 2 e, ainda,
o aplicativo Java mostrado na caixa abaixo.
import java.sql.*;
Class.forName("com.mysql.jdbc.Driver").newInstance();
String url = "jdbc:mysql://localhost/fundatec";
conn =
DriverManager.getConnection(
url,
"fundatec",
"86GnTfZp7emDxQZ9"
);
String sql =
"SELECT * FROM pessoal WHERE sexo = ? AND salario > ?";
pst.setInt(1, 0);
pst.setDouble(2, 3000.00);
ResultSet rs = pst.executeQuery();
int total = 0;
while (rs.next()) {
total += rs.getDouble("salario");
}
System.out.println(total);
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Supondo que os drivers estão disponíveis e que a conexão com o banco de dados MySQL é estabelecida sem
problemas, qual o valor impresso na saída padrão?
A) 0
B) 5900
C) 14659
D) 8970
E) 6436
Execução: Fundatec 20
TÉCNICO DE COMPUTAÇÃO – TC – PROGRAMADOR JAVA
www.pciconcursos.com.br
PROVA_C19_V2_13/11/201219:23:42
QUESTÃO 56 – Sobre chaves-primárias e chaves- QUESTÃO 59 – No contexto de UML, a imagem
estrangeiras em banco de dados relacional SQL, abaixo representa um diagrama de
analise as seguintes assertivas:
A) Apenas I.
B) Apenas II.
C) Apenas III.
D) Apenas I e II.
E) I, II e III.
Execução: Fundatec 21
TÉCNICO DE COMPUTAÇÃO – TC – PROGRAMADOR JAVA
www.pciconcursos.com.br