Entrevista de ciência de dados: o que pode ser perguntado e onde encontrar respostas para as perguntas



Assim que recebi uma oferta da Deliveroo, nesta empresa eu deveria me tornar um Gerente de Ciência de Dados. Enquanto me preparava para assumir minhas funções, a oferta foi retirada. Naquela época eu não tinha airbag para o caso de desemprego prolongado. Vou compartilhar com vocês tudo o que, em última análise, me ajudou a conseguir duas ofertas para o cargo de Cientista de Dados do Facebook de uma vez. Espero que isso ajude um de vocês a sair da difícil situação em que me encontrei há alguns meses.



1. Organização é a chave para tudo



Fui a entrevistas no Google (e DeepMind), Uber, Facebook, Amazon para tudo que estivesse de alguma forma relacionado à posição de Cientista de Dados. Na maioria das vezes, eu recebia perguntas de setores como



  • Desenvolvimento de software
  • Estatísticas aplicadas
  • Aprendizado de máquina
  • Processamento, gerenciamento e visualização de dados


Ninguém espera que você seja um super profissional em todos esses setores. Mas você deve entendê-los o suficiente para convencer o entrevistador de sua competência e do direito de assumir a posição proposta. O quão profundamente você precisa entender o assunto depende do próprio trabalho, mas como se trata de um campo muito competitivo, qualquer conhecimento será útil.



Eu recomendo usar o Notion para organizar sua preparação para a entrevista. Essa ferramenta é versátil, além de permitir a aplicação de técnicas como repetição espaçada e chamada ativa. Eles ajudam a reforçar os resultados do aprendizado e a descobrir as principais questões que surgem repetidamente em uma entrevista com um cientista de dados. Ali Abdaal tem um ótimo guiapara fazer anotações com o conceito. Ajuda a maximizar seu potencial durante a entrevista.



Eu estava constantemente repetindo minhas anotações no Notion, especialmente ativamente - logo antes da entrevista. Isso me permitiu ter confiança em minhas habilidades e que os principais tópicos e termos estavam em minha "memória de trabalho", para que eu não tivesse que perder um tempo precioso dizendo "nuuuuuu" de forma significativa após algumas perguntas.



2. Desenvolvimento de software



Você nem sempre precisa responder a perguntas sobre a complexidade de tempo de um algoritmo. Mas, para qualquer trabalho de cientista de dados, você deve escrever código. Data Science, como você sabe, não é uma profissão, mas muitas, esse setor atrai talentos de uma ampla variedade de áreas, incluindo desenvolvimento de software. Conseqüentemente, você terá que competir com programadores que entendem as nuances de escrever um código eficiente. Eu recomendaria gastar 1-2 horas por dia antes da entrevista, dominando e / ou fortalecendo conhecimentos e habilidades em tais tópicos:



  • Arrays.
  • Tabelas de hash.
  • Listas vinculadas.
  • Método de dois ponteiros.
  • Algoritmos de string (os empregadores AMAM este tópico).
  • Pesquisa binária.
  • Divida e conquiste algoritmos.
  • Algoritmos de classificação.
  • Programaçao dinamica.
  • Recursão.


Não estude algoritmos de maneira formal. Isso é inútil, porque o entrevistador pode fazer uma pergunta sobre as nuances de algum algoritmo e você se perderá. Em vez disso, é melhor dominar a base subjacente de cada algoritmo. Explore a complexidade computacional e espacial e entenda por que tudo isso é importante para a criação de código de qualidade.



Os entrevistadores têm muito a perguntar sobre algoritmos, então vale a pena aprender o básico e os estudos de caso comuns para tornar mais fácil responder às entrevistas posteriormente.



Tente responder a todas as perguntas possíveis, mesmo que demore muito. Em seguida, observe o modelo de decisão e tente determinar a estratégia ótima. Em seguida, observe as respostas e tente entender por que isso acontece. Faça a si mesmo perguntas como "por que a complexidade de tempo média do Quicksort O (n²)?" ou “Por que dois ponteiros e um for loop fazem mais sentido do que três for loops”?



3. Estatísticas aplicadas



A estatística aplicada desempenha um papel importante na ciência de dados. A importância dependerá da posição para a qual você está se candidatando. Onde as estatísticas aplicadas são realmente usadas? Onde for necessário organizar, interpretar e extrair informações dos dados.



Durante as entrevistas, aconselho você a estudar cuidadosamente os seguintes tópicos:



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


Se você acha que é uma grande quantidade de informação para estudar, então você não pensa. Fiquei surpreso com o quanto você pode pedir para uma entrevista e o quanto pode encontrar online para ajudá-lo em sua preparação. Dois recursos me ajudaram a enfrentar:





É melhor não aprender de cor. Você precisa resolver o máximo de tarefas que puder. Glassdoor é um ótimo repositório para questões de estatísticas aplicadas que você normalmente encontra em entrevistas. A entrevista mais difícil que tive foi a entrevista na G-Research. Mas eu realmente gostei de me preparar para isso, e o Glassdoor me ajudou a entender o quão longe eu progredi no domínio deste tópico.



4. Aprendizado de máquina



Agora chegamos ao ponto mais importante - aprendizado de máquina. Mas este tópico é tão vasto que você pode simplesmente se perder nele.



Abaixo estão alguns recursos que fornecerão uma base sólida para começar a usar o aprendizado de máquina. Aqui está um conjunto de tópicos longe de ser exaustivo, classificado por tópico.



Métricas - classificação











-, Over/Under-Fitting











Sampling





Teste de hipóteses



Este tópico está mais relacionado à estatística aplicada, mas é extremamente importante , em particular, nos testes A / B.



Modelos de regressão



Existem muitas informações disponíveis sobre regressão linear. Você deve se familiarizar com outros modelos de regressão:





Algoritmos de clustering





Modelos de classificação





Isso é muito, mas não parece tão assustador se você entender as estatísticas aplicadas. Eu recomendaria aprender as nuances de pelo menos três métodos diferentes de classificação / regressão / agrupamento, porque o entrevistador sempre pode perguntar (e faz): "Que outros métodos poderíamos usar, quais são algumas das vantagens / desvantagens?" Esta é apenas uma pequena parte do conhecimento, mas se você conhece esses exemplos importantes, as entrevistas serão muito mais fáceis.



5. Processamento e visualização de dados



"Conte-nos sobre os estágios de processamento e limpeza de dados antes de aplicar algoritmos de aprendizado de máquina."



Recebemos um conjunto específico de dados. Antes de mais nada, é provar que você pode cumprir a EDA. É melhor usar o Pandas, pois é, se usado corretamente, a ferramenta mais poderosa na caixa de ferramentas de análise de dados. A melhor maneira de aprender a usar o Pandas para processar dados é fazer o download de muitos conjuntos de dados e trabalhar com eles.



Em uma das entrevistas, precisei carregar um conjunto de dados, limpá-lo, renderizar, selecionar, construir e avaliar um modelo - tudo em uma hora. Foi muito louco, estávamos muito duros. Mas eu estava apenas praticando fazer tudo isso por algumas semanas, então eu sabia o que fazer, mesmo se perdesse o fio da meada.



Organização de dados



Existem três coisas importantes na vida: morte, impostos e receber uma solicitação para mesclar conjuntos de dados. O Pandas é quase perfeito para o trabalho, então pratique, pratique, pratique.



Perfil de dados



Essa tarefa envolve a compreensão das "meta" características do conjunto de dados, como a forma e a descrição das características numéricas, categóricas e temporais dos dados. Você deve sempre se esforçar para responder a uma série de perguntas como “quantas observações eu tenho”, “como é a distribuição de cada função”, “o que essas funções significam”. Esse tipo de criação de perfil inicial pode ajudá-lo a descartar recursos irrelevantes desde o início, como recursos categóricos com milhares de níveis (nomes, identificadores exclusivos) e reduzir a quantidade de trabalho para você e seu computador no futuro (trabalho inteligente, não difícil ou algo assim acordou).



Visualização de dados



Aqui você se pergunta: "Como é a distribuição das minhas funções em geral?" Dica rápida: se você não aprendeu sobre gráficos de caixa na parte de estatísticas aplicadas do tutorial, agora é a hora porque você precisa aprender como identificar visualmente os outliers. Os histogramas e gráficos de densidade do kernel são ferramentas extremamente úteis ao visualizar as propriedades das distribuições de cada função.



Em seguida, podemos perguntar “como é o relacionamento entre minhas funções”, caso em que o Python tem um pacote chamado seaborn que contém ferramentas interessantes e poderosas como o pairplot e um belo mapa de calor para gráficos de correlação.



Tratamento de valores nulos, erros de sintaxe e linhas / colunas duplicadas



Valores ausentes são inevitáveis, esse problema surge de muitos fatores diferentes, cada um dos quais afeta a compensação de sua própria maneira. Você precisa aprender a melhor forma de lidar com os valores ausentes. Confira este guia sobre como lidar com valores nulos .



Os erros de sintaxe geralmente ocorrem quando um conjunto de dados contém informações que foram inseridas manualmente, como por meio de um formulário. Isso pode nos levar à conclusão errônea de que a função categórica tem muito mais níveis do que realmente tem, porque "Hot", "hOt", "hot / n" são considerados níveis únicos. Confira este recurso sobre como lidar com dados de texto sujo.



Finalmente, ninguém quer colunas duplicadas, e linhas duplicadas podem distorcer a apresentação, portanto, vale a pena lidar com elas o quanto antes.



Padronizando ou normalizando



Dependendo do conjunto de dados com o qual você está trabalhando e do método de aprendizado de máquina que você escolhe usar, pode ser útil padronizar ou normalizar os dados para que escalas diferentes de variáveis ​​diferentes não afetem negativamente o desempenho do seu modelo.



Em geral, não foi tanto a atitude de “lembrar de tudo” que me ajudou, mas entender o quanto o treinamento me ajudou. Eu falhei em muitas entrevistas antes de perceber que todos os itens acima não são conceitos esotéricos que apenas alguns selecionados podem dominar. Essas são as ferramentas que os cientistas de dados usam para construir modelos interessantes e obter insights importantes dos dados.



Neste tópico:






All Articles