Entrevista sobre ciencia de datos: qué pueden preguntar y dónde encontrar respuestas a sus preguntas



Una vez que recibí una oferta de Deliveroo, en esta empresa se suponía que debía convertirme en Data Science Manager. Mientras me preparaba para asumir mis funciones, la oferta fue retirada. En ese momento no tenía airbag en caso de paro prolongado. Compartiré con ustedes todo lo que finalmente me ayudó a obtener dos ofertas para el puesto de científico de datos de Facebook a la vez. Espero que esto ayude a alguno de ustedes a salir de la difícil situación en la que me encontré hace varios meses.



1. La organización es la clave de todo



Fui a entrevistas en Google (y DeepMind), Uber, Facebook, Amazon para todo lo que de alguna manera estaba relacionado con el puesto de Data Scientist. La mayor parte del tiempo me hicieron preguntas de industrias como



  • Desarrollo de software
  • Estadísticas aplicadas
  • Aprendizaje automático
  • Procesamiento, gestión y visualización de datos


Nadie espera que seas un súper profesional en todas estas industrias. Pero debe comprenderlos lo suficiente como para convencer al entrevistador de su competencia y del derecho a ocupar el puesto propuesto. La profundidad con la que debe comprender el tema depende del trabajo en sí, pero dado que este es un campo muy competitivo, cualquier conocimiento será útil.



Recomiendo usar Notion para organizar la preparación de su entrevista. Esta herramienta es versátil y además le permite aplicar técnicas como la repetición espaciada y la recuperación activa. Ayudan a reforzar los resultados del aprendizaje y a descubrir preguntas clave que surgen una y otra vez en una entrevista de Data Scientist. Ali Abdaal tiene una gran guíapara tomar notas con Notion. Ayuda a maximizar su potencial durante la entrevista.



Seguí repitiendo mis notas en Notion, especialmente de forma activa, justo antes de la entrevista. Esto me permitió tener confianza en mis habilidades y que los temas y términos clave están en mi "memoria de trabajo", de modo que no tengo que perder un tiempo precioso, diciendo de manera significativa "nuuuuuu" después de algunas preguntas.



2. Desarrollo de software



No siempre es necesario responder preguntas sobre la complejidad temporal de un algoritmo. Pero para cualquier trabajo de científico de datos, debe escribir código. La ciencia de datos, como saben, no es una profesión, sino muchas, esta industria atrae talento de una amplia variedad de áreas, incluido el desarrollo de software. En consecuencia, tendrá que competir con programadores que entienden los matices de escribir código eficiente. Recomendaría dedicar 1-2 horas al día antes de la entrevista, dominando y / o fortaleciendo conocimientos y habilidades en tales temas:



  • Matrices.
  • Tablas hash.
  • Listas vinculadas.
  • Método de dos punteros.
  • Algoritmos de cadena (los empleadores AMAN este tema).
  • Búsqueda binaria.
  • Divide y vencerás algoritmos.
  • Algoritmos de clasificación.
  • Programación dinámica.
  • Recursión.


No estudies algoritmos de manera formal. Esto es inútil porque el entrevistador puede hacerte una pregunta sobre los matices de algún algoritmo y te perderás. En cambio, es mejor dominar la base subyacente de cada algoritmo. Explore la complejidad computacional y espacial y comprenda por qué todos estos son importantes para crear código de calidad.



Los entrevistadores tienen algo que preguntar sobre los algoritmos, por lo que vale la pena aprender los elementos básicos y los estudios de casos comunes para que sea más fácil responder las entrevistas más adelante.



Intente responder todas las preguntas posibles, incluso si lleva mucho tiempo. Luego observe el modelo de decisión e intente determinar la estrategia óptima. Luego, mire las respuestas y trate de entender por qué es así. Hágase preguntas como "¿por qué la complejidad de tiempo promedio de Quicksort O (n²)?" o "¿Por qué dos punteros y un bucle for tienen más sentido que tres bucles for"?



3. Estadísticas aplicadas



Las estadísticas aplicadas juegan un papel importante en la ciencia de datos. La importancia dependerá del puesto que esté solicitando. ¿Dónde se utilizan realmente las estadísticas aplicadas? Donde sea necesario organizar, interpretar y extraer información de los datos.



Durante las entrevistas, le aconsejo que estudie cuidadosamente los siguientes temas:



  • ( , , , ).
  • (, , 5 10 ).
  • ( A / B-, T-, , - . .).
  • ( , ).
  • ( / ).


Si cree que esta es una gran cantidad de información para estudiar, entonces no lo piensa. Me sorprendió cuánto se puede pedir para entrevistas y cuánto se puede encontrar en línea para ayudarlo con su preparación. Dos recursos me ayudaron a sobrellevar la situación:





Es mejor no aprenderlo de memoria. Necesitas resolver tantas tareas como puedas. Glassdoor es un gran repositorio de preguntas sobre estadísticas aplicadas con las que normalmente te encuentras en las entrevistas. La entrevista más desafiante que tuve fue una entrevista con G-Research. Pero disfruté mucho prepararme para ello, y Glassdoor me ayudó a comprender cuánto he progresado en el dominio de este tema.



4. Aprendizaje automático



Ahora llegamos a lo más importante: el aprendizaje automático. Pero este tema es tan vasto que simplemente puedes perderte en él.



A continuación, se muestran algunos recursos que le brindarán una base muy sólida para comenzar con el aprendizaje automático. Este es un conjunto de temas lejos de ser exhaustivo, clasificados por tema.



Métricas: clasificación











-, Over/Under-Fitting











Sampling





Prueba de hipótesis



Este tema está más relacionado con la estadística aplicada, pero es extremadamente importante , en particular, en las pruebas A / B.



Modelos de regresión



Existe una gran cantidad de información disponible sobre la regresión lineal. Debe familiarizarse con otros modelos de regresión:





Algoritmos de agrupamiento





Modelos de clasificación





Eso es mucho, pero no parece tan aterrador si comprende las estadísticas aplicadas. Recomendaría aprender los matices de al menos tres métodos diferentes de clasificación / regresión / agrupamiento, porque el entrevistador siempre puede preguntar (y lo hace), "¿Qué otros métodos podríamos usar, cuáles son algunas de las ventajas / desventajas?" Esto es solo una fracción del conocimiento, pero si conoce estos importantes ejemplos, las entrevistas serán mucho más fluidas.



5. Procesamiento y visualización de datos



"Cuéntenos sobre las etapas del procesamiento y limpieza de datos antes de aplicar algoritmos de aprendizaje automático".



Se nos proporciona un conjunto específico de datos. Lo primero y más importante es demostrar que puede lograr la EDA. Es mejor usar Pandas, si se usa correctamente, es la herramienta más poderosa en la caja de herramientas de análisis de datos. La mejor manera de aprender a usar Pandas para procesar datos es descargar muchos, muchos conjuntos de datos y trabajar con ellos.



En una de las entrevistas, necesitaba cargar un conjunto de datos, limpiarlo, renderizarlo, seleccionarlo, construir y evaluar un modelo, todo en una hora. Fue una locura, estuvimos muy duros. Pero estuve practicando haciendo todo esto durante unas semanas, así que sabía qué hacer, incluso si perdía el hilo.



Organización de datos



Hay tres cosas importantes en la vida: muerte, impuestos y obtener una solicitud para fusionar conjuntos de datos. Pandas es casi perfecto para el trabajo, así que practica, practica y practica.



Perfilado de datos



Esta tarea implica comprender las "meta" características del conjunto de datos, como la forma y descripción de las características numéricas, categóricas y temporales de los datos. Siempre debe esforzarse por responder una serie de preguntas como "cuántas observaciones tengo", "cómo se ve la distribución de cada función", "qué significan estas funciones". Este tipo de elaboración de perfiles temprana puede ayudarlo a deshacerse de las características irrelevantes desde el principio, como las características categóricas con miles de niveles (nombres, identificadores únicos), y reducir la carga de trabajo para usted y su computadora en el futuro (trabaje de manera inteligente, no duro, o desperté de alguna manera).



Visualización de datos



Aquí te preguntas: "¿Cómo es la distribución de mis funciones en general?" Un consejo rápido: si no aprendió acerca de los diagramas de caja en la parte de Estadísticas aplicadas del tutorial, ahora es el momento porque necesita aprender a identificar valores atípicos visualmente. Los histogramas y gráficos de densidad de kernel son herramientas extremadamente útiles cuando se ven las propiedades de las distribuciones de cada función.



Entonces podríamos preguntar "cómo es la relación entre mis funciones", en cuyo caso Python tiene un paquete llamado seaborn que contiene herramientas geniales y poderosas como pairplot y un buen mapa de calor para gráficos de correlación.



Manejo de valores nulos, errores de sintaxis y filas / columnas duplicadas



Los valores perdidos son inevitables, este problema surge de muchos factores diferentes, cada uno de los cuales afecta la compensación a su manera. Necesita aprender la mejor manera de lidiar con los valores perdidos. Consulte esta guía sobre cómo manejar valores nulos .



Los errores de sintaxis generalmente ocurren cuando un conjunto de datos contiene información que se ingresó manualmente, como a través de un formulario. Esto puede llevarnos a la conclusión errónea de que la función categórica tiene muchos más niveles de los que realmente tiene, porque "Hot", "hOt", "hot / n" se consideran niveles únicos. Consulte este recurso sobre el manejo de datos de texto sucio.



Finalmente, nadie quiere columnas duplicadas, y las filas duplicadas pueden distorsionar la presentación, por lo que vale la pena tratar con ellas antes.



Estandarización o normalización



Según el conjunto de datos con el que esté trabajando y el método de aprendizaje automático que elija utilizar, puede resultar útil estandarizar o normalizar los datos para que las diferentes escalas de diferentes variables no afecten negativamente el rendimiento de su modelo.



En general, no fue tanto la actitud de "recordar todo" lo que me ayudó a comprender cuánto me ayudó el entrenamiento. Fallé muchas entrevistas antes de darme cuenta de que todo lo anterior no son conceptos esotéricos que solo unos pocos pueden dominar. Estas son las herramientas que utilizan los científicos de datos para crear modelos geniales y obtener información importante a partir de los datos.



Sobre este tema:






All Articles