Puedo resumir mi experiencia como un recién graduado de doctorado en busca de un trabajo de Data Science / Machine Learning. Hice muchas entrevistas en startups y también en grandes empresas.
Primero, existe un libro / documento que trata de cubrir las categorías principales de la entrevista de DS: preguntas de la entrevista de Data Science es un buen punto de base, pero me pareció que estaba un poco fuera de foco en algunas categorías.
Teniendo en cuenta esto, aquí hay algunas cosas que solía preparar:
1. Presentación de su trabajo.
- ¿Cuál es el mejor recurso para aprender divisibilidad y factores en los sistemas numéricos?
- ¿Cuáles son algunos buenos recursos para aprender español desde España?
- ¿Cuáles son algunos recursos educativos gratuitos en línea para estudiantes de escuelas?
- ¿Cuáles son algunos buenos recursos para prepararse para una maestría en informática?
- ¿Cuáles son los recursos para aprender programación avanzada en C #?
En cada entrevista me pidieron que explicara los detalles científicos de mi trabajo anterior. Alrededor del 20% de la entrevista me exigió hacer una presentación con diapositivas y una pizarra sobre mi trabajo. Asegúrese de tener algunos proyectos interesantes para mostrar y practicar la presentación. La comunicación es una parte importante del trabajo de DS, debería poder explicarlo de dos maneras, una explicación para la explicación de los colegas de DS para los gerentes de producto (básicamente, cómo se lo explicaría a un niño de 10 años).
2. Algoritmos
Habrá codificación en cada entrevista. Prepárate para ello. Usé Talentbuddy y LeetCode Online Judge y Cracking the Coding Interview. Elige un idioma y conoce sus detalles. Recomiendo encarecidamente Python, es fácil, rápido y no verboso, con un buen soporte nativo de algoritmos básicos y se utiliza con mucha frecuencia en DS. No necesita hacer algoritmos muy complicados, experimenté programación dinámica solo una vez, pero definitivamente me centré en árboles, listas, recursiones, clasificación y hashing.
3. Diseño del sistema y casos de uso.
Aquí necesitas saber cómo funcionan los sistemas DS y ML. Conozca las técnicas básicas y todos los pasos de preprocesamiento que debe realizar desde obtener datos en bruto hasta tomar una decisión / inferencia. Prepárese para esbozar los detalles de la tubería e identificar la carga que debe manejar esa tubería. Aquí también debe conocer las ventajas y desventajas de los algoritmos individuales, especialmente para ML. Si elige digamos Random Forest o SVM, debe decir por qué. Espere preguntas de seguimiento que harán que el problema sea cada vez más difícil (por ejemplo, datos faltantes, gran volumen de datos, incorporación previa, incorporación de comentarios de usuarios en la clasificación …). Recomendaría leer libros de ML (Introducción al libro de texto de Aprendizaje automático y Aprendizaje de máquinas, Reconocimiento de patrones y Aprendizaje automático: Christopher Bishop) e implementar algunas tuberías de ML / DS por su cuenta.
4. estadísticas
Este no aparece tan a menudo como cabría esperar. También depende de qué tipo de roles estás aplicando. Si es más analítico, espere más estadísticas si es más ML, menos estadísticas. Definitivamente, debe conocer toda la probabilidad básica (eventos de combinación, eventos condicionales, regla de Bayes …) y estadísticas (distribuciones, ML, MAP, antecedentes conjugados …). Asegúrese de conocer el teorema del límite central, que aparece con bastante frecuencia. Puedes tomar un libro de estadísticas y hacer ejercicios que están al final de los capítulos.
5. Tecnologías
Este es raro, basado en mis observaciones alrededor del 20-25% del tiempo. También depende de la función, si su mano en DS, o compañía de inicio, debe saberlo. Sería útil utilizar las bases de datos Hadoop, HDFS, SQL y NoSQL (práctica SQL en LeetCode Online Judge). Intente implementar algún clasificador desde cero sobre Hadoop o Spark.