¿Cómo continuaría preparándose para una entrevista de ciencia de datos sobre estructuras de datos y algoritmos en R?

Una entrevista típica de CS con estructuras de datos y algoritmos probablemente sería realmente extraña en R. Mientras que R es un lenguaje completo y capaz de casi cualquier cosa, los casos de uso más comunes están relacionados con la programación estadística. La programación estadística es ortogonal a las preguntas típicas de entrevistas con algoritmos. Invertir una lista vinculada no tiene mucho que ver con las operaciones o la visualización del marco de datos y viceversa.

Dicho esto, puedes hacerlo. Entrevisté a un número decente de las nuevas empresas y unicornios “de moda” el año pasado para roles de ciencia de datos, y algunos me hicieron preguntas de CS que respondí principalmente en R. Por ejemplo, pirateé una implementación de trie usando una matriz de matrices, en algún punto, y eso estuvo bien. La mayoría de los entrevistadores están tratando de evaluar el potencial y la capacidad de programación, y su elección de idioma es algo secundaria. Escribí las respuestas a una o dos preguntas usando pseudocódigo y solo me aseguré de explicar qué se suponía que debían hacer las funciones que inventé cuando estaba en una esquina.

El mayor problema con el uso de R es que la mayoría de las estructuras de datos comunes utilizadas en los algoritmos de entrevista no existen de forma nativa. Un ejemplo sería Breadth-First Search (BFS), que en el caso típico usa una deque. Hay una implementación bastante buena ahora en R (oneilsh / rstackdeque) pero el autor explica bien lo insoportable que fue la implementación. Durante una entrevista, ¿por qué dedicar tiempo a encontrar soluciones alternativas cuando otros idiomas tienen estas estructuras “gratis”?

En un par de casos, usar R funcionó muy bien para mí debido al rico ecosistema que rodea el lenguaje. Pude crear rápidamente hermosas reseñas usando R Markdown para que la ciencia de los datos se llevara a casa desafíos, lo que habría sido realmente doloroso en Python. En otro caso, me hicieron preguntas no algorítmicas, por ejemplo, manipulación de cadenas o simulación Monte-Carlo de algún proceso, y obtuve soluciones extremadamente concisas debido a las buenas funciones integradas en R y la naturaleza vectorizada del lenguaje.

Puede usar el libro típico, CRACKING the CODING ENTREVISTA, o cualquier otro recurso que prefiera preparar. No hay nada más especial sobre el uso de R para una entrevista más allá de lo que he discutido anteriormente.