¿Cuáles son algunos ejemplos de configuraciones de problemas de entrevistas técnicas que son buenas para evaluar candidatos de aprendizaje automático?

Recientemente trabajé en un nuevo tipo de entrevista para candidatos ML en Quora, y les contaré un poco sobre lo que hicimos, aunque no puedo compartir los detalles por razones obvias.

Un tipo de entrevista técnica que tenemos en Quora se llama “práctica”. Puede leer más sobre esto aquí: ¿Cómo es tener una entrevista práctica en Quora? Básicamente, le damos una base de código y le pedimos que haga algunas cosas con ella, como corregir errores o implementar algo. Consideramos que este tipo de entrevista es bastante útil porque prueba si puede leer código, navegar, depurar, etc., así como escribir un poco de código real. Estas habilidades son importantes, pero pueden ser difíciles de probar en las entrevistas tradicionales de pizarra.

Lo que queríamos hacer para ML es tener también una práctica. Los objetivos son algo similares, pero no del todo. Queremos ver si un candidato simplemente aprendió algunos conceptos de LD en alguna parte, o si tiene una experiencia práctica con la capacitación de modelos de ML y si comprende los problemas típicos que surgen en tales circunstancias. Un buen ingeniero de ML es primero un buen ingeniero (y lo probamos), pero también hay un nivel adicional de conocimiento, tanto teórico como práctico, que buscamos. También estamos buscando personas que exhiban los valores de Quora (¿Cuáles son los valores centrales de Quora, la empresa?).

La entrevista se configura de manera similar a otras prácticas. Le proporcionamos un código existente que resuelve un problema real que tiene Quora, y le pedimos que nos ayude a avanzar en él. Esta no es una entrevista programada, y los candidatos a menudo se centran en diferentes aspectos del problema, o hacen las cosas en un orden diferente, por lo que es interesante llevarlo a cabo. También hablamos con el candidato e intentamos entender cuáles son los principales problemas y cómo los abordan, y si realmente entienden por qué las cosas son así o simplemente memorizan una receta.

Creo que tuvimos bastante éxito con esta entrevista, da una señal útil sobre el nivel de experiencia y conocimiento para un candidato de ML, y lo hace de una manera divertida. La mayoría de los candidatos lo encuentran más agradable que las entrevistas tradicionales.

Sugeriría un problema hipotético de análisis de datos (o un conjunto de datos real que un candidato puede llevarse a casa), junto con algunas preguntas que analizan el conocimiento en el campo:

1) Comparar y contrastar los fundamentos teóricos y la implementación práctica de los algoritmos de refuerzo y embolsado. (Puntos de bonificación si conocen xgboost, lo que resuelve muchos de los problemas de implementación de impulso).

2) ¿Prefieres prototipos o producción? ¿Cuáles son algunas fortalezas y desventajas de (R / Python …) en cada configuración?

3) Explicar el modelado lineal generalizado y cómo los algoritmos como LASSO, la regresión potenciada y otros modelos de aprendizaje automático amplían este marco.

4) Explicar los métodos de descenso de gradiente, el momento, los algoritmos genéticos, el algoritmo EM … para estimar los coeficientes del modelo y ajustar los modelos de red neuronal.

5) Comparar y contrastar PCA y múltiples métodos de aprendizaje. ¿Cuándo se puede preferir cada uno?

6) Describa el agrupamiento KNN / K-means / agrupamiento jerárquico y compare estos enfoques con los métodos modernos de análisis de datos topológicos, como el algoritmo Mapper u homología persistente.

7) ¿Qué es la complejidad del algoritmo y por qué es importante?

8) ¿Cuál fue el último trabajo de aprendizaje automático que leíste? ¿Cómo se compara teóricamente el nuevo método con los métodos existentes? ¿Los tiempos computacionales corresponden a los métodos existentes?

9) Explica el aprendizaje profundo (o bosque aleatorio) como lo harías con un niño de kindergarten.

10) ¿Cómo afectan los métodos de recopilación de datos y el sesgo a los resultados del aprendizaje automático? ¿Cómo podrías contrarrestar esto?

Si necesita una buena referencia de algoritmo, intente aquí: https://www.slideshare.net/Colle