A la hora de encontrar trabajo como programador no tardarás en encontrarte con algún tipo de prueba técnica.
Las pruebas técnicas tienen como objetivo determinar si la persona a la que se le aplica tiene los conocimientos necesarios como para sacar adelante los desarrollos de los que estará encargada. Veremos las categorías de preguntas más frecuentes y cómo prepararnos para cada una de ellas.
Preguntas en entrevistas de programación de sintaxis / frameworks concretos
Éstas preguntas tratan sobre lenguajes, librerías o frameworks particulares, y pretenden evaluar si los conoces bien.
Te pueden presentar un fragmento de código y pedirte que digas que es lo que ocurrirá al ejecutarlo. También te pueden preguntar sobre lo que hace una función o palabra reservada del lenguaje, sobre una etiqueta html o propiedad de css, sobre el resultado que generará una consulta a una base de datos (o cómo construirla para obtener el resultado).
Si en tu trabajo utilizarás lenguajes orientados a objetos pueden preguntar sobre conceptos como la herencia o las clases para asegurarse de que los entiendes. En general puede haber alguna pregunta sobre la “teoría” o los modelos que hay detrás de las herramientas.
Aunque domines un framework o tecnología en particular, es posible que no seas capaz de responder a algunas de éstas preguntas si no has visto nunca las funciones o constructos específicos que aparecen en la prueba.
Justamente por éste motivo, son las más difíciles de preparar. Por supuesto, la acción número uno es trabajar con las tecnologías. Como recomendación a la hora de aprender una herramienta no descuides los aspectos “teóricos” de la misma. Muchas veces cuando queremos aprender una nueva tecnología , tenemos una actitud de “enseñame solo lo que tengo que saber, ni más ni menos”.
Indaga sobre los motivos por los que se creó la herramienta, los problemas que intenta solucionar. Ayuda tener un mapa mental de las diferentes tecnologías que utilizas y el lugar que ocupan unas en relación con otras.
Ésto es algo que surgirá de forma natural mientras entras en contacto con diferentes tecnologías, de modo que lo mejor es apostar por una formación que te permita integrar varias en un proyecto.
Una vez que tengas una buena comprensión de las herramientas que manejas y la “filosofía” que subyace a ellas, te será más fácil intuir aquellos aspectos específicos que desconozcas en un momento dado.
Preguntas de habilidades de programación en una entrevista técnica
Pretenden evaluar habilidades o rasgos que son necesarios para la programación, pero que no tienen que ver con el código como tal. Hablamos de cosas como la capacidad de razonamiento lógico.
Éste tipo de preguntas puede adoptar varias formas. Pueden presentarte dilemas o puzzles que tendrás que resolver, en algunos casos con código y otros usando únicamente la cabeza.
En caso de que te permitan utilizar código, generalmente no requerirá hacer un desarrollo complejo sino simplemente que seas capaz de representar un problema que te han transmitido verbalmente con código.
Podríamos incluir en ésta categoría pruebas de algoritmia, en las que te piden que desarrolles un algoritmo para hacer una tarea particular (como ordenar una lista, identificar elementos que cumplen un patrón…). A diferencia de las preguntas sobre tecnologías, generalmente te darán a elegir el lenguaje a utilizar, o incluso te pedirán que simplemente escribas pseudo código. El código no es el foco, sino el medio para que expreses tus habilidades de razonamiento.
La mejor forma de prepararte es practicar en la resolución de problemas. Puedes utilizar páginas como project Euler, que contienen problemas con soluciones. HackerRank también es una opción muy popular. A la hora de resolver los problemas, mide el tiempo que tardas en resolverlos, pues la prueba seguramente tendrá un límite.
Preguntas de programación sobre metodología de desarrollo
Éste tipo de preguntas van enfocadas sobre todo a ver si eres capaz de realizar desarrollos a nivel profesional y de poner código en producción. Pueden poner a prueba tus conocimientos sobre temas como el profiling, testing, metodologías, control de versiones, generación de documentación, etc…
Podríamos meter aquí también conocimientos de Linux, redes, gestión de contenedores y virtualización, etc… Todas aquellas tecnologías que si bien no forman parte del proyecto, serán su soporte o servirán para sacarlo adelante.
No aplica de igual manera para todos los puestos (en muchos perfiles éstas tecnologías tienen un peso francamente bajo, en otros es lo más importante), pero a la hora de formarte asegúrate de trabajar los aspectos relacionados con el propio proceso de desarrollo.
Las empresas no quieren gente que sepa programar por su cuenta (generalmente), quieren gente para poner los sistemas que necesitan en producción. Parece que si sabes hacer lo primero también podrás con lo segundo, pero no.
En síntesis
Una prueba técnica está pensada para distinguir de forma rápida entre los candidatos que poseen los conocimientos necesarios y los que no. Muchas veces se utilizan para hacer criba y descartar candidatos en las primeras fases del proceso de selección y más adelante tendrá lugar una entrevista con el equipo técnico de la empresa en la que valorarán si vales o no para el puesto.
En general es bueno que leas por encima todas las preguntas para ver cuales son más sencillas de responder. Si ves que no puedes contestar a una, pasa a la siguiente. No merece la pena estar mucho tiempo dándote cabezazos contra la misma pregunta.
Lee bien los enunciados para asegurarte de que entiendes las tareas, merece la pena leer la pregunta un par de veces para representar el problema en tu cabeza.
Para los problemas más complejos, te puede ayudar hacer un esquema o algo de pseudocódigo en papel, siempre y cuando tengas espacio para ello.
Poniendo en práctica éstos consejos estarás en mejores condiciones para pasar éste tipo de pruebas, pero puede ser muy abrumador aprender a dominar tantas cosas a la vez. Por suerte en OXYGEN podemos ayudarte.
Ofrecemos formaciones a distintos niveles, con un fuerte énfasis a conseguir empleo. Tanto en nuestros Bootcamps de Programación, como en el Training te preparamos tanto técnicamente como para hacer frente a las diferentes pruebas que puedes encontrarte en un proceso de selección.
Autor
Manuel Torres
Selección de talento en OXYGEN