🎁 Cadastre-se agora e ganhe até 30 minutos grátis de uso de IA online. Sem cartão de crédito.

Perguntas e Respostas de Entrevista Databricks: 25 Perguntas sobre Spark, Delta Lake e Pipelines

August 31, 2026
Perguntas de entrevista Databricks com respostas sobre shuffles e skew no Spark, Delta Lake, MERGE, OPTIMIZE, Unity Catalog, design medallion e cenários de jobs lentos.
Perguntas e Respostas de Entrevista Databricks: 25 Perguntas sobre Spark, Delta Lake e Pipelines
perguntas de entrevista databricks
perguntas e respostas de entrevista databricks
perguntas de entrevista delta lake
perguntas de entrevista spark databricks

Entrevistas na Databricks geralmente misturam Apache Spark (como os jobs rodam, por que estão lentos), Delta Lake (o que torna as tabelas confiáveis) e a plataforma (clusters, jobs, governança). As respostas mais fortes conectam cada conceito a um problema real, como joins com skew, arquivos pequenos ou um pipeline que precisa ser reprocessado com segurança.

A Databricks renomeia e reorganiza produtos com bastante frequência, então diga quais nomes você já usou (por exemplo, Delta Live Tables, hoje parte da família Lakeflow) e confira a descrição da vaga para saber a stack.

Abaixo estão 25 perguntas com respostas.

Plataforma e arquitetura

1. O que é a Databricks e o que é um lakehouse?

A Databricks é uma plataforma de dados e IA na nuvem construída em torno do Apache Spark. Um lakehouse mantém os dados em formatos abertos no armazenamento de objetos da nuvem e adiciona por cima a confiabilidade e a governança de um data warehouse, de modo que uma única cópia dos dados atende engenharia, analytics e machine learning.

2. Qual é a diferença entre clusters all-purpose, clusters de job e SQL warehouses?

Clusters all-purpose são para trabalho interativo e desenvolvimento. Clusters de job são iniciados para um job agendado e desligados depois, o que custa menos. SQL warehouses são computação otimizada para consultas SQL e BI.

3. Como você controla custos?

Use clusters de job em produção, auto-terminação em clusters interativos, autoscaling com limites sensatos, tipos de instância dimensionados corretamente, instâncias spot para cargas tolerantes a falhas, políticas de cluster para limitar o que as pessoas podem criar e tags para relatórios de custo.

4. O que é o Unity Catalog?

A camada de governança para ativos de dados e IA. Ele oferece um namespace de três níveis (catálogo, schema, tabela), controle de acesso centralizado, linhagem e auditoria entre workspaces.

Delta Lake

5. O que é o Delta Lake e por que usá-lo em vez de Parquet puro?

O Delta Lake é um formato de tabela que adiciona um log de transações aos arquivos Parquet. Ele oferece transações ACID, enforcement e evolução de schema, time travel e updates e deletes eficientes. O Parquet puro não tem transações, então uma escrita que falha pode deixar dados parciais, e os leitores podem ver um estado inconsistente.

6. Como funciona o log de transações do Delta?

Cada commit adiciona uma entrada JSON à pasta _delta_log, com checkpoints periódicos. O log lista quais arquivos de dados fazem parte da tabela em cada versão. Os leitores o usam para ver um snapshot consistente, e os escritores usam concorrência otimista, tentando novamente ou falhando se outro commit entrar em conflito.

7. O que é time travel?

Consultar uma versão anterior de uma tabela por número de versão ou timestamp, para auditoria, depuração ou rollback.

SELECT * FROM sales VERSION AS OF 12;
RESTORE TABLE sales TO VERSION AS OF 12;

8. Como você faz upsert de dados com Delta?

Com MERGE INTO:

MERGE INTO customers t
USING updates s ON t.id = s.id
WHEN MATCHED THEN UPDATE SET *
WHEN NOT MATCHED THEN INSERT *;

Garanta que a origem tenha uma linha por chave, ou o merge falha ou produz resultados errados.

9. O que OPTIMIZE e VACUUM fazem?

OPTIMIZE compacta muitos arquivos pequenos em arquivos maiores, o que acelera as leituras. VACUUM exclui arquivos que não são mais referenciados pela tabela e que são mais antigos que o período de retenção, o que libera armazenamento mas limita o time travel. Não defina uma retenção muito curta enquanto outros jobs ainda podem ler versões mais antigas.

10. Como você organiza os dados para consultas rápidas?

Faça particionamento apenas em colunas de baixa cardinalidade que as consultas costumam filtrar, e mantenha as partições grandes o suficiente. Particionamento excessivo cria muitos arquivos pequenos. Para outras colunas, use Z-ordering ou liquid clustering (a abordagem mais nova), que agrupam os dados para que as consultas possam pular arquivos.

Fundamentos do Spark

11. O que são transformações e ações, e o que é avaliação preguiçosa (lazy evaluation)?

Transformações como filter e select montam um plano, mas não são executadas. Ações como count e write disparam a execução. Como o Spark enxerga o plano inteiro primeiro, ele consegue otimizá-lo.

12. O que é um shuffle e por que ele é caro?

Um shuffle move dados entre os executores pela rede para que as linhas com a mesma chave fiquem juntas, como em joins, groupBy e distinct. Isso envolve I/O de disco e de rede, então reduzir shuffles é o principal caminho para jobs mais rápidos.

13. Como o Spark faz o join de duas tabelas, e como você pode acelerar isso?

Por padrão, joins grandes usam um shuffle (sort-merge) join. Se uma das tabelas for pequena, um broadcast join a envia para cada executor e evita o shuffle da tabela grande.

from pyspark.sql.functions import broadcast
df = big.join(broadcast(small), "id")

14. O que é data skew e como corrigir?

Poucas chaves concentram a maior parte das linhas, então algumas tarefas demoram muito mais que as outras. O sinal é uma tarefa rodando por muito tempo na Spark UI. As correções são o tratamento de skew do adaptive query execution, o salting da chave, o broadcast do lado menor ou filtrar chaves nulas ou padrão que causam o skew.

15. O que é adaptive query execution (AQE)?

O Spark ajusta o plano durante a execução usando estatísticas reais: ele pode agrupar partições pequenas de shuffle, trocar estratégias de join e dividir partições com skew. Vem ativado por padrão nas versões recentes.

16. Qual é a diferença entre repartition e coalesce?

repartition pode aumentar ou diminuir o número de partições e faz um shuffle completo. coalesce só diminui o número de partições e evita um shuffle completo, então é mais barato, mas pode gerar partições desiguais.

17. Quando você deve fazer cache de um DataFrame?

Quando você reutiliza o mesmo DataFrame várias vezes em um job e recalculá-lo é caro. Não faça cache de coisas usadas uma única vez e libere o cache quando terminar.

18. Por que preferir funções nativas a UDFs em Python?

As funções nativas rodam dentro da JVM e podem ser otimizadas. As UDFs em Python movem dados entre a JVM e o Python e são opacas para o otimizador, então são mais lentas. Use funções nativas ou pandas UDFs quando possível.

Pipelines

19. O que é a arquitetura medallion?

Um design em camadas: o bronze guarda os dados brutos ingeridos, o silver guarda os dados limpos e conformados, e o gold guarda agregações de nível de negócio prontas para relatórios. Isso deixa claro onde acontecem as verificações de qualidade e permite reconstruir as camadas posteriores a partir das anteriores.

20. O que é o Auto Loader?

Um recurso que ingere de forma incremental e eficiente novos arquivos do armazenamento em nuvem conforme eles chegam, rastreando quais arquivos já foram processados, com suporte a inferência e evolução de schema.

21. Como o Structured Streaming lida com falhas e com exactly-once?

Ele usa checkpoints que armazenam o progresso e o estado, então uma consulta reiniciada continua de onde parou. Com fontes reprocessáveis e sinks idempotentes ou transacionais, como o Delta, você obtém resultados exactly-once de ponta a ponta.

22. Como você torna um pipeline seguro para reprocessar?

Torne as escritas idempotentes: use MERGE em uma chave, sobrescreva uma partição específica ou use um run ID para evitar duplicatas. Mantenha o intervalo de entrada do job explícito e registre a contagem de linhas para poder conferir os resultados.

23. Como você faz verificações de qualidade de dados?

Use expectations ou constraints no pipeline (por exemplo, constraints do Delta ou expectations de pipelines declarativos), valide contagem de linhas, nulos e unicidade, e coloque linhas ruins em quarentena em vez de falhar a carga inteira, dependendo do contrato com os usuários a jusante.

Cenários

24. Um job que rodava em 20 minutos agora leva três horas. O que você faz?

  1. Compare a Spark UI das duas execuções: qual stage ficou mais lento?
  2. Verifique o tamanho da entrada e se uma tabela cresceu ou perdeu seu layout, por exemplo, muitos arquivos pequenos.
  3. Procure skew no stage lento e spilling para o disco.
  4. Verifique mudanças no cluster, como menos workers ou um tipo de instância diferente.
  5. Verifique mudanças no código ou nas configurações do Spark, e se surgiu um novo join ou UDF.
  6. Corrija a causa (compaction, broadcast, tratamento de skew ou dimensionamento) e adicione monitoramento.

25. Projete um pipeline que ingere arquivos JSON diários e alimenta um dashboard.

"O Auto Loader lê novos arquivos em uma tabela Delta bronze com os dados brutos e metadados. Um job os processa e limpa para o silver, deduplicando por chave com MERGE. Uma tabela gold agrega para o dashboard, que lê de um SQL warehouse. O Unity Catalog gerencia o acesso, as expectations capturam dados ruins, e o job roda em um job cluster com alertas em caso de falha e de anomalias na contagem de linhas."

Como se preparar

Percorra um notebook que lê um arquivo, faz join com outra tabela, grava em Delta e usa MERGE. Abra a Spark UI e encontre um shuffle e uma tarefa com skew. Prepare uma história sobre como você acelerou ou corrigiu um pipeline, com números. Para tópicos relacionados, veja nossos guias sobre Kafka, Snowflake e Talend.

Fale suas respostas em voz alta, especialmente as de performance, nas quais os candidatos costumam listar dicas de tuning sem um diagnóstico. Um transcript de entrevista simulada mostra onde. Siga as regras da empresa sobre ferramentas de IA em qualquer entrevista ao vivo.

Pratique respostas de entrevista Databricks com YesToTheOffer

Faça uma entrevista técnica simulada, explique um design de pipeline em voz alta e revise sua transcrição depois. 30 minutos grátis, sem assinatura.

iOS & Android — Em breve
Ver preços