0% acharam este documento útil (0 voto)
21 visualizações21 páginas

Programador Java

O documento contém instruções para um concurso público para o cargo de Técnico de Computação - Programador Java, incluindo informações sobre a prova, como tempo, formato das questões e onde encontrar os gabaritos. As questões abordam tópicos específicos da linguagem Java e suas APIs, além de conceitos de orientação a objetos. O documento também inclui questões práticas sobre código e conceitos de programação.

Enviado por

David Meira
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
21 visualizações21 páginas

Programador Java

O documento contém instruções para um concurso público para o cargo de Técnico de Computação - Programador Java, incluindo informações sobre a prova, como tempo, formato das questões e onde encontrar os gabaritos. As questões abordam tópicos específicos da linguagem Java e suas APIs, além de conceitos de orientação a objetos. O documento também inclui questões práticas sobre código e conceitos de programação.

Enviado por

David Meira
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 21

CONCURSO PÚBLICO PARA PROVIMENTOS DE VAGAS EM CARGOS

DE NÍVEL SUPERIOR E MÉDIO

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.

2. Cada questão oferece 5 (cinco) alternativas de respostas, representadas pelas letras A, B, C, D e E,


sendo apenas 1 (uma) a resposta correta.

3. O tempo para a realização da prova é de 4 horas, incluindo o preenchimento da grade de respostas. O


candidato só poderá retirar-se do recinto da prova teórico-objetiva após transcorrida 1 hora e 30 minutos
de seu início. Os dois últimos candidatos deverão retirar-se da sala de prova ao mesmo tempo, devendo
assinar a Ata de Prova.

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.

5. No caderno de prova, o candidato poderá rabiscar, riscar, calcular, etc.

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.

DIREITOS AUTORAIS RESERVADOS À FUNDATEC.


PROIBIDA A REPRODUÇÃO, AINDA QUE PARCIAL, SEM AUTORIZAÇÃO PRÉVIA.

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.

QUESTÃO 03 – Sobre os Servlets do J2EE 1.4,


analise as assertivas a seguir: QUESTÃO 06 – Sobre conceitos de orientação a
objetos em Java, analise as assertivas abaixo:
I. Um servlet é uma classe da linguagem de I. Não é permitido a uma classe estender (usando
programação Java. a palavra-chave extends) mais de uma classe
II. Pode ser usado para manipular requisições base.
HTTP. II. Uma classe pode implementar (usando a
III. Um servlet escrito para rodar num servidor palavra-chave implements) mais de uma
interface.
Windows deve ser reescrito quando portado para
III. Uma classe declarada com o modificador final
rodar num servidor Linux. não pode ser estendida.

Quais estão corretas? Quais estão corretas?

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:

I. A palavra-chave synchronized na definição de


QUESTÃO 08 – Analise o seguinte trecho de código um método indica que esse método só pode ser
Java: acessado por uma thread de cada vez.
II. O método join permite uma thread esperar pelo
término de outra.
int[] array = {1,2,3,4,5};
III. Dois métodos synchronized diferentes num
mesmo objeto podem ser acessados
for ( int i = 0; i < array.length - 1; i++ ) {
simultaneamente por duas threads distintas.
array[i] = array[i+1];
array[i+1] = array[i];
Quais estão corretas?
} // end for
A) Apenas I.
Após a execução desse trecho, qual será o conteúdo B) Apenas II.
da variável array? C) Apenas I e II.
D) Apenas I e III.
A) 1, 2, 3, 4, 5 E) Apenas II e III.
B) 2, 3, 4, 5, 6
C) 2, 3, 4, 5, 5
D) 2, 3, 4, 5, 0 QUESTÃO 12 – Analise as assertivas abaixo sobre
E) 2, 3, 4, 5, null exceções verificadas e não-verificadas em Java.

I. As exceções verificadas (em inglês, checked


QUESTÃO 09 – Sobre alguns conceitos de exceptions) precisam ser listadas direta ou
orientação a objetos em Java, analise as assertivas indiretamente (através de uma superclasse) na
abaixo: cláusula throws do método que as dispara.
II. As subclasses da classe RuntimeException são
I. Um método que é declarado com o modificador consideradas exceções verificadas (em inglês,
final não pode ser sobrescrito em uma checked exceptions).
subclasse. III. Um método de uma subclasse que sobrescreve
II. Quando se chama um método através de uma um método de uma superclasse não pode listar
referência para superclasse, Java executa o exceções verificadas em sua cláusula throws que
método sobrescrito respectivo na subclasse não sejam as exceções (ou subclasses dessas)
associada com o objeto. listadas na cláusula throws do método da
III. A instanciação de objetos de classes abstratas é superclasse que foi sobrescrito.
permitido, mas não recomendado.
Quais estão corretas?
Quais estão corretas?
A) Apenas I.
A) Apenas I. B) Apenas II.
B) Apenas I e II. C) Apenas III.
C) Apenas I e III. D) Apenas I e III.
D) Apenas II e III. E) Apenas II e III.
E) I, II e III.

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.

abstract class Letra {


public void imprime() { System.out.println("Sou uma letra.");}
}

abstract class Consoante extends Letra {


public void imprime() { super.imprime(); System.out.println("Sou uma consoante.");}
}

abstract class Vogal extends Letra {


public void imprime() { super.imprime(); System.out.println("Sou uma vogal.");}
}

class A extends Vogal {


public void imprime() {super.imprime(); System.out.println("A");}
}

class B extends Consoante {


public void imprime() {super.imprime(); System.out.println("B");}
}

Qual alternativa apresenta um trecho de código e D)


saída correspondentes? Código:
Vogal a = new A();
A)
a.imprime();
Código:
Letra letra = new B();
Saída:
letra.imprime();
A
Sou uma vogal.
Saída:
Sou uma letra.
Sou uma letra.
Sou uma consoante.
E)
B
Código:
Letra letra = new A();
B)
letra.imprime();
Código:
Consoante consoante = new B();
Saída:
consoante.imprime();
Sou uma letra.
Saída:
Sou uma letra.
Sou uma consoante.

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.

I. Java possui apenas o mecanismo de passagem


B) de parâmetro por valor (em inglês, by value).
int fb(int[] v) { II. Não é possível criar métodos que modificam o
int resultado = 0; conteúdo de variáveis numéricas (int, double)
for ( int i = 0; i < v.length; i++ ) { passadas como parâmetro.
if ( i % 2 == 1) III. A declaração de método void foo(String... s) {} é
resultado += v[i]; válida e indica um método que pode receber um
} número variável de parâmetros.
return resultado;
} Quais estão corretas?

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:

public static void metodo(List<? extends A> list) { /* ... */ }

A) Uma declaração de classe que estende a classe A.


B) Um método que recebe como parâmetro uma lista de objetos do tipo A ou que sejam subclasses de A.
C) Uma declaração de classe genérica.
D) Um método que recebe como parâmetro uma lista de instâncias da classe A.
E) Um método que recebe como parâmetro uma lista de qualquer tipo de objetos.

QUESTÃO 19 – Sobre a palavra-chave super em QUESTÃO 21 – Sobre arrays em Java, analise as


Java, analise as assertivas a seguir: assertivas que seguem:

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.

( ) i >= 2 && m > -2 QUESTÃO 22 – Sobre o método finalizador finalize,


( ) 3*3 == k || j != 5 analise as assertivas a seguir:
( ) m < -10 || !(k != -m + 1)
( ) k >= j? false : true I. Quando um objeto é finalizado, os métodos
finalizadores (finalize) das superclasses são
A ordem correta de preenchimento dos parênteses, automaticamente chamados pela máquina
de cima para baixo, é virtual.
II. Não recebe nenhum parâmetro.
A) F – V – V – F. III. É chamado pelo coletor de lixo.
B) F – V – V – V.
C) F – F – F – V. Quais estão corretas?
D) V – V – F – F.
E) V – F – F – F. A) Apenas I.
B) Apenas III.
C) Apenas I e II.
D) Apenas I e III.
E) Apenas II e III.

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.

I. Interfaces provêm implementação padrão para COLUNA 2


métodos que podem ou não serem sobrescritos ( ) Em geral, uma coleção primeiro a entrar, primeiro
nas classes que a implementam. a sair.
II. Em uma interface, todo atributo é implicitamente ( ) Pode conter elementos duplicados.
final e estático. ( ) Associa chaves a valores e não pode conter
III. Uma classe pode não pode implementar mais de chaves duplicadas.
uma interface. ( ) Uma coleção que não contém duplicadas.

Quais estão corretas? A ordem correta de preenchimento dos parênteses,


de cima para baixo, é:
A) Apenas I.
B) Apenas II. A) 4 – 2 – 1 – 3.
C) Apenas III. B) 2 – 4 – 3 – 1.
D) Apenas I e II. C) 2 – 3 – 4 – 1.
E) Apenas I e III. D) 4 – 2 – 3 – 1.
E) 3 – 4 – 1 – 2.

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.

COLUNA 2 O texto impresso na saída padrão é correspondente à


( ) Calcula quantos elementos na coleção são iguais alternativa
ao elemento especificado.
( ) Determina se duas coleções não têm nenhum A)
elemento em comum. *****
( ) Localiza um objeto em uma List. ****
( ) Ordena aleatoriamente os elementos de uma List. ***
**
A ordem correta de preenchimento dos parênteses, *
de cima para baixo, é:
B)
A) 4 – 1 – 2 – 3. *
B) 2 – 1 – 4 – 3. **
C) 3 – 1 – 4 – 2. ***
D) 2 – 4 – 1 – 3. ****
E) 3 – 4 – 1 – 2. *****

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;

public App(String first, String last) {


this.first = first;
this.last = last;
}

public boolean equals(Object o) {


if ( !(o instanceof App))
return false;
App n = (App)o;
return n.first.equals(first) && n.last.equals(last);
}

public String toString() {


return first + ", " + last;
}

static public void main(String [] args) {


Set<App> s = new HashSet<App>();
s.add(new App("A", "B"));
System.out.println(s.contains(new App("A", "B")));
}
}

Qual a mensagem que poderá ser impressa na saída padrão?

A) A, B
B) null
C) false
D) A
E) B

QUESTÃO 30 – Considere a precedência de QUESTÃO 31 – Considere o seguinte trecho de


operadores em Java e preencha os parênteses com código Java:
números de 1 a 5, em que 1 indica o operador de
maior precedência (que é executado primeiro) e 5 o
int[] arrayv = {2, 3, 5, 7, 11, 13, 17};
operador de menor precedência.
int[] arrayi = {0, 3, 2, 1};
( )- (subtração)
int[] arrayj = {1, 6, 4, 5};
( ) ++ (pós-incrementado)
( ) && (e condicional)
int s = 0;
( ) || (ou condicional)
for ( int i = 0; i < arrayi.length; i++ )
( )/ (divisão)
s += arrayv[arrayi[i]] + arrayv[arrayj[i]];
A ordem correta de preenchimento dos parênteses,
System.out.println(s);
de cima para baixo, é:

A) 1 – 3 – 2 – 5 – 4. Qual será o valor escrito na saída padrão?


B) 5 – 4 – 1 – 3 – 2.
C) 3 – 1 – 4 – 5 – 2. A) 11
D) 1 – 3 – 4 – 2 – 5. B) 29
E) 3 – 1 – 2 – 5 – 4. C) 37
D) 56
E) 61

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);
}

QUESTÃO 33 – Sobre a serialização de objetos em Qual o valor de f(5)?


Java, analise as assertivas abaixo:
A) 2
I. A palavra-chave transient indica que um atributo B) 3
de classe não deve ser serializado. C) 4
II. O sistema de serialização de Java não suporta D) 5
referência circular entre objetos (e.g. A referencia E) 8
B que por sua vez referencia A).
III. Objetos salvos e recuperados utilizando Object
Streams (ObjectOutputStream e
ObjectInputStream) precisam implementar a
interface Serializable.

Quais estão corretas?

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 MyException extends Exception {


}

class App {

static public void main(String [] args) {


try {
throw new MyException();
System.out.println("Hello World");
} catch (Exception e) {
/*...*/
} catch (MyException e) {
/*...*/
} finally {
/*...*/
}
}
}

Considerando o trecho de código de Java acima, assinale a alternativa correta.

A) É um programa Java válido.


B) A mensagem Hello World será escrita na saída padrão.
C) O bloco finally será executado devido ao lançamento da exceção MyException dentro do bloco try.
D) Ao ser compilado, o compilador Java indicará um erro de compilação.
E) O bloco catch (MyException e) será executado.

QUESTÃO 37 – Sobre expressões regulares e a classe java.util.regex.Pattern de Java, analise o seguinte


programa Java:

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);

Qual será o valor escrito na saída padrão?

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>

QUESTÃO 39 – Considere o método recursivo E)


apresentado na caixa abaixo.
long fe(long n) {
return (2*(n-1))/2;
long f(long n) { }
if ( n == 0 )
return 0;
else
return n + f(n-1); QUESTÃO 40 – Preencha os parênteses quanto à
} quantidade de bits utilizada em Java para armazenar
o tipo de dado primitivo indicado.

Supondo n > 0, tal método pode ser traduzido para o ( ) int


método não-recursivo apresentado em qual ( ) short
alternativa? ( ) long
( ) byte
A)
A ordem correta de preenchimento dos parênteses,
long fa(long n) { de cima para baixo, é:
return n==0 ? 0 : n + fa(n-1);
} A) 32 - 24 - 48 - 8
B) 4-2-8-1
C) 32 - 16 - 64 - 8
B) D) 4-3-6-1
long fb(long n) { E) 32 - 16 - 48 - 8
int r = 0;
while(n-- > 0) QUESTÃO 41 – Sobre objetos imutáveis, analise as
r += n+1; assertivas a seguir:
return r;
} I. Os objetos da classe String são exemplo de
objetos imutáveis.
C) II. Objetos imutáveis são considerados seguros de
serem usados em programação concorrente
long fc(long n) { (thread-safe).
long r = 0; III. O modificador immutable é usado antes da
for ( int i = 0; i < n; i++) declaração da classe para defini-la imutável.
r += i;
return r; Quais estão corretas?
}
A) Apenas I.
D) B) Apenas II.
C) Apenas I e II.
long fd(long n) { D) Apenas I e III.
if ( n > 0 ) E) I, II e III.
return n + fd(n-1);
else
return 0;
}

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:

I. Apenas os valores -1, 0 e 1 são retornados.


II. A expressão "Fundatec".compareTo("Brasil") é
avaliada como -1.
III. A expressão "Fundatec".compareTo("fundatec")
é avaliada como 0.

Quais estão INCORRETAS?

A) Apenas I.
B) Apenas II.
C) Apenas I e II.
D) Apenas I e III.
E) I, II e III.

QUESTÃO 43 – Analise o seguinte programa Java.

class App {

static private void concatena(String s1, String s2) {


s1 = s1 + s2;
s2 = "";
}

static public void main(String[] args) {


String s1 = "Fundatec";
String s2 = "Concursos";

concatena(s1, s2);

System.out.println(s1 + " " + s2);

Ao executar tal programa, o que será escrito na saída padrão?

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.*;

public class App extends JFrame {


public App() {
super("Fundatec");

JPanel panel = new JPanel();


panel.setLayout( new BorderLayout() );

panel.add( new JButton("Btn 1"), BorderLayout.NORTH );


panel.add( new JButton("Btn 2"), BorderLayout.SOUTH );

add(panel);
}

static public void main(String[] args) {


App app = new App();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
app.setSize( 200, 200 );
app.setVisible( true );
}
}

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.*;

public class App extends JFrame {


public App() {
super("Fundatec");

JPanel panel = new JPanel();


panel.setLayout( new FlowLayout() );

JButton btn = new JButton("Ok");


btn.addMouseListener( new MouseListener() {
public void mouseEntered(MouseEvent e) {
System.out.print("A");
}

public void mouseExited(MouseEvent e) {


System.out.print("B");
}

public void mouseReleased(MouseEvent e) {


System.out.print("C");
}

public void mousePressed(MouseEvent e) {


System.out.print("D");
}

public void mouseClicked(MouseEvent e) {


System.out.print("E");
}

});

panel.add(btn);
add(panel);

static public void main(String[] args) {


App app = new App();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
app.setSize( 200, 75 );
app.setVisible( true );
}
}

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;

public class App {

public static void main(String[] args) {


File file = new File("input.txt");

try {

Scanner scanner = new Scanner(file);


scanner.nextLine();

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();
}

}
}

Qual valor será escrito na saída padrão?

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:

Para tal, utiliza-se o trecho de código Java no quadro abaixo.

public void paintComponent(Graphics graphics) {


Graphics2D g = (Graphics2D) graphics;

final double RADIUS = 10;


final double[] X = { x0, x1, x2, x3, x4 };
final double[] Y = { y0, y1, y2, y3, y4 };

for ( int i = 0; i < X.length; i++ ) {


g.draw( new Ellipse2D.Double(X[i],Y[i],RADIUS*2,RADIUS*2));
}
}

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?

A) 10, 10, 30, 10, 50, 10, 70, 20, 90 e 20.


B) 10, 10, 30, 10, 50, 10, 20, 20, 40 e 20.
C) 90, 20, 70, 20, 50, 10, 30, 10, 10 e 10.
D) 10, 10, 30, 10, 50, 10, 20, 30, 40 e 30.
E) 40, 30, 20, 30, 50, 10, 30, 10, 10 e 10.

Para responder às questões 48 a 55, considere as figuras abaixo

Figura 1 - Tabela de dados pessoal.

Figura 2 - Tabela de dados grupos.

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?

SELECT grupo, AVG(salario) FROM pessoal GROUP BY grupo;

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.

INSERT INTO pessoal


(id, nome, grupo, salario, sexo)
VALUES
(4, "Jacó", 2, 999, 1);

A) Após a execução, a tabela pessoal conterá 11 registros.


B) O registro com o campo id igual a 4 será atualizado.
C) Contém erro de sintaxe.
D) Após a execução, a tabela pessoal conterá 9 registros.
E) O novo registro não será inserido devido à chave-primária duplicada.

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á?

SELECT * FROM pessoal RIGHT JOIN grupos ON pessoal.grupo = grupos.id;

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?

A) UPDATE pessoal SET grupo = 3;


B) UPDATE pessoal SET grupo = 3 WHERE grupo = 0;
C) UPDATE pessoal SET grupo = 3 WHERE grupo IS NULL;
D) UPDATE pessoal SET grupo = 3 WHERE grupo IS NOT NULL;
E) UPDATE pessoal SET grupo = 3 WHERE grupo = NULL;

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.*;

public class App {


public static void main(String[] args) {
try {
Connection conn;

Class.forName("com.mysql.jdbc.Driver").newInstance();
String url = "jdbc:mysql://localhost/fundatec";
conn =
DriverManager.getConnection(
url,
"fundatec",
"86GnTfZp7emDxQZ9"
);

Statement stmt = conn.createStatement();

String sql =
"SELECT * FROM pessoal WHERE sexo = ? AND salario > ?";

PreparedStatement pst = conn.prepareStatement(sql);

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:

I. Uma chave-primária é composta de apenas um


campo.
II. Registros diferentes, numa mesma tabela, não
podem ter o mesmo valor de chave-primária.
III. Uma chave-estrangeira pode relacionar campos
de uma tabela apenas com a chave-primária de
outra tabela ou da mesma tabela.

Quais estão corretas?

A) Apenas I.
B) Apenas II.
C) Apenas III.
D) Apenas I e II.
E) I, II e III.

QUESTÃO 57 – Associe os níveis de visibilidade


apresentados na Coluna 1 aos respectivos símbolos
sugeridos pela UML apresentados na Coluna 2.
A) Atividade.
COLUNA 1 B) Implantação.
1. privada (private) C) Classe.
2. pacote (package) D) Sequência.
3. pública (public) E) Caso de Uso.
4. protegida (protected)
COLUNA 2
( )# QUESTÃO 60 – No contexto de UML, assinale a
( )~ alternativa que descreve um artefato mais
( )+ precisamente.
( )-
A) Detalhe da especificação de um elemento,
A ordem correta de preenchimento dos parênteses, acrescentado à sua notação gráfica básica.
de cima para baixo, é B) Uma computação executável que resulta em
alteração do estado do sistema ou no retorno de
A) 2 – 4 – 3 – 1. um calor.
B) 4 – 2 – 1 – 3. C) Um elemento físico existente em tempo de
C) 4 – 2 – 3 – 1. execução que representa um recurso
D) 3 – 2 – 4 – 1. computacional, geralmente dispondo de pelo
E) 3 – 1 – 4 – 2. menos alguma memória e, na maioria das vezes,
capacidade de processamento.
D) Um conjunto de informações utilizado ou
QUESTÃO 58 – Sobre diagramas de Caso de Uso, produzido por um processo de desenvolvimento
assinale a alternativa correta. de software ou sistema existente.
E) A especificação de uma computação executável.
A) Representam a lógica exigida para implementar
comportamentos do sistema.
B) Identificam as expectativas dos clientes para o
sistema.
C) Identificam explicitamente os dados que são
passados como parte das interações.
D) Identificam quais eventos um objeto responderá
ou não.
E) Documentam claramente os requisitos de
temporização que controlam a mudança de
estado.

Execução: Fundatec 21
TÉCNICO DE COMPUTAÇÃO – TC – PROGRAMADOR JAVA

www.pciconcursos.com.br

Você também pode gostar