JavaRush /Blog Java /Random-ES /Preguntas complicadas sobre Java que se hacen a menudo en...

Preguntas complicadas sobre Java que se hacen a menudo en las entrevistas

Publicado en el grupo Random-ES
Si alguna vez se ha preparado para una entrevista para el puesto de programador Java o ha realizado algún examen (no necesariamente de programación) para obtener un certificado, lo más probable es que ya haya notado que las preguntas que hacen son muy específicas. Muchos de ellos te hacen pensar en la arquitectura del idioma, algunos están diseñados para un conocimiento profundo. También los hay que se parecen más a acertijos o se refieren a matices que son muy difíciles de sentir sin práctica. En este artículo, el desarrollador Saraans Singh proporciona varias de estas preguntas sobre Java. Con respuestas, por supuesto. Preguntas complicadas sobre Java que se hacen a menudo en las entrevistas - 11. ¿Qué sucede si coloca una declaración return o System.exit() en un bloque try/catch? Esta es una pregunta de "puesta al día" muy popular en Java. El truco es que muchos programadores creen que el bloque finallyse ejecutará de todos modos. Esta pregunta desafía este concepto al colocar una declaración returnen un bloque try/catcho llamar desde un bloque try/catchde declaración System.exit (). La respuesta a esta complicada pregunta: el bloque finallyse ejecutará cuando se coloque una declaración returnen un bloque try/catch, y no se ejecutará cuando se llame desde un bloque try/catchde declaración System.exit (). 2. ¿Java admite herencia múltiple? Esta es una pregunta muy complicada. Los entrevistadores suelen decir: si C++ puede soportar la herencia múltiple directa, ¿por qué no puede hacerlo Java? La respuesta es un poco más complicada de lo que parece, ya que Java admite herencia de tipos múltiples, porque una interfaz en él puede extender otras interfaces. Pero el lenguaje Java no admite la herencia múltiple de implementaciones. 3. En el caso de que un método arroje una excepción NullPointerExceptionen la clase principal, ¿puede ser anulada por el método que arroja RuntimeException? Otra pregunta complicada relacionada con los conceptos de sobrecarga y anulación. Respuesta: Puede generar de forma segura una excepción de clase principal en un método anulado NullPointerException – RuntimeException, pero no puede hacer lo mismo con una excepción de tipo marcada Exception. 4. ¿Cómo garantizar que los subprocesos puedan acceder a los recursos sin interbloqueos? NN Si no eres muy bueno escribiendo código multiproceso, esta pregunta te resultará realmente complicada. Puede ser un desafío incluso para un programador experimentado que no haya lidiado con puntos muertos y condiciones de carrera. El truco aquí está en el orden: el punto muerto se puede evitar liberando recursos en el orden inverso al que fueron adquiridos. 5. ¿Cuál es la diferencia entre clases StringBuffery StringBuilderen el lenguaje Java? Una pregunta clásica sobre el lenguaje Java, considerada complicada por algunos desarrolladores y muy sencilla por otros. La clase StringBuilderse introdujo en JDK 1.5 y la única diferencia entre ellos es que los métodos de la clase StringBuffer, por ejemplo, length()o capacity(), append()están sincronizados, mientras que los métodos correspondientes de la clase StringBuilderno. Debido a esta diferencia fundamental, la concatenación de cadenas StringBuilderes más rápida con StringBuffer. De hecho, StringBufferno se recomienda su uso, ya que en el 99% de los casos de uso, la concatenación de cadenas se realiza en el mismo hilo. 6. ¿Qué devuelve la expresión 1.0/0.0? ¿Lanzará una excepción o provocará un error de compilación? Otra pregunta complicada sobre la clase Double. Aunque los desarrolladores de Java conocen el tipo de datos simple double y la clase , cuando realizan operaciones de punto flotante , Doubleno prestan suficiente atención a Double.INFINITY, y a las reglas que gobiernan los cálculos aritméticos asociados con ellos. La respuesta a esta pregunta es simple: no se lanzará ninguna excepción , se devolverá el valor . 7. ¿Qué sucede si intentas insertar un objeto clave en un objeto clave que ya existe en él? Esta pregunta capciosa es parte de otra pregunta frecuente: ¿cómo funcionan en Java? es un tema popular para preguntas confusas y complicadas sobre el lenguaje Java. La respuesta es que si intenta reinsertar una clave , reemplazará la anterior porque la clase no permite claves duplicadas. Y la misma clave significa el mismo código hash, por lo que terminará en el mismo lugar en el segmento hash. Basado en materiales de QuoraNaN-0.0ArithmeticExceptionDouble.INFINITYHashMapHashMapHashMapHashMapHashMap
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION