Examen de Diagnóstico Programador Java Instrucciones: Lea cada

Anuncio
PARTICIPANTE:
EMPRESA:
FECHA:
Examen de Diagnóstico Programador Java
Instrucciones: Lea cada pregunta cuidadosamente y marque la(s) respuesta(s) que sean
correctas.
1) Dada la siguiente clase:
1. class ArrayCopy3{
2. public static void main( String [] args) {
3.
int [][] z1 = new int [][] {{1,2,3}, {4,5,6}};
4. for (int j= 0;j<3; j++) {
5.
System.out.println(" ");
6.
for(int k= 0;k<2; k++) {
7.
System.out.print(" z1 "+ j +" "+ k +" = " + z1[j][k]);
8.
}
9.
}
10. }
11. }
Cual seria el resultado al ejecutarla?:
A
La compilación falla
B
Una excepción es lanzada en tiempo de ejecución
C
z1 0 0 = 1 z1 0 1 = 2 z1 0 2 = 3
z1 1 0 = 4 z1 1 1 = 5 z1 1 2 = 6
D
z1 0 0 = 1 z1 0 1 = 3 z1 0 2 = 5
z1 1 0 = 2 z1 1 1 = 4 z1 1 2 = 6
2) Cual modificador limita el acceso a un método de una clase pública a los miembros de la
misma clase?
A
B
C
D
E
final
public
private
protected
default access
3) Si tenemos el siguiente código:
1. class Foo {
2. Foo(String s) {System.out.print(s); }
3. }
4. class Bar extends Foo { }
5. class Test132 {
6. public static void main(String [] args) {
7. new Foo("Foo");
8. new Bar();
9. System.out.print(" done");
10. }
11. }
Cual sería el resultado al ejecutarlo?
A
B
C
D
Foo
Foo done
Compilation fails
Foo, followed by an exception
4) Revise la clase y responda la siguiente pregunta:
1. public class Test {
2. _____ doMath ( long lo, short sh) {
3. return (int) sh / (lo * 10);
4. }
5. }
Cual es el valor válido más pequeño que podría regresar el método doMath?
A
B
C
D
E
F
int
byte
long
float
short
double
5) Cual seria el resultado de ejecutar el siguiente código, suponiendo que se encuentra
dentro de un método main?
1. for (int x = 3; x > 0; x--) {
2. switch (x - 1) {
3. 0: System.out.print("foo ");
4. 1: System.out.print("bar ");
5. 2: System.out.print("baz ");
6. 3: System.out.print("foo ");
7. }
8. }
A
B
C
D
E
F
6)
baz bar foo
foo baz bar foo
baz foo bar baz foo foo bar baz foo
Compilation fails
there is no output
An exception is thrown at runtime
Si tenemos el siguiente código:
1. class ForSequence {
2. static int count = 0;
3. public static void main(String [] args) {
4
int x = 1;
5. for ( test('1'); test('2') && (x < = 2); test('3') ) {
6.
x++;
7.
test('4');
8.
}
9. System.out.println(" count = " + count);
10. }
11. static boolean test(char num) {
12.
System.out.print(" "+num);
13.
count++;
14.
return true;
15. }
16. }
Cual sería el resultado al ejecutarlo?
A
B
C
D
E
F
1 2 3 4 count = 4
1 2 3 4 1 2 3 4 count = 8
1 4 2 3 1 4 2 3 count = 8
1 2 4 3 2 4 3 2 count = 8
1 2 3 4 2 3 4 2 count = 8
Compilation fails
7) Si tenemos el siguiente código:
1. class Exc1 extends Exception{ }
2. class Exc2 extends Exception { }
3.
4. public class Test {
5. static void a() throws Exc1 {
6.
try {
7.
System.out.print("Try ");
8.
}
9.
catch(Exc1 e) {
10.
System.out.print("Catch ");
11.
}
12.
finally {
13.
System.out.println("Finally ");
14.
}
15. }
16.
17. static void b() throws Exc1, Exc2 {
18.
throw new Exc2();
19.
}
20.
21. public static void main (String args[]) {
22.
try {
23.
a();
24.
b();
25.
} catch(Exc1 e) {
26.
System.out.println("Caught1 ");
27.
}
28.
catch(Exc2 ex) {
29.
System.out.print("Caught2" );
30. }
31. }
32. }
Cual sería el resultado al ejecutarlo?
A
B
C
D
E
Try
Try Finally
Try Caught2
Try Finally Caught2
Compilation fails
8) Si tenemos el siguiente código:
12. public int convertString(String s) {
13. assert isANum(s);
14. int x = Integer.parseInt(s);
15. assert(x>12);
16. return x;
17.}
18. private boolean isANum(String s) {
19. assert (!(s.equals("one")));
20. try {
21. int x = Integer.parseInt(s);
22.
assert (x > 1);
23. } catch(NumberFormatException ex) {
24.
return false;
25. }
26. return true;
27. }
Cual línea es una violación al uso apropiado del mecanismo de afirmaciones (assertions)?.
A
B
C
D
línea 13
línea 15
línea 19
línea 22
9) Como se puede destruir un objeto?
A
B
C
D
E
F
Nulificado todas las referencias al objeto
Llamar a Runtime.getRuntime().gc
Asignando null a todas las referencias del objeto.
Llamar a x.remove() , donde x es el nombre del objeto.
Llamar a x.finalize() , donde x es el nombre del objeto.
Solo el colector de basura del sistema puede destruir un objeto.
10) Si tenemos el siguiente código:
7. Dog [] da = new Dog[2];
8. Dog clover = new Dog();
9. da[1] = clover;
10. clover = null;
11. da[1] = da[0];
12. Dog spot = new Dog();
Cuando es el objeto “clover” elegible por el colector de basura?
A
B
C
D
Después de la línea 9
Después de la línea 10
Después de la línea 11
Nunca en este código
11) Dada la interface:
1. public interface TestInterface {
2. long pig = 42;
3. }
Cuales tres producen el mismo resultado que el dado por la línea 2? (Elija tres.)
A
B
C
D
E
F
final long pig = 42;
abstract long pig = 42;
transient long pig = 42;
public static long pig = 42;
protected static long pig = 42;
public static final long pig = 42;
12) Dada la invocación en la línea de comando:
java ClassX foo bar baz
Como son los argumentos inicialmente manejados?
A
B
C
D
E
Un String referido por args
Un String - "foo bar baz"
Tres elementos en un arreglo con números de índices del 0 al 2.
Tres elementos en un arreglo con números de índices del 1 al 3.
Tres arreglos de caracteres conteniendo - f,o,o - b,a,r - b,a,z
13) Cual lista contiene solo palabras reservadas del lenguaje de programación Java?
A
B
C
D
E
throws, loop, break, assert, do
declare, switch, byte, void, if
final, continue, volatile, import, float
transient, volatile, virtual, strictfp, class
instanceof, super, overrides, const, doAnswer:
14) Si tenemos el siguiente código:
1. class ShortIvar {
2. static short [ ] x = new short[3];
3. public static void main(String [ ] args) {
4. x[1] = 7;
5. for (int y= 0;y<3; y++) {
6.
System.out.print(" " + x[y]);
7. }
8. }
9. }
Cual sería el resultado al ejecutarlo?
A
B
C
D
E
F
000
700
070
012
Compilation fails
An exception is thrown at runtime
15)
Si tenemos el siguiente código:
10. Vector v = new Vector();
11. StringBuffer sb = new StringBuffer();
12. class MyList extends ArrayList{};
13. System.out.println( (v instanceof Vector) &&
14.
(sb instanceof Object) &&
15.
(new MyList() instanceof ArrayList) );
16.
Cual sería el resultado al ejecutarlo?
A
B
C
D
E
F
true
null
false
La compilación falla
El código corre sin salida
Una excepción es lanzada en tiempo de ejecución
16) Cual seria el resultado de ejecutar el siguiente código, suponiendo que se encuentra
dentro de un método main?
10. int[] arr1 = new int[1];
11. int[] arr2 = new int[1];
12. arr1[0] = arr2[0] = 1;
13. System.out.println( "Arreglo 1 es igual al arreglo 2 - " + arr1.equals( arr2 ) );
A
B
C
D
E
F
Arreglo 1 es igual al arreglo 2 Arreglo 1 es igual al arreglo 2 - true
Arreglo 1 es igual al arreglo 2 - null
Arreglo 1 es igual al arreglo 2 - false
La compilación falla
Una excepción es lanzada en tiempo de ejecución
17) Dados los siguientes métodos:
10. boolean b1() {
11. System.out.print("b1"); return true;
12. }
13. boolean b2() {
14. System.out.print("b2"); return false;
15. }
16.
17. public void logicalOpsTest () {
18. System.out.println( ( b1() | b2() ) && ( b2() && b1() ) );
19. }
Cual sería el resultado al llamar al método logicalOpsTest?
A
B
C
D
E
F
b1b2b2true
b1b2b2false
Compilation fails
b1b2b2b1true
b1b2b2b1false
Una excepción es lanzada en tiempo de ejecución
18) Que sucede con el siguiente código:
10. abstract class X {
11. public final void op(){}
12. abstract final void op();
13. void op( String s ){}
14. abstract synchronized void op(int i) throws Exception;
15. abstract private void op( String a, int i );
16. }
Cuales son verdaderas? (Elija tres.)
A
B
C
D
E
F
La línea 10 is incompilable
La línea 11 is incompilable
La línea 12 is incompilable
La línea 13 is incompilable
La línea 14 is incompilable
La línea 15 is incompilable
19) Dada la siguiente interface:
1. interface Omega {}
2. class Gamma {}
3. class Epsilon extends Gamma implements Omega {}
4.
5. class Main {
6. public static void main( String[] args ) {
7. Gamma g = new Epsilon();
8. Omega o = (Omega)g;
9. }
10.}
Que podría pasar?
A
B
C
La compilación fallará
Una excepción es lanzada en tiempo de ejecución
El código corre sin producir salida
20) Si una clase tiene el siguiente código y se ejecuta.
1. public static void main( String[ ] args ) {
2. class Widget extends java.lang.Thread {
3.
Widget() {
4.
this.start();
5.
}
6. }
7.
8. for ( int i= 0;i<10; i++ ) {
9.
new Widget();
10. }
11. }
Cuales dos instrucciones son verdaderas ?.
A
B
C
D
E
La compilación falla.
El programa nunca termina.
Una excepción es lanzada en tiempo de ejecución.
Diez threads independientes son creados.
El programa termina después que el décimo thread es creado.
Descargar