El estar en una entrevista de trabajo puede producir, sin duda, un gran estrés, por ello es recomendable aventurarse a conocer qué podríamos esperar de esa situación, es así que encontramos personas que han pasado por ello y comparten sus experiencias, en este caso, se trata de desarrolladores Java.
Los entrevistadores formulan preguntas que están destinadas a indagar si el candidato posee un conocimiento de la materia, de acuerdo a páginas especializadas como Java Code Geeks (http://www.javacodegeeks.com/2013/09/core-java-interview-questions.html), entre ellas, se encuentran:
- ¿Por qué no hay variables globales en Java?
Debido a que las variables globales son accesibles, por lo que infringen la transparencia referencial, además de crear colisiones en el espacio de nombres.
- ¿Qué significa la palabra clave “static”, y dónde puede ser usada?
Dependiendo el contexto cambia su uso y significado. Variables static, están compartidas por la clase, no por una instancia concreta. Métodos static, compartido a nivel de clase. Clase static, clases internas que no están atadas a su clase contenedora. Además, static puede usarse en un bloque de código de una clase para especificar código que se ejecutará cuando la máquina virtual se inicia por primera vez.
- ¿De qué manera tratarías problemas de dependencia?
La pregunta podría resultar ambigua, pero es el propósito, ya que puede referirse a resolver problemas de inyección de dependencias, también a proyectar dependencias, usando librerías externas, de terceras personas.
- ¿Cómo pruebas tu código?
Aquí deberás hablar de tu experiencia usando librerías como JUnit, Mockito y Selenium. Si bien puede ser que no tengas mucha experiencia usando librerías, si eres capaz de mencionarlas te dará puntos. También podrías investigar y comenzar a estudiar del Desarrollo Orientado a Pruebas (TDD), que actualmente está adquiriendo popularidad.
- ¿De qué manera crearías una clase simple que tenga tres variables?
Aunque a primera vista podría resultar sencilla, pues se explica en clases como Programación Orientada a Objetos, la experiencia indica que será necesario saber cómo sobrescribir correctamente los métodos hashCode() y equals() (usando, por ejemplo, EqualsBuilder y HashCodeBuilder, en la librería Apache Commons).
- ¿Qué es el borrado de tipos?
El borrado de tipos es un fenómeno JVM que significa que en tiempo de ejecución no se tiene conocimiento de los tipos de objetos genéricos, como List<Integer> (el compilador ve a todos los objetos Lista teniendo el mismo tipo, List<Object>).
- ¿Cuándo y por qué son los getters y setters importantes?
El concepto principal que hay que saber para las entrevistas es que los setters y getters pueden formar parte de interfaces y esconder detalles de la implementación, de forma que no hay que hacer a las variables miembros públicas.
Estas preguntas podrían parecer sencillas pero al momento de estar en una entrevista técnica de trabajo, debido a los nervios podrías flaquear, así que vale la pena hacer un último repaso de tus conocimientos.
¿Cuál ha sido tu experiencia y qué otras preguntas agregarías?
- ¿Por qué la pelea entre PHP y Java?
- Programadores Java y su edad promedio
- ¿Cuál es el salario de un desarrollador Java Senior?
Es curioso que a menudo ponen a personal de RH a hacer entrevistas tecnicas… y no saben mucho de terminos tecnicos. Seria bueno manejaran dos filtros de entrevistas.. donde el ultimo sea el de RH
Efectivamente Carlos,
Prácticamente en todos los procesos de reclutamiento y selección de talento existen 2 tipos de filtros; uno que le compete al área de Recursos Humanos y otro más de temas técnicos a cargo del área que demanda la posición laboral. Por lo regular primero se realiza el filtro por parte de RRHH, para después pasar a la entrevista técnica con los expertos y solicitantes de la vacante.
¡Saludos y excelente día!
[…] al top de los 20, las primeras posiciones parece estar reservadas para los mismos. C, Java y Objective C que mes a mes ocupan el pódium de esta clasificación. Las siguientes posiciones […]
Al menos pone la fuente de donde copiaste!