Home Ejercicios de algoritmos...

Ejercicios de algoritmos: cómo evaluamos a los postulantes en el equipo de ingeniería de software de Nu

Uno de los pasos en el proceso de selección de ingeniería de software de Nu son los ejercicios de algoritmos. Ve cómo funcionan y consulta estos consejos para obtener buenos resultados en las pruebas.

Ingenieros de software hablan sobre ejercicios de algoritmos en las oficinas de Nu

Uno de los valores que tenemos en Nu es “construir equipos fuertes y diversos”. Esto se refleja en todo lo que hacemos, empezando por nuestro proceso de selección. Fue desarrollado no sólo para encontrar el mejor talento, sino también para ser una buena experiencia para las personas que postulan. De esto se trata este posteo sobre ejercicios de algoritmos.

Para quienes postulan a un puesto en el área de ingeniería de software, en muchos casos el primer paso consiste en un ejercicio técnico realizado sobre plataformas de contratación. A continuación, entiende cómo se califican y ve algunos consejos para obtener buenos resultados en las pruebas.

¿Cómo funcionan los ejercicios de algoritmos en la selección del equipo de ingeniería de software de Nu?

Aquí en Nu, más que evaluar tu competencia en el código, estamos evaluando tu lógica de programación y tu capacidad para comprender y evolucionar las estructuras de datos del ejercicio.

Por lo tanto, presentamos en el ejercicio de algorítmica las estructuras de datos de entrada y salida esperada. La clave que debes mostrar a quien esté evaluando es la evolución de estas estructuras usando lógica de programación. La sintaxis y el lenguaje elegido son solo herramientas para esto, tanto que te permitimos elegir el lenguaje con el que te sientas más cómodo.

Es importante asegurarse de que tu código esté limpio, organizado, legible y no agregue más complejidad de la necesaria.

Ahora veamos algunos consejos para salir airosos en los ejercicios de algorítmica de Nu.

¿Cuáles son los principales consejos para resolver ejercicios de algoritmos técnicos?

Hay una serie de buenas prácticas que pueden ayudarte, pero las principales son:

1. Desarrollar la solución basada en la lógica de programación, sin ceñirse al lenguaje elegido

Antes de iniciar el código, intenta crear un pseudocódigo, donde podrás evaluar todo lo que necesitas hacer para que los inputs evolucionen al nuevo estado esperado. El pseudocódigo te ayuda a poner las ideas en su lugar, lo que garantiza que cumpla con todos los requisitos y te guíe a través de la lógica de programación que necesitas implementar.

2. Evita los comentarios y las explicaciones excesivas sobre tu proceso de pensamiento

Los ejercicios de algorítmica propuestos en plataformas en línea no suelen proporcionar un lugar para describir decisiones técnicas. Por lo tanto, no se espera que debas explicar tu proceso de resolución o lo que hace cada fragmento de código.

Tu código debe hablar por sí mismo, por lo que deben evitarse los comentarios sobre este tipo de descripción. Algunos ejemplos de comentarios que, en este contexto, no necesariamente contribuyen a su valoración son: (a) explicaciones detalladas de la solución; (b) explicaciones acerca de otras soluciones que no funcionaron; (c) explicaciones sobre por qué no se incluye un corner case en esta solución, etc.

3. Mantén las variables temporales y las funciones bien nombradas

Dar un nombre descriptivo ayuda mucho a la comprensión. Así, al leer el nombre de una variable, es posible entender qué tipo de información maneja, evitando la necesidad de leer un bloque grande solo para entender su propósito. Ejemplo: para una variable de tipo contador, el nombre “contador_de_evaluacion” es mejor que “a”, ya que describe de manera efectiva su función.

Lo mismo ocurre con los roles: el nombre debe reflejar su responsabilidad.

4. Los roles deben tener responsabilidades bien definidas

Hablando de roles, estos deben tener responsabilidades bien definidas. Cuando un rol tiene muchas responsabilidades, el proceso de comprensión se vuelve muy difícil. Una solución a esto es “dividir” el rol principal en roles más pequeños con responsabilidades bien definidas.

No sólo de ejercicios de algoritmos vive… ¿el hombre? Lee también:

Nu se compromete a tener el 50% de las posiciones de liderazgo ocupado por mujeres

5. No crees interfaces de interacción

Especialmente para los problemas de HackerRank, no es necesario crear una interfaz de interacción. ¡No te preocupes y no pierdas el tiempo con eso!

6. Elimina los códigos no utilizados

Elimina cualquier código muerto. Ejemplos: impresiones, intentos fallidos, variables y funciones no utilizadas. También evaluamos la limpieza y la organización de la resolución; eliminar el código muerto es una manera fácil de garantizar que su solución cumpla con esto.

7. Evita importar librerías

Es posible que la inclusión de nuevas librerías, además de las que trae el ejercicio, no funcionen a tu favor, porque podrían abrir un nuevo camino que no esperábamos evaluar en la lógica de programación.

Al importarlas, existe un gran riesgo de que quienes te evalúan no conozcan la biblioteca, es decir que estarás fallando en mostrar tus conocimientos, con lo que el evaluador puede evaluar muy poco.

8. Validar la solución

Al final, respira hondo, vuelve a leer el ejercicio y comprueba si cumple con todos los requisitos.

Los pasos anteriores son algunos consejos que te ayudarán durante la evaluación. Pero recuerda: en cada proceso de selección, lo más importante es sentirse seguro para poder mostrar lo mejor de tus habilidades.

No sólo de ejercicios de algoritmos viven les programadores en Nu. Lee también:

Programadores: cómo es trabajar en ingeniería de software en Nu

El blog en inglés de Nu, en donde nuestros ingenieros suelen escribir sus descubirmientos.

Este texto fue escrito por Jaqueline Duque y Marcela Porto, ingenieras de software de Nubank.

Introduzca su nombre

Quiero recibir la newsletter