Um engenheiro de dados competent pode fazer uma grande diferença para sua empresa. Ele pode, inclusive, ajudar a aumentar o faturamento da empresa.
Uma gama específica de habilidades de engenharia de dados é necessária para que os candidatos sejam bem-sucedidos e ajudem sua empresa a lidar com dados. Portanto, para contratar o engenheiro certo, você precisará avaliar as habilidades dos candidatos adequadamente.
Uma das melhores maneiras de fazer isso é utilizando testes de habilidades, que permitem que você tenha uma compreensão profunda das qualificações e dos pontos fortes dos candidatos. Depois disso, você precisa convidar os melhores candidatos para uma entrevista e fazer as perguntas certas sobre engenharia de dados para ver quem seria o mais adequado para o cargo.
Saber quais perguntas fazer não é uma tarefa fácil, mas para tornar esse desafio mais gerenciável, fizemos um pouco do trabalho difícil para você.
A seguir, você encontrará perguntas para entrevistas sobre engenharia de dados, que podem ser usadas no processo seletivo, juntamente com exemplos de respostas que você pode esperar ouvir dos candidatos.
Para obter os melhores resultados, é necessário adaptar as perguntas ao cargo para o qual você está contratando.
Use as 12 perguntas básicas para entrevistas com engenheiros de dados dessa seção para entrevistar candidatos juniores para seu cargo em aberto.
Exemplo de resposta:
Minha paixão por engenharia de dados e computadores era evidente desde a infância. Sempre fui fascinado por computadores, o que me levou a escolher uma graduação em Ciência da Computação.
Desde que me formei, sou apaixonado por dados e análise de dados. Trabalhei em alguns cargos juniores de engenharia de dados, nos quais tive um bom desempenho graças a minha formação e experiência. Mas estou animado para continuar aprimorando minhas habilidades em engenharia de dados.
Exemplo de resposta:
Esse cargo me permitiria progredir em duas áreas sobre as quais quero aprender mais: engenharia de dados e o setor de saúde.
Sempre fui fascinado pela engenharia de dados e como ela pode ser usada na área médica. Interesso-me particularmente por sua relação com tecnologias e softwares do setor de saúde. Também notei que sua empresa oferece oportunidades de treinamento intensivo, o que me permitiria crescer na função.
Exemplo de resposta:
Engenharia de dados é o processo de fazer transformações e limpeza de dados. Ela também envolve a criação de perfis e a agregação de dados. Em outras palavras, a engenharia de dados trata da coleta de dados e da transformação de dados brutos coletados de várias fontes em informações prontas para serem usadas no processo de tomada de decisões.
Exemplo de resposta:
Os engenheiros de dados são responsáveis pela criação de consultas de dados, que podem ser feitas de forma ad hoc.
Eles também são responsáveis pela manutenção e pelo manuseio da infraestrutura de dados de uma empresa, como seus bancos de dados, armazéns e pipelines. Os engenheiros de dados precisam saber transformar dados brutos em um formato que permita sua análise e interpretação.
Exemplo de resposta:
Entre as habilidades fundamentais necessárias para o sucesso em um cargo de engenheiro de dados estão um entendimento profundo de sistemas de banco de dados, bons conhecimentos sobre aprendizado de máquina e ciência de dados, habilidades de programação em diferentes linguagens, um entendimento de estruturas de dados e algoritmos e a capacidade de usar APIs.
Exemplo de resposta:
Para mim, algumas das habilidades interpessoais essenciais e úteis para engenheiros de dados são habilidades de pensamento crítico, conhecimentos e percepção comerciais, flexibilidade cognitiva e capacidade de se comunicar com sucesso com as partes interessadas (verbalmente ou por escrito).
Exemplo de resposta:
Três dos aplicativos essenciais usados pelos engenheiros de dados são Hadoop, Python e SQL.
Usei todos eles em meu emprego anterior, além de uma série de estruturas, como Spark, Kafka, PostgreSQL e ElasticSearch. Eu me sinto confortável usando o PostgreSQL. Ele é fácil de usar e sua extensão PostGIS possibilita o uso de consultas geoespaciais.
Exemplo de resposta:
Enquanto os arquitetos de dados lidam com os dados que recebem de várias fontes diferentes, os engenheiros de dados se concentram na criação do pipeline do armazém de dados. Os engenheiros de dados também precisam definir a arquitetura que está por trás dos hubs de dados.
Exemplo de resposta:
Sigo um processo específico ao trabalhar em um novo projeto de análise de dados.
Primeiro, tento entender o escopo de todo o projeto para descobrir seus requisitos. Em seguida, analiso os detalhes críticos por trás das métricas e implemento meus conhecimentos sobre o projeto para criar e construir tabelas de dados com o nível de granularidade correto.
Exemplo de resposta:
A modelagem de dados envolve a produção de uma representação dos projetos intrincados de um software e sua apresentação em termos leigos. A representação mostraria os objetos dos dados e as regras específicas relacionadas a eles. As representações visuais são básicas, o que significa que qualquer pessoa pode interpretá-las.
Exemplo de resposta:
Big data refere-se a uma grande quantidade de dados, que podem ser estruturados ou não. Com dados como esses, geralmente é difícil processá-los com abordagens tradicionais, portanto, muitos engenheiros de dados usam o Hadoop para isso, pois ele facilita o processo de manipulação de dados.
Exemplo de resposta:
Algumas das principais diferenças entre dados estruturados e não estruturados são:
Os dados estruturados requerem uma ferramenta de integração de ELT e são armazenados em um DBMS (sistema de gerenciamento de banco de dados) ou em um formato tabular
Os dados não estruturados usam uma abordagem de armazenamento de data lake, que ocupa mais espaço do que os dados estruturados
Os dados não estruturados geralmente são difíceis de escalonar, enquanto os dados estruturados são facilmente escaláveis.
Escolha entre as 27 perguntas de nível intermediário para entrevistas sobre engenharia de dados apresentadas a seguir para avaliar um engenheiro de dados de nível intermediário para sua empresa.
Exemplo de resposta:
Os esquemas em floco de neve são chamados assim porque as camadas de tabelas normalizadas neles se parecem com um floco de neve. Eles têm muitas dimensões e são usados para estruturar dados. Depois de normalizados, os dados são divididos em tabelas adicionais no esquema em floco de neve.
Exemplo de resposta:
Um esquema em estrela, também chamado de esquema de união em estrela, é um esquema básico usado no armazenamento de dados.
Os esquemas em estrela são chamados assim porque a estrutura é semelhante a uma estrela que apresenta tabelas, tanto de fatos quanto de dimensões associadas. Esses esquemas são ideais para grandes quantidades de dados.
Exemplo de resposta:
Enquanto os esquemas em estrela têm um desenho simples e usam processamento rápido em cubos, os esquemas em floco de neve usam uma abordagem complexa de armazenamento de dados e processamento lento em cubos.
Nos esquemas em estrela, as hierarquias são armazenadas em tabelas, ao passo que, nos esquemas em floco de neve, as hierarquias são armazenadas em tabelas individuais.
Exemplo de resposta:
Se você usa bancos de dados operacionais, seu foco principal é a manipulação de dados e operações de exclusão. Por outro lado, se você usa armazéns de dados, seu objetivo principal é usar funções de agregação e realizar cálculos.
Exemplo de resposta:
Como circunstâncias diferentes exigem abordagens de validação diferentes, é essencial escolher a correta. Em alguns casos, uma comparação básica pode ser a melhor abordagem para validar a migração de dados entre dois bancos de dados. Por outro lado, outras situações podem exigir uma etapa de validação após a migração.
Exemplo de resposta:
Já usei várias ferramentas de ETL em minha carreira. Além do SAS Data Management and Services, também usei o PowerCenter.
Dessas, minha primeira opção seria o PowerCenter devido à facilidade de acesso aos dados e à simplicidade com que você pode realizar operações de dados comerciais. O PowerCenter também é muito flexível e pode ser integrado ao Hadoop.
Exemplo de resposta:
Há algumas maneiras como análise de dados e Big Data ajudam a aumentar a receita de uma empresa. O uso eficiente dos dados pode:
Melhorar o processo de tomada de decisões
Ajudar a manter os custos baixos
Ajudar as empresas a definir metas alcançáveis
Aumentar a satisfação do cliente ao antecipar necessidades e personalizar produtos e serviços
Mitigar riscos e aprimorar a detecção de fraudes
Exemplo de resposta:
Uso tabelas distorcidas com frequência no Hive. Com uma tabela distorcida especificada como tal, os valores que aparecem com frequência (conhecidos como valores distorcidos pesados) são divididos em vários arquivos individuais. Todos os outros valores vão para um arquivo separado. O resultado é um melhor desempenho e um processamento eficiente.
Exemplo de resposta:
Entre os componentes essenciais do modelo de dados do Hive estão:
Tabelas
Partições
Buckets
É possível categorizar os dados nessas três categorias.
Exemplo de resposta:
O arquivo .hiverc é carregado e executado ao iniciar o shell. Ele é útil para adicionar uma configuração do Hive, como um cabeçalho de uma coluna (e fazer com que ele apareça nos resultados da consulta) ou um jar ou arquivo. Uma extensão .hiverc também permite que você defina os valores dos parâmetros em um arquivo .hiverc.
Exemplo de resposta:
Há várias implementações de SerDe no Hive, algumas das quais são:
DelimitedJSONSerDe
OpenCSVSerDe
ByteStreamTypedSerDe
Também é possível escrever uma implementação de SerDe personalizada.
Exemplo de resposta:
Algumas das funções críticas de coleta ou tipos de dados que o Hive pode suportar incluem:
Map
Struct
Array
Enquanto os arrays incluem uma seleção de diferentes elementos que são ordenados, e o map inclui pares de valores-chave que não são ordenados, o struct apresenta diferentes tipos de elementos.
Exemplo de resposta:
A interface do Hive facilita o gerenciamento de dados armazenados no Hadoop. Os engenheiros de dados também usam o Hive para mapear e usar tabelas do HBase. Essencialmente, você pode usar o Hive com o Hadoop para ler dados por meio de SQL e manipular petabytes de dados com ele.
Exemplo de resposta:
Que eu saiba, há algumas funções usadas para a criação de tabelas no Hive. São elas:
JSON_tuple()
Explode(array)
Stack()
Explode(map)
Exemplo de resposta:
Esse acrônimo de cinco letras refere-se ao agendamento em nível de cluster e de aplicativo, que ajuda a aumentar o tempo de conclusão de um trabalho. COSHH significa "classification optimization scheduling for heterogeneous Hadoop systems" (agendamento de otimização de classificação para sistemas Hadoop heterogêneos).
Exemplo de resposta:
FSCK, também chamado de verificação do sistema de arquivos, é um comando crítico. Os engenheiros de dados o utilizam para avaliar se há inconsistências ou problemas nos arquivos.
Exemplo de resposta:
A estrutura de código aberto Hadoop é ideal para manipular e armazenar dados. Ela também ajuda os engenheiros de dados a executar aplicativos em clusters e facilita o processo de manipulação de big data.
Exemplo de resposta:
O Hadoop permite que você manipule uma grande quantidade de dados de novas fontes. Não há necessidade de gastar mais com a manutenção do armazém de dados com o Hadoop, e ele também ajuda a acessar dados estruturados e não estruturados. O Hadoop 2 também pode ser dimensionado, chegando a 10.000 nós para cada cluster.
Exemplo de resposta:
O recurso de cache distribuído do Apache Hadoop é conveniente. Ele é fundamental para melhorar o desempenho de um trabalho e é responsável pelo cache de arquivos. Em outras palavras, ele armazena em cache os arquivos dos aplicativos e pode lidar com arquivos de somente leitura, zip e jar.
Exemplo de resposta:
Para mim, alguns dos recursos essenciais do Hadoop são:
Armazenamento de dados baseado em cluster
Criação de réplicas
Compatibilidade e versatilidade de hardware
Processamento rápido de dados
Clusters escaláveis
Exemplo de resposta:
O streaming do Hadoop permite que os engenheiros de dados criem trabalhos de Map/Reduce. Com o streaming do Hadoop, os trabalhos podem ser enviados a um cluster específico. Os trabalhos de Map/Reduce podem ser executados com um script graças ao streaming do Hadoop.
Exemplo de resposta:
Um bloco é a menor unidade que compõe os arquivos de dados, que o Hadoop renderiza dividindo arquivos maiores em unidades pequenas. Um scanner de bloco é usado para verificar quais blocos ou unidades minúsculas são encontrados no DataNode.
Exemplo de resposta:
As três etapas que eu usaria para implementar soluções de Big Data são:
Ingerir e extrair os dados de cada fonte, como Oracle ou MySQL
Armazenar os dados em HDFS ou HBase
Processar os dados usando uma estrutura como Hive ou Spark
Exemplo de resposta:
Tenho conhecimentos práticos dos três principais modos do Hadoop:
Modo totalmente distribuído
Modo autônomo
Modo pseudodistribuído
Embora eu use o modo autônomo para depuração, o modo pseudodistribuído é usado para fins de testes, especificamente quando recursos não são um problema, e o modo totalmente distribuído é usado na produção.
Exemplo de resposta:
Há algumas coisas que eu faria para aumentar o nível de segurança do Hadoop:
Habilitar a criptografia Kerberos, que é um protocolo de autenticação projetado para fins de segurança
Configurar a criptografia transparente (uma etapa que garante que os dados sejam lidos de diretórios específicos do HDFS)
Usar ferramentas como o gateway seguro da API REST Knox para aprimorar a autenticação
Exemplo de resposta:
Como os dados contidos em um sistema de dados extenso são muito grandes, deslocá-los pela rede pode causar congestionamento.
É aí que a localidade dos dados pode ajudar. Isso envolve mover a computação para o local dos dados reais, o que reduz o congestionamento. Em resumo, isso significa que os dados são locais.
Exemplo de resposta:
A função combinadora é essencial para manter o congestionamento da rede baixo. Ela é chamada de mini-redutor e processa trabalhos otimizados de Map/Reduce, ajudando os engenheiros de dados a agregar dados nesse estágio.
Abaixo, você encontrará 23 perguntas avançadas para entrevistas sobre engenharia de dados para avaliar a competência de seus candidatos a cargos de engenharia de dados de nível sênior. Selecione as que se adequem a sua empresa e ao cargo para o qual está contratando.
Exemplo de resposta:
Uso ContextObject para permitir que o Mapper/Reducer interaja com os sistemas no Hadoop. Ele também é útil para garantir que as informações críticas estejam acessíveis enquanto as operações de mapeamento estiverem ocorrendo.
Exemplo de resposta:
As três fases do Reducer no Hadoop são:
Setup()
Cleanup()
Reduce()
Uso setup() para configurar ou ajustar parâmetros específicos, inclusive o tamanho dos dados de entrada, cleanup() para limpeza de arquivos temporários e reduce() para definir qual tarefa precisa ser feita para valores da mesma chave.
Exemplo de resposta:
Se eu quisesse evitar problemas específicos com logs de edição, que podem ser difíceis de gerenciar, o NameNode secundário me permitiria fazer isso. Ele tem a tarefa de mesclar os logs de edição, primeiro adquirindo-os do NameNode, recuperando um novo FSImage e, por fim, usando o FSImage para reduzir o tempo de inicialização.
Exemplo de resposta:
Se o NameNode falhasse, a empresa perderia uma grande quantidade de metadados. Na maioria dos casos, a FSImage do NameNode secundário pode ajudar a restabelecer o NameNode.
Exemplo de resposta:
Enquanto NAS tem capacidade de armazenamento de 109 a 1012, um custo razoável em termos de gerenciamento por GB e usa ethernet para transmitir dados, DAS tem capacidade de armazenamento de 109, um preço mais alto em termos de gerenciamento por GB e usa IDE para transmitir dados.
Exemplo de resposta:
Um [sistema de arquivos distribuído](https://www.techopedia.com/definition/1825/distributed-file-system-dfs#:~:text=A%20distributed%20file%20system%20(DFS,a%20controlled%20e%20authorized%20way.) no Hadoop é um sistema escalável que foi projetado para ajudá-lo a ser executado sem esforço em grandes clusters. Ele armazena os dados contidos no Hadoop e, para facilitar, sua largura de banda é alta. O sistema ajuda a manter a qualidade dos dados.
Exemplo de resposta:
O comando *args é usado para definir uma função que é ordenada e permite que você use qualquer número ou quantidade de argumentos que deseja passar; *args significa argumentos.
Exemplo de resposta:
O comando **kwargs é usado para definir e representar uma função que tem argumentos não ordenados. Ele permite que você use qualquer número ou quantidade de argumentos ao declarar variáveis; **kwargs significa argumentos de palavra-chave.
Exemplo de resposta:
Tanto as tuplas quanto as listas são classes de estrutura de dados, mas há algumas diferenças entre elas.
Enquanto as tuplas não podem ser editadas ou alteradas e são imutáveis, é possível editar uma lista que é mutável. Isso significa que certas operações podem funcionar quando usadas com listas, mas podem não funcionar com tuplas.
Exemplo de resposta:
A principal maneira de lidar com pontos de dados duplicados é usar palavras-chave específicas no SQL. Eu usaria DISTINCT e UNIQUE para diminuir os pontos duplicados. No entanto, também há outros métodos disponíveis para lidar com pontos duplicados, como o uso das palavras-chave GROUP BY.
Exemplo de resposta:
Muitas empresas estão fazendo a transição para a nuvem — e por um bom motivo.
Para mim, há muitos motivos pelos quais trabalhar com big data na nuvem traz benefícios. Além de poder acessar seus dados de qualquer local, você também tem a vantagem de acessar versões de backup em situações urgentes. Há o benefício adicional de que o dimensionamento é fácil.
Exemplo de resposta:
Entre as desvantagens de se trabalhar com big data na nuvem estão a segurança, que pode ser um problema, e os problemas técnicos que os engenheiros de dados podem enfrentar. Há custos contínuos a serem considerados, e talvez você não tenha muito controle sobre a infraestrutura.
Exemplo de resposta:
Como trabalhei principalmente em equipes de startups, tenho experiência com bancos de dados e pipelines.
Sou capaz de usar cada um desses componentes e também de usar bancos de dados de armazéns de dados e pipelines de dados para quantidades maiores de dados.
Exemplo de resposta:
Se você quiser criar várias tabelas para um arquivo de dados individual, isso pode ser feito. No metastore do Hive, esquemas podem ser armazenados, o que significa que você pode receber os resultados dos dados relacionados sem nenhuma dificuldade ou problema.
Exemplo de resposta:
Há algumas coisas que acontecem quando blocos de dados corrompidos são detectados por um scanner de blocos.
Inicialmente, o DataNode informa ao NameNode sobre o bloco que está corrompido. Em seguida, o NameNode começa a criar uma réplica utilizando os blocos que já estão em outro DataNode.
Depois que a réplica for criada e verificada para garantir que seja igual ao fator de replicação, o bloco corrompido será excluído.
Exemplo de resposta:
No Hadoop, é usado um modelo de permissões que permite gerenciar as permissões dos arquivos. Diferentes classes de usuários podem ser usadas, como "proprietário", "grupo" ou "outros".
Algumas das permissões específicas das classes de usuários incluem "executar", "gravar" e "ler", em que "gravar" é uma permissão para gravar um arquivo e "ler" é para que o arquivo seja lido.
Em um diretório, "write" refere-se à criação ou exclusão de um diretório, enquanto "read" é uma permissão para listar o conteúdo do diretório. "Executar" dá acesso ao filho do diretório. As permissões são importantes, pois autorizam ou negam solicitações.
Exemplo de resposta:
Embora em offsets arbitrários o Hadoop não permita modificações nos arquivos, um único gravador pode gravar um arquivo em um formato conhecido como append-only. Todas as gravações feitas em um arquivo no Hadoop são realizadas no final do arquivo.
Exemplo de resposta:
Eu começaria adicionando o endereço IP ou o nome do host no arquivo dfs.hosts.slave. Em seguida, eu realizaria uma atualização do cluster usando $hadoop dfsadmin -refreshNodes.
Exemplo de resposta:
O Python é útil para criar pipelines de dados. Ele também permite que os engenheiros de dados escrevam scripts de ETL, realizem análises e estabeleçam modelos estatísticos. Portanto, é essencial para analisar dados e ETL.
Exemplo de resposta:
Os bancos de dados relacionais, ou RDBSM, incluem os bancos de dados Oracle, MySQL e IBM DB2. Os bancos de dados não relacionais, chamados de NoSQL, incluem Cassandra, Coachbase e MongoDB.
Um RDBSM é normalmente usado em grandes empresas para armazenar dados estruturados, enquanto os bancos de dados não relacionais são usados para o armazenamento de dados que não têm uma estrutura específica.
Exemplo de resposta:
Algumas das bibliotecas Python que podem facilitar o processamento eficiente de dados são:
TensorFlow
SciKit-Learn
NumPy
Pandas
Exemplo de resposta:
O reconhecimento de rack no Hadoop pode ser usado para aumentar a largura de banda da rede. O reconhecimento de rack descreve como um NameNode pode manter a ID do rack de um DataNode para obter informações sobre o rack.
O reconhecimento de rack ajuda os engenheiros de dados a melhorar a largura de banda da rede, selecionando DataNodes mais próximos do cliente que fez a solicitação de leitura ou gravação.
Exemplo de resposta:
No Hadoop, a passagem de sinais entre o NameNode e o nó de dados é chamada de Heartbeat. Os sinais são enviados em intervalos regulares para mostrar que o NameNode ainda está presente.
Se estiver usando testes de habilidades (que podem reduzir significativamente o tempo até a contratação), use as perguntas para entrevistas sobre engenharia de dados apresentadas acima depois de receber os resultados das avaliações.
Essa abordagem oferece benefícios, pois você pode eliminar os candidatos inadequados, evitar entrevistar candidatos que não tenham as habilidades necessárias e concentrar-se nos candidatos mais promissores.
Além disso, os insights obtidos com as avaliações de habilidades podem ajudá-lo a aprimorar o processo de entrevistas e a obter uma compreensão mais profunda das habilidades dos candidatos ao entrevistá-los.
Agora você está pronto para contratar o engenheiro de dados certo para sua empresa!
Recomendamos que você use as perguntas certas da entrevista que reflitam as necessidades de sua empresa e os requisitos do cargo.
As perguntas certas da entrevista, combinadas com avaliações de habilidades para um cargo de engenheiro de dados, podem ajudá-lo a encontrar a melhor opção para sua empresa, permitindo que você:
Tome boas decisões de contratação
Confirme as habilidades de seus candidatos
Reduza a parcialidade inconsciente
Acelere a contratação
Otimize os custos de recrutamento
Depois de atrair candidatos com uma forte descrição do cargo de engenheiro de dados, combine as perguntas para entrevistas sobre engenharia de dados apresentadas nesse artigo com uma avaliação completa das habilidades para contratar os melhores talentos. O uso dessas abordagens pode ajudar a garantir que você encontre excelentes engenheiros de dados para sua empresa.
Com a TestGorilla, você verá que o processo de recrutamento é mais simples, mais rápido e muito mais eficaz. Comece a usar gratuitamente hoje mesmo e passe a tomar decisões de contratação melhores, com maior rapidez e de forma imparcial.
Em minutos, você cria avaliações para selecionar as pessoas candidatas ideais, economizar tempo e contratar profissionais excelentes.
Sem spams. Cancele a assinatura quando quiser.
Com nossos testes, fica muito fácil encontrar a pessoa certa para sua vaga e tomar decisões acertadas e justas durante todo o processo.