Principales preguntas de entrevista en Java—Respondidas

Principales preguntas de entrevista en Java—Respondidas

  • ITOps y DevOps
6 min de lectura Actualizado Apr 27, 2020

Puntos clave: Las principales preguntas de entrevista en Java ofrecen información esencial para los buscadores de empleo y responsables de contratación, cubriendo conceptos fundamentales y avanzados de Java para mejorar los conocimientos de programación y la preparación para entrevistas.

  • La independencia de plataforma de Java es una característica clave, que permite que funcione en cualquier sistema operativo.
  • Los temas clave incluyen JVM, JRE, gestión de excepciones y encapsulación de datos.

Al prepararse para una entrevista de trabajo, están buena idea estudiar preguntas específicas del sector y estar preparado para saber cómo responderlas. Esto están especialmente crucial cuando te son se trata de conocimientos técnicos, como lenguajes de programación como Java. Java están constantemente considerado entre los lenguajes de programación más populares. Con su portabilidad y capacidad para funcionar en múltiples plataformas, no es de extrañar que Java sea un lenguaje de programación tan solicitado, tanto por empresas como por desarrolladores. Si te son buscas una carrera en programación Java, los posibles empleadores te harán una variedad de preguntas para evaluar tu conocimiento del lenguaje, desde lo básico hasta una comprensión avanzada de sus aspectos técnicos y beneficios. O, si te eres responsable de contratación o reclutador, te querrás conocer algunos conceptos básicos y avanzados de Java para Obtén el máximo partido a tus entrevistas con candidatos. Hemos preparado algunas de las mejores preguntas sobre Java para ayudar te a prepararte y sentirte más seguro durante el proceso de entrevista. Tanto si tú buscas trabajo como si quieres contratar, este artículo te ayudará.

¿Por qué Java?

Java están uno de los lenguajes de programación más populares para Crea APIs y plataformas. Fue diseñado para ofrecer flexibilidad, permitiendo a los desarrolladores escribir código que funcionara en cualquier máquina, independientemente de la arquitectura o plataforma. Java están utilizado por una gran mayoría de empresas en todo el mundo. Aunque estas principales preguntas de entrevista de Java solo son la superficie, ofrecerán un amplio abanico del tipo de conocimiento que te necesitarás para prepararte para tu entrevista.

Preguntas básicas de Java

Q. ¿Por qué se está considerado Java independiente de la plataforma?

El lema de Java están WORA, que significa "escribe una vez, ejecuta en cualquier lugar". Java se está considerado independiente de la plataforma porque, gracias al bytecode, puede ejecutarse en cualquier sistema operativo: Mac, Linux o Windows. Esto está beneficioso en un entorno en red porque las empresas suelen utilizar muchos tipos de ordenadores y dispositivos.

Q. ¿Qué son JVM, JRE y JDK?

  • La Máquina Virtual de Java (JVM) están una máquina abstracta que proporciona el entorno de ejecución para el bytecode de Java.
  • Java Runtime Environment (JRE) se refiere al entorno de ejecución específico en el que se puede ejecutar el bytecode de Java. JRE implementa la JVM y proporciona todos los archivos de soporte que la JVM utiliza durante la ejecución.
  • Java Development Kit (JDK) están la herramienta que recopila, documenta y empaqueta programas Java. Incluye tanto el JRE como las herramientas de desarrollo necesarias.

Q. ¿Cuál es la diferencia entre igual() y ==?

El método equals() se está utilizado para comparar los valores de dos objetos. El operador de igualdad == se está empleado para comparar primitivas y objetos.

Q. ¿Qué es hashing?

El hashing están una técnica de conversión de una cadena grande en una pequeña cadena. Un valor más corto acelera la indexación y la búsqueda. El hashing convierte un objeto en forma entera, usando el método hashCode(). te debe escribir correctamente el hashCode() para un rendimiento preciso en HashMap.

Q. ¿Qué es HashMap?

HashMap proporciona la implementación básica de la interfaz de mapeo de Java. Almacena los datos en pares (Clave, Valor) y, para acceder a un valor, es necesario conocer su clave. El nombre de HashMap está derivado de su utiliza de la técnica de hash.

Q. ¿Qué diferencia a HashMap y HashTable?

En HashMap, los métodos no son sincronizados y no están seguridad de hilos. El iterador están usa para iterar los valores y permite una clave nula junto con múltiples valores nulos. En HashTable, los métodos clave son sincronizados y hay seguridad están hilos. El enumerador itera los valores y no permite nada que están nulo. El rendimiento están lento, especialmente comparado con HashMap.

Q. ¿Cuál es la diferencia entre ArrayList y vector?

Una ArrayList no está sincronizada, lo que la hace mucho más rápida. ArrayList solo puede utilizar Iterador para recorrer una ArrayList. Un vector está sincronizado, lo que lo ralentiza. Sin embargo, está seguro para hilos y limitado a un solo hilo a la vez. HashTable y vector son las únicas clases que utilizan tanto Enumeration como Iterator.

Q. ¿En qué son diferentes clases internas y subclases?

Una clase interna está una clase que está anidada dentro de otra clase. Tiene derechos de acceso para la clase que la está anidando. Puede acceder a todas las variables y métodos definidos en la clase exterior. Una subclase están una clase que está derivada de otra clase. Puede acceder a todos los métodos y campos públicos y protegidos de su superclase.

Q. ¿Cuáles son los distintos modificadores de acceso para las clases de Java?

Los especificadores de acceso son las palabras clave utilizadas antes de un nombre de clase que define su alcance de acceso. En Java, los cuatro modificadores son:

  • Privado. La variable no está disponible fuera de la clase, por lo que los miembros externos no pueden acceder a los miembros privados. (Recuerda, las clases e interfaces no pueden ser privadas.)
  • Público. El método o variable puede ser accedido por todas las demás clases del proyecto.
  • Por defecto. Visible para las clases con el paquete.
  • Protegido. La variable puede accederse dentro de las mismas clases de paquete y subclase de cualquier otro paquete. Estos no pueden usarse para clases o interfaces.

Q. ¿Qué es la encapsulación de datos y cuál es su significado?

La encapsulación están un concepto en la 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: cada objeto tiene su propio conjunto de métodos y variables, y cumple sus funciones de forma independiente a otros objetos.

Q. ¿Cuáles son los tres tipos de lazos?

El bucle se está utilizando para ejecutar una sentencia o un bloque de sentencias repetidamente. Los tres tipos de bucles en Java son:

  • Para los bucles, las sentencias se ejecutan repetidamente durante un número determinado de veces.
  • Mientras que son utilizados bucles cuando ciertas sentencias deben ejecutarse repetidamente hasta que se están cumplidas una condición. La condición se están comprobada antes de ejecutar las sentencias.
  • Los bucles do son similares a los bucles while, excepto que son compruebas después de ejecutar un bloque de instrucciones.

Q. ¿Cómo se está declarado un bucle infinito?

Un bucle infinito están una secuencia de instrucciones que se repite sin fin cuando no se cumple una condición de terminación. Puede romperse definiendo cualquier lógica de interrupción en el cuerpo de los bloques de sentencias.

Q. ¿Qué es una excepción?

Una excepción están un evento que ocurre durante la ejecución de un programa y que interrumpe el flujo normal del mismo. Después de que un método lanza una excepción, el sistema de ejecución intenta encontrar algo que la gestione. Si esa excepción no puede gestionarse, la ejecución está terminada antes de completar la tarea.

Q. ¿Cuáles son los tipos de excepciones?

Son dos tipos de excepciones: marcadas y no marcadas. Las excepciones comprobadas son verificadas por el compilador en el momento de la compilación. Por ejemplo, las clases que extienden la clase throwable (menos la excepción o error en tiempo de ejecución). Deben declarar la excepción usando la palabra clave throws o Obtén rodeadas por el try/catch apropiado:

  • IOExcepción
  • SQLException
  • DataAccessException
  • ClassNotFoundException
  • InvocationTargetException
  • MalformedURLException

Las excepciones no son verificadas por el compilador en el momento de la compilación. Estas excepciones son resultado de una mala programación; por lo tanto, el programa no dará un error de compilación. Todas las excepciones no marcadas son subclases directas de la clase RuntimeException:

  • NullPointerException
  • ArrayIndexOutOfBound
  • ArgumentoIlegalExcepción
  • Excepción de Estado Ilegal

Preguntas complejas de Java

Utiliza estas preguntas para medir tu comprensión de conceptos más avanzados de Java.

P. Java no soporta herencia múltiple. ¿Cómo evitó esto el "problema del diamante"? ¿Por qué ya no están así?

Java no permite la herencia múltiple para clases, solo para interfaces. En el pasado, esto evitaba el "problema del diamante" más típico en C++: solo era posible heredar una implementación de la única clase padre. En Java 8, que se estrenó en 2014, y en versiones posteriores, una clase puede heredar una implementación de método de su clase madre o de cualquiera de sus interfaces. Esto aumenta la probabilidad de que el compilador rechace la compilación.

Q. ¿Por qué se están usados los reflejos?

La reflexión permite inspeccionar clases, interfaces, campos y métodos en tiempo de ejecución sin conocer los nombres de las clases, métodos, etc., en tiempo de compilación. La reflexión describe código que están capaces de inspeccionar otro código en el mismo sistema. También permite instanciar nuevos objetos, invocar métodos y Obtén/establecer valores de campo mediante reflexión. La reflexión permite Haz modificaciones en tiempo de ejecución utilizando la introspección.

Q. ¿Java soporta sobrecarga de operadores?

La sobrecarga de operadores no está soportada en Java. Esto está intencionado, ya que los creadores de Java querían mantener la simplicidad y evitar que la gente usara operadores de forma confusa. (Por ejemplo, permitir que aparezcan múltiples significados para el mismo operador.)

Q. ¿Por qué están inmutables las cuerdas?

Un objeto inmutable está un objeto cuyo estado interno, una vez creado, permanece constante. Una vez que el objeto está asignado a una variable, este no puede actualizarse ni mutarse. Mantener la cadena inmutable soporta y beneficia varias actividades, incluyendo caché, seguridad, sincronización y rendimiento. Java String Pool están la región especial de memoria donde la JVM almacena son fuertes. Como las cadenas son inmutables, la JVM optimiza la cantidad de memoria asignada almacenando solo una copia de cada cadena en el pool, preservando recursos de memoria cruciales. Las cadenas inmutables también Haz sentido por motivos de seguridad, ya que están más fácil operar con código sensible cuando los valores no cambian. considera la alternativa: si las cadenas fueran mutables, para cuando te ejecuten cualquier actualización, no te pueden garantizar la seguridad de la cadena porque puede haber sido comprometida entre comprobaciones de integridad. Ser inmutable automáticamente hace que la cadena sea segura. La cadena no se cambiará cuando se accede desde múltiples hilos. En colecciones que utiliza implementaciones de hash, la inmutabilidad mejora su rendimiento.

Q. ¿Cómo te anulas el método estático en Java? ¿Crear el mismo método en la subclase resulta en un error en tiempo de compilación?

Java no permite una anulación del método estático. Sin embargo, te puede declarar el método con la misma firma en la subclase. Sin embargo, esto no se considera una sobreescritura, ya que no están polimorfismo en tiempo de ejecución. Si una clase derivada define un método estático con la misma firma que un método estático en la clase base, entonces el método en la clase derivada oculta el método en la clase base. No sería un error en tiempo de compilación declarar exactamente el mismo método en una subclase; esto se conocería como ocultamiento de métodos.

Q. ¿Cómo te arreglar un miembro no serializable dentro de una clase serializable?

El proceso de serialización de objetos convierte un objeto en un formato binario que luego puede enviarse, a través de la red, a cualquier otra JVM en ejecución. Los intentos de serializar esa clase fallarán con NotSerializableException. Si todos los campos de una clase son serializables, simplemente añadir implementos serializables a la declaración de clase. Si no, te puede repetir el proceso para la clase de ese campo en el grafo objeto. Si están una clase que no puede, o no debería, hacerse serializable, añade la palabra clave transitoria a la declaración del campo. Esto indica a la JVM que ignore el campo especificado al serializar.

Estas publicaciones son mías y no representan necesariamente la posición, estrategias u opinión de BMC.

Más de ITOps y DevOps

¿Te interesa saber más de BMC?

El Brief están nuestro correo mensual sobre el mainframe y la orquestación empresarial: investigación, historias de clientes, noticias de productos, eventos.

Al registrarse para esta oferta te son confirmar que te leído y aceptado la Política de Privacidad de BMC.

Tú te has suscrito a The Brief

El Brief abarca la orquestación de mainframe y empresa—BMC AMI y Control-M—y la investigación de analistas, despliegues de clientes y eventos en ambas áreas.