Cuando entrevisto a candidatos del campus, espero que estén familiarizados con al menos los siguientes temas. Familiar a nivel de traducir sus soluciones en código.
Clasificación y búsqueda: comprensión de las compensaciones de varios algoritmos de clasificación y cuál es el más adecuado en qué circunstancias. ¿Por qué la clasificación rápida es prácticamente mejor que la combinación, aunque asintomáticamente es peor? ¿Qué algoritmos son adecuados para ordenar una lista vinculada frente a una matriz? ¿Por qué la clasificación por radix o por conteo son malas elecciones para la clasificación general a pesar de que son asintomáticamente más rápidos que los tipos de comparación? Encontrar el inicio / final de la matriz ordenada rotada de manera eficiente. Encuentre la primera aparición de un elemento en una matriz ordenada que tiene elementos repetidos. Comprensión de la búsqueda en un árbol binario, árbol de búsqueda binaria y árbol de búsqueda binaria balanceada. Encuentre el késimo elemento más pequeño en una matriz y por qué se espera que sea factible en el tiempo O (n).
DS: invierta una lista vinculada individualmente de forma iterativa y recursiva. Recorrido de orden de nivel en árboles y aplicaciones de los mismos. Los problemas recursivos en los árboles, como si los subárboles izquierdo y derecho de un árbol binario son espejos, encuentran un camino con la suma máxima. Encontrar el camino más largo en un árbol binario. BFS y DFS en un gráfico simple: encuentre la ruta más corta de una palabra a otra en un diccionario, de modo que en cada paso cambie una letra de la palabra, encontrando la ruta en un laberinto. Mantener la mediana en una secuencia de números en todo momento. Problemas que se resuelven eficientemente usando una tabla hash.
- ¿Cómo funciona este algoritmo para encontrar los bordes del corte mínimo de un gráfico?
- Si solo pudieras usar un algoritmo de Machine Learning para el resto de tu vida, ¿cuál sería?
- ¿Qué algoritmo (s) de aprendizaje automático es el mejor para la regresión no lineal con un número limitado de datos?
- ¿Puedo obtener una breve descripción general del documento 'Generación precisa de hologramas utilizando el método basado en capas y el algoritmo de transformación de Fourier iterativo'?
- ¿Cuál es el lenguaje de programación más eficiente para diseñar algoritmos médicos?
Paradigmas de resolución de algoritmos – Programación dinámica – Subsecuencia común / creciente más larga y sus aplicaciones, número de formas de hacer las cosas, problemas en diferentes dimensiones – cambio de monedas, corte de vidrio, cajas apilables. Exhaustivas aplicaciones de búsqueda y rastreo: impresión de todas las permutaciones de una cadena, problema de suma de subconjuntos.
Misceláneos – Realización eficiente de operaciones de conjuntos como unión, intersección, diferencia de conjuntos. Procesamiento de cadenas: búsqueda de existencia de subcadenas.