#

Guia de Entrevista Técnica no QuintoAndar

Este guia foi criado para te ajudar a se preparar para as entrevistas técnicas do QuintoAndar, com dicas detalhadas, sugestões de estudo, exemplos e recursos gratuitos.

# Data Engineer

Aqui você encontra as dicas e orientações que preparamos para as entrevistas técnicas da área de Data Engineering.

Escolha por onde começar ou revise tudo no seu tempo. Boa leitura e boa preparação!

Modeling & SQL

A entrevista é uma troca. Não esperamos respostas perfeitas, mas sim clareza de raciocínio, boas escolhas e uma atitude construtiva. Aqui vão dicas valiosas para mandar bem:

  • 💙 O que esperamos:

    Em uma entrevista de uma hora de duração, você participará de um exercício prático ao vivo sobre SQL e modelagem de dados. Queremos conhecer a sua experiência e ver como você aplica seus conhecimentos no dia a dia.

      Como se preparar: Modeling & SQL

      • Pense de forma crítica: Esteja preparado para fazer perguntas relevantes para coletar mais informações sobre o contexto apresentado. Isso o ajudará a construir um modelo mais completo e adequado.

      • Conheça os tipos de modelagem de dados: Revise os diferentes tipos de modelagem de dados (por exemplo, transacional vs. dimensional) e quando cada um é mais apropriado. Pense em exemplos práticos de onde você aplicaria cada tipo.

      • Fundamentos de modelagem dimensional: Se familiarizar com conceitos de modelagem dimensional, como tabelas de fato e dimensão, pode ser útil. Pense em como você construiria um modelo que responda a diversas perguntas de negócio.

      • Validação do modelo: Pratique como você validaria se o modelo de dados que você criar é capaz de responder às perguntas de negócio que lhe forem apresentadas. A capacidade de garantir que seu modelo atende aos requisitos é crucial.

      • Flexibilidade e evolução: Considere como seu modelo pode ser flexível para acomodar novas informações ou mudanças nos requisitos de negócio.

      • Código SQL: O teste avaliará sua capacidade de utilizar código para responder a perguntas de negócio. Recomendamos focar na revisão de funções de agregação e funções de janela.

      📌  Checklist – Modeling & SQL

      Quer garantir que não esqueceu de nada? Use essa checklist para guiar sua abordagem:

      ✅ Revisei as principais funções de SQL
      ✅ Consigo fazer perguntas relevantes para coletar mais informações.
      ✅ Conheço os tipos de modelagem de dados e sei quando usá-los.
      ✅ Entendo conceitos de tabelas de fato e dimensão.
      ✅ Sei como validar se meu modelo atende aos requisitos de negócio.
      ✅ Consigo pensar na flexibilidade e evolução de um modelo.

Coding

A entrevista é uma troca. Não esperamos respostas perfeitas, mas sim clareza de raciocínio, boas escolhas e uma atitude construtiva. Aqui vão dicas valiosas para mandar bem:

  • 💙 O que esperamos:

    Em uma entrevista de aproximadamente uma hora de duração, você precisará usar algoritmos e estruturas de dados para resolver um ou mais problemas de programação. Com base no seu desempenho, você poderá avançar para a próxima etapa.

      Como se preparar – Coding

      • Linguagens de Programação: Esperamos que você se sinta à vontade com Python. Você deve conhecer Design Orientado a Objetos e saber como testar seu código.

      • Estruturas de Dados: Procure familiarizar-se com arrays, listas encadeadas, pilhas, filas, conjuntos (sets), mapas (maps), árvores e grafos. Você deve saber como usá-los na sua linguagem de programação de escolha, bem como os algoritmos que combinam bem com essas estruturas.

      • Complexidade: Esperamos que você seja capaz de raciocinar sobre a complexidade de tempo e espaço de um algoritmo, e como você pode melhorá-la. Você também deve estar familiarizado(a) com a notação Big-O.

      • Ordenação (Sorting): Tenha uma ideia básica dos algoritmos de ordenação comuns, como insertion sort, quicksort e mergesort.

      • Recursão: Muitos problemas exigem recursão ou podem ser resolvidos mais facilmente com o uso dela. Esteja preparado(a) para utilizá-la se a necessidade surgir.

      • Correção: Você usará um IDE online com recursos básicos, como preenchimento de código e destaque de sintaxe, além da capacidade de executar e testar seu código. Aproveite esses recursos!

      📌  Checklist – Coding

      Quer garantir que não esqueceu de nada? Use essa checklist para guiar sua abordagem:

      ✅ Estou à vontade com uma linguagem de programação e sei testar meu código.
      ✅ Conheço as principais estruturas de dados e sei seus algoritmos.
      ✅ Consigo raciocinar sobre a complexidade de tempo e espaço de um algoritmo.
      ✅ Revisei os algoritmos de ordenação e recursão.
      ✅ Sei usar o IDE online e seus recursos básicos.

System Design

A entrevista é uma troca. Não esperamos respostas perfeitas, mas sim clareza de raciocínio, boas escolhas e uma atitude construtiva. Aqui vão dicas valiosas para mandar bem:

  • 💙 O que esperamos:

    Em uma entrevista de aproximadamente uma hora de duração, você será solicitado(a) a contar sobre seus projetos anteriores e demonstrar suas habilidades técnicas com foco em arquitetura de dados. Isso inclui um aprofundamento na construção de pipelines e nas ferramentas utilizadas para criá-los.

      Como se preparar – System Design

      • Relembre a arquitetura de dados: Pense sobre as diferentes etapas do ciclo de vida dos dados, desde a ingestão até o consumo final. Considere como as ferramentas se conectam e os propósitos de cada camada (bronze, silver, gold).
      • Pense em cenários de dados diversos: Considere como você lidaria com diferentes tipos de ingestão (APIs, bancos relacionais, eventos em tempo real) e como garantiria a resiliência e escalabilidade das soluções.
      • Ferramentas e suas aplicações: Reflita sobre as ferramentas que você conhece para transformação e modelagem de dados, orquestração e governança. Pense nos prós e contras de cada uma e em como elas funcionam internamente.
      • Qualidade, monitoramento e segurança: Revise as práticas essenciais para garantir a qualidade dos dados, identificar e resolver gargalos de performance, e como você abordaria aspectos de segurança e compliance em uma arquitetura de dados.
      • Comunicação de arquitetura: Esteja preparado para explicar suas decisões técnicas de forma clara e objetiva, inclusive para públicos não técnicos.
      • Integração e evolução: Pense em como os pipelines de dados podem se integrar com outras áreas, como Data Science (MLOps), e como você visualiza a evolução de uma arquitetura a médio e longo prazo.
      • Gerenciamento de custos e resiliência: Considere como você otimizaria custos em um ambiente de dados e como projetaria sistemas escaláveis e resilientes a falhas.
      • Trade-Offs: Perguntas de design de sistema e arquitetura são, por natureza, abertas. Esteja pronto(a) para discutir múltiplas abordagens possíveis e seus trade-offs (compromissos/compensações) com seu entrevistador.
      • Evite o excesso de engenharia: Tentar cobrir todos os casos extremos desde o início pode levar a sistemas muito complexos. Concentre-se em fornecer soluções simples, discuta suas limitações com o entrevistador e, em seguida, melhore-as conforme a necessidade.

      📌 Checklist – System Design

      Quer garantir que não esqueceu de nada? Use essa checklist para guiar sua abordagem:

      ✅ Estou pronto para falar sobre projetos anteriores e arquitetura de dados.
      ✅ Sei explicar o ciclo de vida dos dados (ingestão ao consumo final).
      ✅ Consigo discutir ferramentas e suas aplicações (prós e contras).
      ✅ Sou capaz de discutir trade-offs entre diferentes decisões técnicas.
      ✅ Entendo sobre qualidade, monitoramento e segurança de dados.
      ✅ Consigo explicar decisões técnicas de forma clara, inclusive para não técnicos.
      ✅ Pensei em como os pipelines de dados podem se integrar com outras áreas.
      ✅ Pratiquei criar diagramas em ferramentas como FigJam.