Más de 100 preguntas y respuestas de entrevistas sobre Java (2024)

Aquí hay preguntas y respuestas de la entrevista de Java para que los candidatos más nuevos y experimentados consigan el trabajo de sus sueños.

 

Preguntas y respuestas de la entrevista sobre programación Java para principiantes

1) ¿Cuál es la diferencia entre una clase interna y una subclase?

Una clase interna es una clase que está anidada dentro de otra clase. Una clase interna tiene derechos de acceso para la clase que la anida y puede acceder a todas las variables y métodos definidos en la clase externa.

Una subclase es una clase que hereda de otra clase llamada superclase. La subclase puede acceder a todos los métodos y campos públicos y protegidos de su superclase.

👉 Descarga gratuita de PDF: Preguntas y respuestas de la entrevista de la entrevista de Java >>


2) ¿Cuáles son los distintos especificadores de acceso para las clases de Java?

En Java, los especificadores de acceso son las palabras clave utilizadas antes de un nombre de clase que define el alcance del acceso. Los tipos de especificadores de acceso para clases son:

1) Público: Se puede acceder a clase, método y campo desde cualquier lugar.

2) Protegido: Se puede acceder al método, campo desde la misma clase a la que pertenecen o desde las subclases, y desde la clase del mismo paquete, pero no desde fuera.

3) Predeterminado: Solo se puede acceder al método, campo y clase desde el mismo paquete y no desde fuera de su paquete nativo.

4) Privado: Se puede acceder al método, campo desde la misma clase a la que pertenecen.


3) ¿Cuál es el propósito de los métodos estáticos y las variables estáticas?

Cuando existe el requisito de compartir un método o una variable entre varios objetos de una clase en lugar de crear copias separadas para cada objeto, usamos la palabra clave estática para hacer que un método o variable sea compartido para todos los objetos.


4) ¿Qué es la encapsulación de datos y cuál es su importancia?

La encapsulación es un concepto de programación orientada a objetos para combinar propiedades y métodos en una sola unidad.

La encapsulación ayuda a los programadores a seguir un enfoque modular para el desarrollo de software, ya que cada objeto tiene su propio conjunto de métodos y variables y cumple sus funciones independientemente de otros objetos. La encapsulación también sirve para ocultar datos.


5) ¿Qué es una clase singleton? Dé un ejemplo práctico de su uso.

Una clase singleton en Java solo puede tener una instancia y, por lo tanto, todos sus métodos y variables pertenecen a una sola instancia. El concepto de clase singleton es útil para situaciones en las que es necesario limitar la cantidad de objetos para una clase.

El mejor ejemplo de escenario de uso singleton es cuando hay un límite de tener solo una conexión a una base de datos debido a algunas limitaciones del controlador o a problemas de licencia.


6) ¿Qué son los bucles en Java? ¿Cuáles son los tres tipos de bucles?

El bucle se utiliza en programación para ejecutar una declaración o un bloque de declaración repetidamente. Hay tres tipos de bucles en Java:

1) Para bucles

Los bucles For se utilizan en Java para ejecutar declaraciones repetidamente durante un número determinado de veces. Los bucles For se utilizan cuando el programador conoce el número de veces que se ejecutarán las declaraciones.

2) Mientras bucles

El bucle while se utiliza cuando ciertas declaraciones deben ejecutarse repetidamente hasta que se cumpla una condición. En los bucles while, la condición se verifica primero antes de la ejecución de las declaraciones.

3) Hacer bucles while

Do While Loop es lo mismo que el bucle While con la única diferencia de que la condición se verifica después de la ejecución del bloque de declaraciones. Por lo tanto, en el caso del bucle do while, las declaraciones se ejecutan al menos una vez.


7) ¿Qué es un bucle infinito? ¿Cómo se declara un bucle infinito?

Un bucle infinito se ejecuta sin ninguna condición y se ejecuta infinitamente. Un bucle infinito se puede romper definiendo cualquier lógica de ruptura en el cuerpo de los bloques de instrucciones.

El bucle infinito se declara de la siguiente manera:

for (;;)
{
    // Statements to execute

    // Add any loop breaking logic
}

8) ¿Cuál es la diferencia entre continuar y romper?

romper y continuar son dos palabras clave importantes utilizadas en Loops. Cuando se usa una palabra clave break en un bucle, el bucle se rompe instantáneamente mientras que cuando se usa la palabra clave continue, la iteración actual se rompe y el bucle continúa con la siguiente iteración.

En el siguiente ejemplo, el bucle se rompe cuando el contador llega a 4.

for (counter = 0; counter & lt; 10; counter++)
    system.out.println(counter);

if (counter == 4) {

    break;
}

}

En el siguiente ejemplo, cuando el contador llega a 4, el bucle salta a la siguiente iteración y cualquier declaración después de la palabra clave continuar se omite para la iteración actual.

for (counter = 0; counter < 10; counter++)
    system.out.println(counter);

if (counter == 4) {

    continue;
}
system.out.println("This will not get printed when counter is 4");
}

9) ¿Cuál es la diferencia entre double y variables flotantes en Java?

En Java, float ocupa 4 bytes en la memoria mientras Double ocupa 8 bytes en la memoria. Float es un número decimal de punto flotante de precisión simple, mientras que Double is double número decimal de precisión.


10) ¿Qué es la palabra clave final en Java? Dar un ejemplo.

En Java, una constante se declara utilizando la palabra clave Final. El valor se puede asignar solo una vez y después de la asignación, el valor de una constante no se puede cambiar.

En el siguiente ejemplo, se declara una constante con el nombre const_val y se le asigna un valor:

Final privado int const_val=100

Cuando un método se declara como final, las subclases NO pueden anularlo. Este método es más rápido que cualquier otro método, porque se resuelven en tiempo cumplido.

Cuando una clase es rechazadaares como final, no se puede subclasificar. Ejemplo de cadena, entero y otras clases contenedoras.


11) ¿Qué es ternario? opera¿colina? Dar un ejemplo.

Ternario operator, también llamado condicional operator se utiliza para decidir qué valor asignar a una variable en función de una evaluación de valor booleano. ¿Se denota como?

En el siguiente ejemplo, si el rango es 1, al estado se le asigna un valor de "Listo" o "Pendiente".

public class conditionTest {
    public static void main(String args[]) {
        String status;
        int rank = 3;
        status = (rank == 1) ? "Done" : "Pending";
        System.out.println(status);
    }
}

12) ¿Cómo puedes generar aleatoriamente? numbers en Java?

  • Usando Math.random() puedes generar aleatorio numbers en el rango mayor o igual a 0.1 y menor que 1.0
  • Usando la clase aleatoria en el paquete java.util

13) ¿Cuál es el caso del interruptor predeterminado? Da un ejemplo.

En un declaración de cambio, el caso predeterminado se ejecuta cuando no coincide ninguna otra condición de cambio. El caso predeterminado es un caso opcional. Se puede declarar solo una vez que se hayan codificado todos los demás casos de cambio.

En el siguiente ejemplo, cuando la puntuación no es 1 o 2, se utiliza el caso predeterminado.

public class switchExample {
    int score = 4;
    public static void main(String args[]) {
        switch (score) {
            case 1:
                system.out.println("Score is 1");
                break;
            case 2:
                system.out.println("Score is 2");
                break;
            default:
                system.out.println("Default Case");
        }
    }
}

14) ¿Cuál es la clase base en Java de la que se derivan todas las clases?

java.lang.object


15) ¿Puede el método main() en Java devolver algún dato?

En Java, el método main() no puede devolver ningún dato y, por lo tanto, siempre se declara con un tipo de devolución nulo.


16) ¿Qué son los paquetes Java? ¿Cuál es el significado de los paquetes?

En Java, paquete es una colección de clases e interfaces que se agrupan porque están relacionadas entre sí. El uso de paquetes ayuda a los desarrolladores a modularizar el código y agruparlo para su reutilización adecuada. Una vez que el código se ha empaquetado en Paquetes, se puede importar en otras clases y utilizarlo.


17) ¿Podemos declarar una clase como abstracta sin tener ningún método abstracto?

Sí, podemos crear una clase abstracta usando una palabra clave abstracta antes del nombre de la clase, incluso si no tiene ningún método abstracto. Sin embargo, si una clase tiene incluso un método abstracto, debe declararse como abstracto.wise dará un error.


18) ¿Cuál es la diferencia entre una clase abstracta y una interfaz en Java?

La principal diferencia entre una clase abstracta y una interfaz es que una interfaz solo puede poseer una declaración de métodos estáticos públicos sin una implementación concreta, mientras que una clase abstracta puede tener miembros con cualquier especificador de acceso (público, privado, etc.) con o sin implementación concreta.

Otra diferencia clave en el uso de clases e interfaces abstractas es que una clase que implementa una interfaz debe implementar todos los métodos de la interfaz, mientras que una clase que hereda de una clase abstracta no requiere la implementación de todos los métodos de su superclase.

Una clase puede implementar múltiples interfaces pero solo puede extender una clase abstracta.


19) ¿Cuáles son las implicaciones de rendimiento de las interfaces sobre las clases abstractas?

Las interfaces tienen un rendimiento más lento en comparación con las clases abstractas, ya que se requieren direcciones indirectas adicionales para las interfaces. Otro factor clave que los desarrolladores deben tener en cuenta es que cualquier clase puede extender solo una clase abstracta, mientras que una clase puede implementar muchas interfaces.

El uso de interfaces también supone una carga adicional para los desarrolladores, ya que cada vez que se implementa una interfaz en una clase; El desarrollador se ve obligado a implementar todos y cada uno de los métodos de interfaz.


20) ¿Importar un paquete también importa sus subpaquetes en Java?

En Java, cuando se importa un paquete, sus subpaquetes no se importan y el desarrollador debe importarlos por separado si es necesario.

Por ejemplo, si un desarrollador importa un paquete universidad.*, se cargan todas las clases del paquete denominado universidad, pero no se carga ninguna clase del subpaquete. Para cargar las clases desde su subpaquete (digamos departamento), el desarrollador debe importarlo explícitamente de la siguiente manera:

Importar departamento.universidad.*


21) ¿Podemos declarar el método principal de nuestra clase como privado?

En Java, el método principal debe ser público estático para poder ejecutar cualquier aplicación correctamente. Si el método principal se declara como privado, el desarrollador no obtendrá ningún error de compilación; sin embargo, no se ejecutará y dará un error de tiempo de ejecución.


22) ¿Cómo podemos pasar un argumento a una función por referencia en lugar de pasar por valor?

En Java, podemos pasar argumentos a una función sólo por valor y no por referencia.


23) ¿Cómo se serializa un objeto en java?

En Java, para convertir un objeto en un flujo de bytes mediante serialización, la clase implementa una interfaz con el nombre Serializable. Todos los objetos de una clase que implementa una interfaz serializable se serializan y su estado se guarda en un flujo de bytes.


24) ¿Cuándo deberíamos utilizar la serialización?

La serialización se utiliza cuando es necesario transmitir datos a través de la red. Mediante la serialización, el estado del objeto se guarda y se convierte en un flujo de bytes. El flujo de bytes se transfiere a través de la red y el objeto se recrea en el destino.


25) ¿Es obligatorio que un bloque Try vaya seguido de un bloque Catch en Java para el manejo de excepciones?

El bloque Try debe ir seguido del bloque Catch, del bloque Finalmente o de ambos. Cualquier excepción lanzada desde el bloque try debe quedar atrapada en el bloque catch o cualquier tarea específica que se deba realizar antes de la interrupción del código se debe colocar en el bloque Finalmente.


Preguntas y respuestas de la entrevista de Java para experimentados

26) ¿Hay alguna forma de omitir el bloque de excepción Finalmente incluso si ocurre alguna excepción en el bloque de excepción?

Si se genera una excepción en el bloque Try, el control pasa al bloque catch si existe otrowise para finalmente bloquear. El bloque Finalmente siempre se ejecuta cuando ocurre una excepción y la única forma de evitar la ejecución de cualquier declaración en el bloque Finalmente es abortar el código por la fuerza escribiendo siguientewing Línea de código al final del bloque try:

System.exit(0);

27) ¿Cuando se invoca al constructor de una clase?

El constructor de una clase se invoca cada vez que se crea un objeto con una nueva palabra clave.

Por ejemplo, en el siguientewing Los objetos de clase dos se crean usando una nueva palabra clave y, por lo tanto, el constructor se invoca dos veces.

public class const_example {

    const_example() {

        system.out.println("Inside constructor");
    }
    public static void main(String args[]) {

        const_example c1 = new const_example();

        const_example c2 = new const_example();
    }
}

28) ¿Puede una clase tener múltiples constructores?

Sí, una clase puede tener varios constructores con diferentes parámetros. El constructor que se utiliza para la creación de objetos depende de los argumentos pasados ​​al crear los objetos.


29) ¿Podemos anular los métodos estáticos de una clase?

No podemos anular los métodos estáticos. Los métodos estáticos pertenecen a una clase y no a objetos individuales y se resuelven en el momento de la compilación (no en tiempo de ejecución). Incluso si intentamos anular el método estático, no obtendremos un error de compilación, ni el impacto de anular al ejecutar el código.


30) En el siguiente ejemplo, ¿cuál será el resultado?

public class superclass {

    public void displayResult() {

        system.out.println("Printing from superclass");

    }

}

public class subclass extends superclass {

    public void displayResult() {

        system.out.println("Displaying from subClass");

        super.displayResult();

    }

    public static void main(String args[]) {

        subclass obj = new subclass();

        obj.displayResult();

    }

}

ans: La salida será:

Mostrando desde subclase

Impresión desde superclase


31) ¿Es String un tipo de datos en Java?

La cadena no es un tipo de datos primitivo en Java. Cuando se crea una cadena en Java, en realidad es un objeto de la clase Java.Lang.String el que se crea. Después de la creación de este objeto de cadena, todos los métodos integrados de la clase String se pueden utilizar en el objeto de cadena.


32) En el siguiente ejemplo, ¿cuántos objetos de cadena se crean?

String s1="I am Java Expert";

String s2="I am C Expert";

String s3="I am Java Expert";

En el ejemplo anterior, se crean dos objetos de la clase Java.Lang.String. s1 y s3 ​​son referencias al mismo objeto.


33) ¿Por qué las cadenas en Java se denominan inmutables?

En Java, los objetos de cadena se denominan inmutables ya que una vez que se ha asignado un valor a una cadena, no se puede cambiar y, si se cambia, se crea un nuevo objeto.

En el siguiente ejemplo, la referencia str se refiere a un objeto de cadena que tiene el valor "Valor uno".

String str="Value One";

Cuando se le asigna un nuevo valor, se crea un nuevo objeto String y la referencia se mueve al nuevo objeto.

str="New Value";

34) ¿Cuál es la diferencia entre una matriz y un vector?

Una matriz agrupa datos del mismo tipo primitivo y es de naturaleza estática, mientras que los vectores son de naturaleza dinámica y pueden contener datos de diferentes tipos.


35) ¿Qué es el subproceso múltiple?

Multi threading es un concepto de programación para ejecutar múltiples tareas de manera simultánea dentro de un solo programa. Los subprocesos comparten la misma pila de procesos y se ejecutan en paralelo. Ayuda a mejorar el rendimiento de cualquier programa.


36) ¿Por qué se utiliza la interfaz ejecutable en Java?

La interfaz ejecutable se utiliza en Java para implementar aplicaciones de subprocesos múltiples. La interfaz Java.Lang.Runnable se implementa mediante una clase para admitir subprocesos múltiples.


37) ¿Cuáles son las dos formas de implementar subprocesos múltiples en Java?

Las aplicaciones multiproceso se pueden desarrollar en Java utilizando cualquiera de los siguienteswing dos metodologías:

1) Mediante el uso de la interfaz Java.Lang.Runnable. Las clases implementan esta interfaz para habilitar subprocesos múltiples. Hay un método Run() en esta interfaz que está implementado.

2) Escribiendo una clase que extienda la clase Java.Lang.Thread.


38) Cuando se requieren muchos cambios en los datos, ¿cuál debería ser la preferencia a utilizar? Cuerda o CuerdaBuffer?

Desde cadenaBufferLos s son de naturaleza dinámica y podemos cambiar los valores de StringBuffer objetos a diferencia de String, que es inmutable, siempre es una buena opción usar StringBuffer cuando los datos se cambian demasiado. Si usamos String en tal caso, por cada cambio de datos se creará un nuevo objeto String, lo que supondrá una sobrecarga adicional.


39) ¿Cuál es el propósito de utilizar Break en cada caso de Switch Statement?

Break se usa después de cada caso (excepto el último) en un cambio para que el código se rompa después del caso válido y no fluya también en los casos anteriores.

Si no se utiliza break después de cada caso, todos los casos posteriores al caso válido también se ejecutan, lo que genera resultados incorrectos.


40) ¿Cómo se realiza la recolección de basura en Java?

En Java, cuando ya no se hace referencia a un objeto, recolección de basura tiene lugar y el objeto se destruyeyed automáticamente. Para la recolección automática de basura, Java llama al método System.gc() o al método Runtime.gc().


41) ¿Cómo podemos ejecutar cualquier código incluso antes del método principal?

Si queremos ejecutar alguna declaración incluso antes de la creación de objetos en el momento de carga de la clase, podemos usar un bloque de código estático en la clase. Cualquier declaración dentro de este bloque de código estático se ejecutará una vez al momento de cargar la clase, incluso antes de la creación de objetos en el método principal.


42) ¿Puede una clase ser superclase y subclase al mismo tiempo? Da un ejemplo.

Si se utiliza una jerarquía de herencia, una clase puede ser una superclase para otra clase y una subclase para otra al mismo tiempo.

En el siguiente ejemplo, la clase continente es una subclase de la clase mundial y una superclase de la clase país.

public class world {

..........

}
public class continenet extends world {

............

}
public class country extends continent {

......................

}

43) ¿Cómo se crean los objetos de una clase si no se define ningún constructor en la clase?

Incluso si no se define ningún constructor explícito en una clase Java, los objetos se crean correctamente ya que se utiliza implícitamente un constructor predeterminado para la creación de objetos. Este constructor no tiene parámetros.


44) En subprocesos múltiples, ¿cómo podemos garantizar que un recurso no sea utilizado por múltiples subprocesos simultáneamente?neously?

En subprocesos múltiples, el acceso a los recursos que se comparten entre múltiples subprocesos se puede controlar utilizando el concepto de synccronización. Usando syncpalabra clave cronizada, podemos asegurarnos de que solo un hilo pueda usar el recurso compartido a la vez y que otros puedan obtener el control del recurso solo una vez que se haya liberado del otro que lo usa.


45) ¿Podemos llamar al constructor de una clase más de una vez para un objeto?

El constructor se llama automáticamente cuando creamos un objeto usando una nueva palabra clave. Se llama solo una vez para un objeto en el momento de su creación y, por lo tanto, no podemos volver a invocar el constructor para un objeto después de su creación.


46) Hay dos clases llamadas claseA y claseB. Ambas clases están en el mismo paquete. ¿Se puede acceder a un miembro privado de la clase A mediante un objeto de la clase B?

No se puede acceder a los miembros privados de una clase fuera del alcance de esa clase y ninguna otra clase, incluso en el mismo paquete, no puede acceder a ellos.


47) ¿Podemos tener dos métodos en una clase con el mismo nombre?

Podemos definir dos métodos en una clase con el mismo nombre pero con diferente número/tipo de parámetros. El método que se invocará dependerá de los parámetros pasados.

Por ejemplo, en la siguiente clase tenemos dos métodos de impresión con el mismo nombre pero diferentes parámetros. Dependiendo de los parámetros, se llamará el apropiado:

public class methodExample {

    public void print() {

        system.out.println("Print method without parameters.");

    }

    public void print(String name) {

        system.out.println("Print method with parameter");

    }

    public static void main(String args[]) {

        methodExample obj1 = new methodExample();

        obj1.print();

        obj1.print("xx");

    }

}

48) ¿Cómo podemos hacer una copia de un objeto java?

Podemos utilizar el concepto de clonación para crear una copia de un objeto. Usando clonar, creamos copias con el estado real de un objeto.

Clone() es un método de la interfaz Cloneable y, por lo tanto, es necesario implementar la interfaz Cloneable para realizar copias de objetos.


49) ¿Cuál es el beneficio de utilizar la herencia?

El beneficio clave de usar la herencia es la reutilización del código, ya que la herencia permite a las subclases reutilizar el código de su superclase. El polimorfismo (extensibilidad) es otro gran beneficio que permite introducir nuevas funciones sin afectar las clases derivadas existentes.


50) ¿Cuál es el especificador de acceso predeterminado para variables y métodos de una clase?

El especificador de acceso predeterminado para variables y métodos está protegido por paquete, es decir, las variables y la clase están disponibles para cualquier otra clase, pero en el mismo paquete, no fuera del paquete.


51) Dé un ejemplo de uso de punteros en la clase Java.

No hay punteros en Java. Entonces no podemos usar el concepto de punteros en Java.


52) ¿Cómo podemos restringir la herencia de una clase para que no se pueda heredar ninguna clase de ella?

Si queremos que una clase no se extienda más por ninguna clase, podemos usar la palabra clave Final con el nombre de la clase.

en el siguientewing Por ejemplo, la clase Stone es final y no se puede ampliar.

public Final Class Stone {
	// Class methods and Variables
}

53) ¿Cuál es el alcance de acceso del especificador de acceso protegido?

Cuando un método o una variable se declara con el especificador de acceso protegido, se vuelve accesible en la misma clase, en cualquier otra clase del mismo paquete y en una subclase.

Cambiar Clase Paquete Subclase World
público Y Y Y Y
protegido Y Y Y N
sin modificador Y Y N N
privada Y N N N

54) ¿Cuál es la diferencia entre pila y cola?

Tanto la pila como la cola se utilizan como marcador de posición para una colección de datos. La principal diferencia entre una pila y una cola es que la pila se basa en el principio de último en entrar, primero en salir (LIFO), mientras que una cola se basa en el principio FIFO (primero en entrar, primero en salir).


55) En Java, ¿cómo podemos no permitir la serialización de variables?

Si queremos que ciertas variables de una clase no sean serializadas, podemos usar la palabra clave transitorio al declararlos. Por ejemplo, la variable trans_var a continuación es una variable transitoria y no se puede serializar:

public class transientExample { 
	private transient trans_var; 
    // rest of the code 
}

56) ¿Cómo podemos utilizar tipos de datos primitivos como objetos?

Los tipos de datos primitivos como int se pueden manejar como objetos mediante el uso de sus respectivas clases contenedoras. Por ejemplo, Integer es una clase contenedora para el tipo de datos primitivo int. Podemos aplicar diferentes métodos a una clase contenedora, como a cualquier otro objeto.


57) ¿Qué tipos de excepciones se detectan en tiempo de compilación?

Las excepciones marcadas se pueden detectar en el momento de la compilación del programa. Las excepciones marcadas deben manejarse utilizando el bloque try catch en el código para poder compilar el código correctamente.


58) Describe diferentes estados de un hilo.

Un hilo en Java puede estar en cualquiera de los siguienteswing establece lo siguiente:

  • Listo: cuando se crea un hilo, está en estado Listo.
  • En ejecución: un subproceso que se está ejecutando actualmente está en estado de ejecución.
  • En espera: un subproceso que espera a que otro subproceso libere ciertos recursos está en estado de espera.
  • Muerto: un hilo que ha quedado muerto después de la ejecución está en estado muerto.

59) ¿Podemos usar un constructor predeterminado de una clase incluso si se define un constructor explícito?

Java proporciona un constructor predeterminado sin argumentos si no se define ningún constructor explícito en una clase Java. Pero si se ha definido un constructor explícito, no se puede invocar el constructor predeterminado y el desarrollador solo puede usar aquellos constructores que están definidos en la clase.


60) ¿Podemos anular un método usando el mismo nombre de método y argumentos pero diferentes tipos de retorno?

La condición básica para la anulación de métodos es que el nombre del método, los argumentos y el tipo de retorno deben ser exactamente los mismos que los del método que se anula. Por lo tanto, el uso de un tipo de retorno diferente no anula un método.


61) ¿Cuál será el resultado de seguir?wing pieza de código?

public class operatorExample {

    public static void main(String args[]) {

        int x = 4;

        system.out.println(x++);
	}
}

En este caso postfijo ++ operaSe utiliza tor, que primero devuelve el valor y luego lo incrementa. Por lo tanto, su salida será 4.


61) ¿Una persona dice que compiló una clase Java con éxito sin siquiera tener un método principal? ¿Es posible?

El método principal es un punto de entrada de la clase Java y, sin embargo, es necesario para la ejecución del programa; una clase se compila exitosamente incluso si no tiene un método principal. Aunque no se puede ejecutar.


62) ¿Podemos llamar a un método no estático desde dentro de un método estático?

Los métodos no estáticos son propiedad de objetos de una clase y tienen alcance a nivel de objeto y para llamar a los métodos no estáticos desde un bloque estático (como desde un método principal estático), primero se debe crear un objeto de la clase. Luego, utilizando la referencia de objeto, se pueden invocar estos métodos.


63) ¿Cuáles son las dos variables de entorno que se deben configurar para ejecutar cualquier programa Java?

Los programas Java se pueden ejecutar en una máquina sólo una vez después.wing Se han configurado correctamente dos variables de entorno:

  1. Variable PATH
  2. Variable de ruta de clase

64) ¿Se pueden utilizar variables en Java sin inicialización?

En Java, si se usa una variable en un código sin una inicialización previa mediante un valor válido, el programa no se compila y genera un error ya que no se asigna ningún valor predeterminado a las variables en Java.


65) ¿Se puede heredar una clase en Java de más de una clase?

En Java, una clase puede derivarse de una sola clase y no de varias clases. Java no admite herencias múltiples.


66) ¿Puede un constructor tener un nombre diferente al nombre de una clase en Java?

El constructor en Java debe tener el mismo nombre que el nombre de la clase y si el nombre es diferente, no actúa como un constructor y el compilador lo considera un método normal.


67) ¿Cuál será el resultado de Round(3.7) y Ceil(3.7)?

Round(3.7) devuelve 4 y Ceil(3.7) devuelve 4.


68) ¿Podemos usar goto en Java para ir a una línea en particular?

En Java, no existe la palabra clave goto y Java no admite esta función de ir a una línea etiquetada en particular.


69) ¿Se puede volver a iniciar un hilo muerto?

En Java, un hilo que está en estado inactivo no se puede volver a iniciar. No hay forma de reiniciar un hilo inactivo.


70) Es el siguientewing declaración de clase correcta?

public abstract final class testClass {
	// Class methods and variables
}

Respuesta: La declaración de clase anterior es incorrecta ya que una clase abstracta no se puede declarar como Final.


71) ¿Se requiere JDK en cada máquina para ejecutar un programa Java?

JDK es un kit de desarrollo de Java y se requiere únicamente para el desarrollo y para ejecutar un programa Java en una máquina, no se requiere JDK. Sólo se requiere JRE.


72) ¿Cuál es la diferencia entre la comparación realizada por el método igual y == opera¿colina?

En Java, el método equals() se utiliza para comparar el contenido de dos objetos de cadena y devuelve verdadero si los dos tienen el mismo valor mientras == operacomp. torares las referencias de dos objetos de cadena.

en el siguientewing Por ejemplo, es igual () devuelve verdadero ya que los dos objetos de cadena tienen los mismos valores. Sin embargo == operator devuelve falso ya que ambos objetos de cadena hacen referencia a objetos diferentes:

public class equalsTest {

    public static void main(String args[]) {

        String str1 = new String("Hello World");

        String str2 = new String("Hello World");

        if (str1.equals(str2))

        { // this condition is true

            System.out.println("str1 and str2 are equal in terms of values");

        }

        if (str1 == str2) {

            //This condition is true

            System.out.println("Both strings are referencing same object");

        } else

        {

            // This condition is NOT true

            System.out.println("Both strings are referencing different objects");

        }

    }

}

73) ¿Es posible definir un método en una clase Java pero proporcionar su implementación en el código de otro lenguaje como C?

Sí, podemos hacer esto mediante el uso de métodos nativos. En el caso del desarrollo basado en métodos nativos, definimos métodos estáticos públicos en nuestra clase Java sin su implementación y luego la implementación se realiza en otro lenguaje como C por separado.


74) ¿Cómo se definen los destructores en Java?

En Java, no hay destructores definidos en la clase porque no es necesario hacerlo. Java tiene su propio mecanismo de recolección de basura que hace el trabajo automáticamente destruyendo los objetos cuando ya no se hace referencia a ellos.


Preguntas y respuestas de la entrevista de Java para más de 5 años de experiencia

75) ¿Puede una variable ser local y estática al mismo tiempo?

No, una variable no puede ser estática y local al mismo tiempo. Definir una variable local como estática genera un error de compilación.


76) ¿Podemos tener métodos estáticos en una Interfaz?

Los métodos estáticos no se pueden anular en ninguna clase, mientras que los métodos en una interfaz son abstractos por defecto y se supone que deben implementarse en las clases que implementan la interfaz. Por tanto, no tiene sentido tener métodos estáticos en una interfaz en Java.


77) En una clase que implementa una interfaz, ¿podemos cambiar el valor de cualquier variable definida en la interfaz?

No, no podemos cambiar el valor de ninguna variable de una interfaz en la clase de implementación ya que todas las variables definidas en la interfaz son públicas, estáticas y finales por defecto y las variables finales son como constantes que no se pueden cambiar. later.


78) ¿Es correcto decir que debido a la función de recolección de basura en Java, un programa Java nunca se queda sin memoria?

Aunque Java proporciona la recolección automática de basura, no garantiza que un programa Java no se quede sin memoria, ya que existe la posibilidad de que la creación de objetos Java se realice a un ritmo más rápido en comparación con la recolección de basura, lo que resulta en el llenado de todos los recursos de memoria disponibles.

Por lo tanto, la recolección de basura ayuda a reducir las posibilidades de que un programa se quede sin memoria, pero no lo garantiza.


79) ¿Podemos tener algún otro tipo de devolución que no sea nula para el método principal?

No, el método principal de la clase Java solo puede tener un tipo de retorno nulo para que el programa se ejecute correctamente.

No obstante, si es absolutamente necesario devolver un valor al finalizar el método principal, puede usar System.exit(int status)


80) Quiero volver a alcanzar y utilizar un objeto una vez que haya sido recolectado como basura. ¿Como es posible?

Una vez que un objeto ha sido destruidoyed por el recolector de basura, ya no existe en el montón y no se puede acceder a él nuevamente. No hay forma de volver a hacer referencia a él.


81) En la programación de subprocesos Java, ¿qué método es imprescindible para todos los subprocesos?

Run() es un método de interfaz Runnable que todos los subprocesos deben implementar.


82) Quiero controlar las conexiones de la base de datos en mi programa y quiero que solo un hilo pueda establecer una conexión a la base de datos a la vez. ¿Cómo puedo implementar esta lógica?

Respuesta: Esto se puede implementar mediante el uso del concepto de synccronización. El código relacionado con la base de datos se puede colocar en un método que sea synccronizado palabra clave para que sólo un hilo pueda acceder a ella a la vez.


83) ¿Cómo puede un programador generar manualmente una excepción?

Para lanzar una excepción en un bloque de código manualmente, lanzar Se utiliza palabra clave. Luego, esta excepción se detecta y se maneja en el bloque catch.

public void topMethod() {
    try {
        excMethod();
    } catch (ManualException e) {}
}

public void excMethod {
    String name = null;
    if (name == null) {
        throw (new ManualException("Exception thrown manually ");
        }
    }

84) Quiero que mi clase se desarrolle de tal manera que ninguna otra clase (ni siquiera la clase derivada) pueda crear sus objetos. ¿Como lo puedo hacer?

Si declaramos el constructor de una clase como privado, ninguna otra clase podrá acceder a él y, por lo tanto, ninguna otra clase podrá crear una instancia de él y la formación de su objeto se limitará únicamente a ella misma.


85) ¿Cómo se almacenan los objetos en Java?

En Java, cada objeto, cuando se crea, obtiene un espacio de memoria de un montón. Cuando un objeto es destruidoyed por un recolector de basura, el espacio que se le asignó desde el montón se reasigna al montón y queda disponible para cualquier objeto nuevo.


86) ¿Cómo podemos encontrar el tamaño real de un objeto en el montón?

En Java, no hay forma de saber el tamaño exacto de un objeto en el montón.


87) ¿Cuál de los siguientes?wing ¿Las clases tendrán más memoria asignada?

Clase A: tres métodos, cuatro variables, ningún objeto

Clase B: cinco métodos, tres variables, ningún objeto

La memoria no se asigna antes de la creación de objetos. Dado que para ambas clases, no se crean objetos, no se asigna memoria en el montón para ninguna clase.


88) ¿Qué sucede si no se maneja una excepción en un programa?

Si una excepción no se maneja en un programa que utiliza bloques try catch, el programa se cancela y no se ejecuta ninguna declaración después de la declaración que causó la excepción.wing.


89) Tengo varios constructores definidos en una clase. ¿Es posible llamar a un constructor desde el cuerpo de otro constructor?

Si una clase tiene varios constructores, es posible llamar a un constructor desde el cuerpo de otro usando esto().


90) ¿Qué se entiende por clase anónima?

Una clase anónima es una clase definida sin ningún nombre en una sola línea de código usando una nueva palabra clave.

Por ejemplo, en el siguiente código hemos definido una clase anónima en una línea de código:

public java.util.Enumeration testMethod()

{

    return new java.util.Enumeration()

    {

        @Override

        public boolean hasMoreElements()

        {

            // TODO Auto-generated method stub

            return false;

        }

        @Override

        public Object nextElement()

        {

            // TODO Auto-generated method stub

            return null;

        }

    }

91) ¿Existe alguna manera de aumentar el tamaño de una matriz después de su declaración?

Los arrays son estáticos y una vez que hemos especificado su tamaño, no podemos cambiarlo. Si queremos utilizar colecciones en las que es posible que necesitemos un cambio de tamaño (número de elementos), deberíamos preferir el vector a la matriz.


92) Si una aplicación tiene varias clases, ¿está bien tener un método principal en más de una clase?

Si hay un método principal en más de una clase en una aplicación Java, no causará ningún problema ya que el punto de entrada para cualquier aplicación será una clase específica y el código comenzará únicamente desde el método principal de esa clase en particular.


93) Quiero conservar datos de objetos para later usar. ¿Cuál es el mejor enfoque para hacerlo?

La mejor manera de conservar datos para uso futuro es utilizar el concepto de serialización.


94) ¿Qué es una clase local en Java?

En Java, si definimos una nueva clase dentro de un bloque particular, se llama clase local. Esta clase tiene alcance local y no se puede utilizar fuera del bloque donde está definida.


95) Cuerda y CuerdaBuffer ambos representan objetos String. ¿Podemos comparar String y String?Buffer en Java?

Aunque cuerda y cuerdaBuffer Ambos representan objetos String, no podemos compararlos entre sí y si intentamos compararlos, obtenemos un error.


96) ¿Qué API proporciona Java para operaciones en un conjunto de objetos?

Java proporciona una API de colección que proporciona muchos métodos útiles que se pueden aplicar a un conjunto de objetos. Algunas de las clases importantes proporcionadas por Collection API incluyen ArrayList, HashMap, TreeSet y TreeMap.


97) ¿Podemos convertir cualquier otro tipo a tipo booleano con conversión de tipos?

No, no podemos convertir ningún otro tipo primitivo a un tipo de datos booleano ni podemos convertir un tipo de datos booleano a ningún otro tipo de datos primitivo.


98) ¿Podemos usar diferentes tipos de retorno para los métodos cuando se anulan?

El requisito básico de la anulación de métodos en Java es que el método anulado debe tener el mismo nombre y parámetros. Pero un método se puede anular con un tipo de retorno diferente siempre que el nuevo tipo de retorno extienda el original.

Por ejemplo, el método devuelve un tipo de referencia.

Class B extends A {

    A method(int x) {

        //original method

    }

    B method(int x) {

        //overridden method

    }

}

99) ¿Cuál es la clase base de todas las clases de excepción?

En Java Java.lang.Throwable es la superclase de todas las clases de excepción y todas las clases de excepción se derivan de esta clase base.


100) ¿Cuál es el orden de llamada de los constructores en herencia?

En caso de herencia, cuando se crea un nuevo objeto de una clase derivada, primero se invoca al constructor de la superclase y luego al constructor de la clase derivada.

¡¡¡Prepárate para tu entrevista de trabajo!!! Atravesar Tutorial de Java para estar mejor preparado.

Este cuestionario detallado de prueba simulada de Java lo ayudará a aclarar las dudas sobre las preguntas de la entrevista de Java y también lo ayudará a resolver la entrevista.

Estos Java y Preguntas de la entrevista de Java 8 También te ayudará en tu viva (oral).