Iniciar sesión

Preguntas de entrevista Java con respuesta

Una muestra de las preguntas de nuestros simulacros de entrevista. Intenta responder antes de abrir la respuesta.

10 preguntas Con respuesta
¿Qué imprime?

¿Qué imprime este código?

int a = 7, b = 2; System.out.println(a / b + " " + a % b + " " + (double) a / b);
  1. A3 1 3.5
  2. B3.5 1 3.5
  3. C3 0 3.5
  4. D3 1 3.0
Ver respuesta
A) 3 1 3.5 Entre dos int la división es entera: 7 / 2 = 3 y el resto (7 % 2) es 1. En (double) a / b el cast se aplica primero a "a", así que la división ya es decimal: 3.5.
Analiza el código

Ojo con la sangría. ¿Qué imprime?

int x = 5; if (x > 10) System.out.print("A"); System.out.print("B"); System.out.print("C");
  1. AB
  2. BC
  3. CABC
  4. DBC
Ver respuesta
D) BC Sin llaves, el if solo controla la PRIMERA instrucción (print "A"). print "B" se ejecuta siempre aunque esté sangrado. Por eso conviene usar llaves siempre.
¿Qué imprime?

¿Qué imprime este código?

static void cambiar(int n) { n = 100; } // en main: int x = 5; cambiar(x); System.out.println(x);
  1. A100
  2. B0
  3. C5
  4. DError de compilación
Ver respuesta
C) 5 Java pasa los argumentos POR VALOR: el método recibe una copia de x. Cambiar la copia no afecta a la variable original.
¿Qué imprime?

¿Qué imprime este código?

int[] a = new int[3]; String[] s = new String[2]; System.out.println(a[1] + " " + s[0]);
  1. A0 ""
  2. Bnull null
  3. C0 null
  4. DError de compilación
Ver respuesta
C) 0 null Al crear un array, sus elementos toman el valor por defecto de su tipo: 0 para int y null para objetos como String.
¿Qué imprime?

¿Qué imprime este código?

class A { A() { System.out.print("A"); } } class B extends A { B() { System.out.print("B"); } } // en main: new B();
  1. ABA
  2. BB
  3. CAB
  4. DA
Ver respuesta
C) AB Todo constructor llama primero al del padre (un super() implícito). Por eso se ejecuta A() antes que el cuerpo de B().
¿Qué imprime?

remove(int) vs. remove(Object). ¿Qué imprime?

List<Integer> lista = new ArrayList<>(List.of(10, 20, 30)); lista.remove(1); lista.remove(Integer.valueOf(10)); System.out.println(lista);
  1. A[20, 30]
  2. B[20]
  3. C[30]
  4. D[10, 30]
Ver respuesta
C) [30] Remove(1) con un int borra por ÍNDICE (el 20). remove(Integer.valueOf(10)) recibe un objeto y borra por VALOR (el 10). Queda [30].
¿Qué imprime?

finally con return. ¿Qué imprime?

static int f() { try { return 1; } finally { System.out.print("F "); } } // en main: System.out.println(f());
  1. AF 1
  2. B1
  3. C1 F
  4. DError de compilación
Ver respuesta
A) F 1 El finally se ejecuta SIEMPRE, incluso cuando el try hace return: primero imprime "F " y luego el método entrega el 1.
String Handling

¿Qué imprime este código?

String s1 = "hello"; String s2 = "hello"; String s3 = new String("hello"); System.out.println(s1 == s2); System.out.println(s1 == s3);
  1. Atrue, true
  2. Bfalse, true
  3. Ctrue, false
  4. Dfalse, false
Ver respuesta
C) true, false S1 y s2 apuntan al mismo objeto en el String Pool; s3 es un objeto nuevo en el heap.
¿Qué imprime?

¿Qué imprime este código?

System.out.println(1 + 2 + "3" + 4 + 5);
  1. A15
  2. B12345
  3. C339
  4. D3345
Ver respuesta
D) 3345 Se evalúa de izquierda a derecha: 1 + 2 = 3 (suma de números). Al encontrar "3" se vuelve concatenación de texto: "33", luego "334" y "3345".
¿Qué imprime?

¿Qué imprime este switch?

int dia = 2; switch (dia) { case 1: System.out.print("uno "); case 2: System.out.print("dos "); case 3: System.out.print("tres "); default: System.out.print("otro"); }
  1. Ados tres otro
  2. Bdos
  3. Cdos otro
  4. Dtres otro
Ver respuesta
A) dos tres otro Sin break, el switch "cae" (fall-through): entra en case 2 y sigue ejecutando todos los casos de abajo, incluido default.

⏱️ Haz el simulacro completo

Contra el reloj y sin pistas, como una entrevista real. Al terminar ves la revisión de cada pregunta.

Crear cuenta gratis