Proceso de selección para desarrollador Java ¿Cómo funciona?

Hola estimados divergentes. Este post es para platicarles sobre la entrevista técnica para entrar como desarrollador java en alguna de las empresas de tecnología que están asentadas en el país.

El proceso inicia con una entrevista telefónica general para conocer un poco mejor al candidato. Normalmente en esta entrevista incluye algunas preguntas que tienen que ser contestadas en inglés. Eso es con el fin de determinar el nivel de fluidez en este idioma. El inglés es indispensable en este tipo de empleos ya que prácticamente todos los clientes son estadounidenses y se tiene que trabajar con equipos de la India.

Después de la primera entrevista, sigue una entrevista técnica que la mayoría de las veces es en inglés. Aquí se busca determinar el nivel de dominio que los candidatos tienen sobre Java principalmente. En el vínculo que comparto aquí abajito hay una lista de más de 100 preguntas de entrevista técnica sobre Java.

https://www.edureka.co/blog/interview-questions/java-interview-questions/

No es el único sitio que recopila preguntas, hay muchos, y las preguntas son muy variadas, pero las más frecuentes son las que tratan los siguientes temas:

  • Los pilares o conceptos clave de la programación orientada a objetos
    • Abstracción
    • Encapsulamiento
    • Polimorfismo
    • Herencia
  • Los cinco principios SOLID
    • Single Responsibility Principle
    • Open/Closed Principle
    • Liskov Substitution Principle
    • Interface Segregation Principle
    • Dependency Inversion Principle
  • Interfaces y clases abstractas
  • La librería Collections
  • Lambdas y programación funcional

Para una posición Senior es muy probable que también hagan preguntas sobre hilos de ejecución o threads y preguntas muy capciosas y tramposas, como por ejemplo:

¿Se puede sobrecargar el método main?

¿Es posible tener un método main en cada una de las clases que conforman un proyecto? ¿Cuál de estos métodos main se ejecuta?

Si la entrevista técnica resulta satisfactoria para los reclutadores, generalmente sigue una prueba de software. Se le da al candidato una serie de problemas que tiene que resolver en cierta cantidad de tiempo. El nivel de dificultad varía mucho de compañía en compañía por lo que es necesario ir entrenado. La siguientes páginas me han servido mucho. Ambas tienen opciones gratuitas y de pago.

https://www.hackerrank.com

https://www.katacoda.com

 Son desafíos y problemas de programación. En este punto les aconsejo que abran una cuenta en gitlab o en github y que cada problema que vayan resolviendo lo suban a su repositorio para que vayan formando un portafolio y para que no tengan que estar resolviendo dos o tres veces los mismos problemas ya que con el tiempo las soluciones se olvidan. Además de que van llevando un registro de su avance. Para estos casos en los que los problemas se resuelven en un solo archivo y las soluciones no son muy largas se puede usar Gist de GitHub que es un repositorio para guardar trozos de código.

Por último, si salen bien librados de todas las entrevistas, es posible que reciban una oferta formal de trabajo aunque no siempre sucede. En caso de que las cosas  salgan mal no se preocupen, sigan aplicando a otros empleos y sigan preparándose. El saber manejar la presión y la frustración es vital para sobrevivir y mantenerse relevantes en el mundo del desarrollo. Gracias por leerme.

2 replies on “ Proceso de selección para desarrollador Java ¿Cómo funciona? ”
  1. Solo agregar que Java rifa en el mundo corporativo, las llamadas aplicaciones enterprise. La razón es muy sencilla, su máquina virtual o JVM (Java virtual machine) que permite una gran portabilidad entre distintos sistemas y arquitecturas. La portabilidad ha sido desde hace mucho tiempo el santo grial del desarrollo de software. Por otro lado, recientemente he visto muy buenas oportunidades de empleo para desarrolladores Python. He sabido incluso de algunas empresas que están migrando sus sistemas de Java a Python por considerarlo un poco más facil.

  2. Ame java mucho tiempo, ahora tiempo que no practico este, sin embargo y apesar con todos los detalles que ha tenido con oracle y mas cosillas de licencias. Es uno de los grandes.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *