
SQL avançado para Data Engineering
Window functions, CTEs recursivas, consultas analíticas, otimização, EXPLAIN ANALYZE, indexação, particionamento
1Qual window function atribui um número sequencial único a cada linha dentro de uma partição?
Qual window function atribui um número sequencial único a cada linha dentro de uma partição?
Resposta
ROW_NUMBER() atribui um número sequencial único a cada linha dentro de uma partição, começando em 1. Diferente de RANK() e DENSE_RANK() que podem atribuir o mesmo número a valores iguais, ROW_NUMBER() sempre garante números únicos, mesmo para valores idênticos na cláusula ORDER BY.
2Qual é a principal diferença entre RANK() e DENSE_RANK()?
Qual é a principal diferença entre RANK() e DENSE_RANK()?
Resposta
RANK() deixa lacunas na numeração após valores empatados. Por exemplo, se duas linhas estão classificadas como 1, a próxima será 3. DENSE_RANK() não deixa lacunas: após duas linhas classificadas como 1, a próxima será 2. Essa distinção é importante para análises de ranking onde lacunas podem distorcer as estatísticas.
3Como calcular uma soma cumulativa (running total) com uma window function?
Como calcular uma soma cumulativa (running total) com uma window function?
Resposta
SUM() OVER com ORDER BY e sem frame explícito usa por padrão ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW, que calcula a soma de todas as linhas precedentes até a linha atual inclusive. Esse é o comportamento padrão para criar totais cumulativos em análises de séries temporais ou sequenciais.
Qual é o papel da cláusula PARTITION BY em uma window function?
Qual função permite acessar o valor da linha anterior em uma window function?
+17 perguntas de entrevista
Outros temas de entrevista Data Engineering
Linux & Shell - Fundamentos
Git & GitHub - Fundamentos
Python avançado para Data Engineering
Docker - Fundamentos
Google Cloud Platform - Fundamentos
CI/CD e qualidade de código
Docker Compose
FastAPI - APIs de dados
Data Lake - Arquitetura e ingestão
BigQuery para Data Engineering
PostgreSQL - Administração
Data Modeling para Data Engineering
Fivetran & Airbyte - Ingestão de dados
dbt - Fundamentos
Apache Airflow - Fundamentos
Kubernetes - Fundamentos
dbt - Recursos avançados
Padrões ETL / ELT / ETLT
Apache Airflow - Avançado
Airflow + dbt - Orquestração de pipelines
PySpark - Processamento em grande escala
Google Pub/Sub - Streaming de dados
Apache Beam & Dataflow
Kubernetes - Produção e escalabilidade
Terraform - Infrastructure as Code
Bancos de dados NoSQL
Arquitetura Data moderna
Monitoramento e observabilidade
IAM e segurança de dados
Domine Data Engineering para sua proxima entrevista
Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.
Comece gratis