No hay duda de que Java es uno de los lenguajes de programación con más proyección hacia el futuro, ya que es una de las principales tecnologías en el mundo de la informática.
Y es que en Java, la principal ventaja es que permite a los desarrolladores escribir código que se ejecuta en todas partes. Independientemente de la arquitectura de un sistema, el código compilado de Java se puede ejecutar en cualquier JVM (Java Virtual Machine).
Así que para apoyar a los profesionales especializados en Java, tenemos algunas preguntas comunes que se realizan en una entrevista de trabajo técnica:
- ¿Qué es el polimorfismo?
Enfocada para conocer el dominio en la Programación Orientada a Objetos, se busca que el entrevistado conozca, y describa, la como «una interfaz, muchas implementaciones». El polimorfismo es una característica que permite asignar un significado o uso diferente a algo en contextos diferentes, específicamente, para permitir que una entidad como una variable, una función o un objeto tenga más de una forma. Hay dos tipos de polimorfismo:
- Polimorfismo de tiempo de compilación.
- Polimorfismo en tiempo de ejecución.
- ¿Es posible hacer un array volátil en Java?
Un cuestionamiento más básico en el que se mostrará el conocimiento técnico, así que es contestar que sí, es posible hacer que una matriz sea volátil en Java, pero sólo la referencia que apunta a una matriz, no a toda la matriz. Por lo tanto, si un hilo cambia la variable de referencia apunta a otra matriz, lo que proporcionará una garantía volátil.
Sin embargo, si varios subprocesos están modificando elementos de la matriz en particular, no habrá ningún suceso antes de la garantía proporcionada por el modificador volátil para dicha modificación.
- ¿De los dos, cuál sería más fácil de escribir: código de sincronización para diez subprocesos o dos subprocesos?
Ambos tendrán el mismo nivel de complejidad con respecto a escribir el código porque la sincronización es independiente del número de subprocesos, aunque la elección de la sincronización podría estar sujeta al número de subprocesos porque esto presenta más conflicto.
Por lo tanto, es recomendable optar por una técnica de sincronización avanzada, por ejemplo, Desmontaje de la cerradura, que requiere un código y una competencia más complejos.
- ¿Qué es el polimorfismo en tiempo de ejecución o el método de envío dinámico?
En Java, el polimorfismo en tiempo de ejecución o el envío de métodos dinámicos es un proceso en el que una llamada a un método anulado se resuelve en tiempo de ejecución en lugar de en tiempo de compilación. En este proceso, se llama a un método anulado a través de la variable de referencia de una superclase. Veamos el siguiente ejemplo para entenderlo mejor.
- ¿Cuál es la diferencia entre equals () y ==?
El método Equals () se define en la clase de objetos en Java y se usa para verificar la igualdad de dos objetos definidos por la lógica de negocios.
“==” u operador de igualdad en Java es un operador binario proporcionado por el lenguaje de programación Java y se usa para comparar primitivos y objetos. public boolean equals (Object o) es el método proporcionado por la clase Object. La implementación predeterminada utiliza el operador == para comparar dos objetos. Por ejemplo: el método puede ser anulado como la clase String. El método equals () se usa para comparar los valores de dos objetos.
- ¿Qué es la clase de singleton y cómo podemos hacer un singleton de clase?
La clase Singleton es una clase cuya única instancia se puede crear en un momento dado, en una JVM. Se puede hacer una clase individual haciendo que su constructor sea privado.
¿Cuál ha sido tu experiencia y qué otras preguntas agregarías?