30 preguntas
51 minutos
Árbol
Pila & Cola
Ordenamiento
Listas Enlazadas
Grafo
Complejidad del Tiempo
Algoritmos (D&C, Greedy, Dinámico)
El test estructuras de datos y algoritmos de Kandio te permite evaluar a candidatos, empleados, proveedores, agencias o independientes que tengan que realizar cualquier tarea relacionada con estructuras de datos o algoritmos.
Recuerda que Kandio ofrece pautas para determinar con qué programadores proceder y a cuáles descartar. Kandio te dará instrucciones confiables relativas a los tópicos que los programadores deberían manejar, aun cuando un programador podría ser excelente, incluso si no conoce todo sobre estos tópicos.
Sugerimos aplicar nuestros test antes del proceso de entrevistas para saber realmente a quién entrevistar. El informe final de Kandio te permitirá entablar una conversación con los candidatos sólidos, en lugar de realizar un proceso de descalificación en una etapa de entrevista tardía.
Detalles del Test
Para ser extraordinarios, las estructuras de datos y los algoritmos se están volviendo cada vez más cruciales para el día a día del programador en el mundo de hoy. Las teorías y estándares cubiertos por este test abordan conceptos generales de todos los lenguajes de programación, ya sean Java, Python, PHP, u otro.
Los conceptos de estructuras de datos y algoritmos apropiados son esenciales para alcanzar grandes niveles de Inteligencia Artificial como de Machine Learning, que parecen ser dos de las palabras de moda más importantes de esta década. Los conceptos también se pueden resumir con esta imagen:
Por estas razones obvias, hemos colaborado con DS Guy, que es uno de los instructores más exitosos del mundo en estructuras de datos y algoritmos a escala global. Él personalmente ha elaborado este test y todas sus preguntas
Este test te ayudará a filtrar aquellos candidatos de calidad inferior a la hora de contratar:
1. Desarrolladores: desarrolladores de nivel básico, medio y avanzado en cualquiera etapa de su carrera y con cualquier lenguaje de programación (Java, Python, Php, etc.)
2. Especialistas en Calidad de Software (ingenieros de automatización, arquitectos de automatización, SDET) para cualquier herramienta, ya sea Selenium, QTP, SoapUI, etc.
Análisis de tiempo de ejecución de algoritmos
Es la base para las estructuras de datos y algoritmos. Un candidato exitoso debería tener una idea adecuada del tiempo de ejecución de cualquier algoritmo dado.
Matrices, Listas Enlazadas
Estas son las estructuras de datos primarias. Son un imprescindible para cualquier ingeniero de software que realice tareas básicas de codificación en su día a día.
Pila, Cola
Estas son estructuras de datos lógicas (DS) simples, que se utilizan mucho en situaciones específicas (LIFO, FIFO). Conocer estas DS en profundidad ayuda a resolver problemas específicos de manera eficiente.
Árbol, Grafo
Estas son estructuras de datos lógicos avanzadas, que resuelven problemas bastante complejos de manera eficiente. Un candidato exitoso debe conocerlas en profundidad para escribir código eficiente cuando se trata de problemas bastante complejos.
Ordenamiento
Existen múltiples técnicas de ordenamiento disponibles. Cada una de estas técnicas ha sido diseñada para una situación específica. Saber qué técnica utilizar y en qué escenario ayuda a ahorrar almacenamiento y tiempo.
Algoritmo
Un problema dado puede resolverse de muchas maneras. Pero lo que diferencia a un ingeniero de software eficiente de un ingeniero de software ordinario es el profundo conocimiento de los algoritmos. El mismo problema se puede resolver en mucho menos tiempo y espacio si se utiliza el algoritmo correcto.
Siempre me han apasionado las estructuras de datos y los algoritmos, por eso enseño el tema. Ahora tengo la oportunidad de fomentar esta pasión ayudando a las empresas a contratar expertos en este campo. Kandio es lo que necesita una comunidad de expertos apasionados.
Ver mi perfil completo