Data Engineer
Em que casos usar índices B-tree e hash no PostgreSQL?
Recebeste uma tarefa com o número ABC. Qual é a tua ordem de ações no Git ao começares a trabalhar?
Existem duas transações. Primeiro, a primeira transação executa um comando. Depois, a segunda transação executa um comando. Em seguida, a primeira transação continua a ser executada. Qual sequência levará a um bloqueio mútuo? ```sql -- primeira transação update accounts set balance = balance + 100 where id = ?; -- segunda transação update accounts set balance = balance - 50 where id = ?; update accounts set balance = balance + 200 where id = ?; ```
Que estratégias de distribuição de dados existem?
A ramificação feature contém vários commits com um arquivo config.yaml mal commitado, que foi corrigido posteriormente. Como resultado, a equipe decidiu remover completamente todas as alterações no arquivo da história para evitar a divulgação de configurações confidenciais. Estado original da ramificação (saída do git log --oneline): 1 a4b5c67 (HEAD -> feature) Refatorou a lógica do serviço 2 d9f0a11 Corrigiu erro de digitação no config.yaml 3 7c1d3f2 Adicionou um config.yaml temporário 4 e3a98cd Commit inicial 5 Após reescrever a história para remover o arquivo config.yaml, a saída do git log --oneline ficou assim: 6 b9e7d42 (HEAD -> feature) Refatorou a lógica do serviço 7 41f3b60 Commit inicial Que operação a equipe realizou? - Executou git revert no commit com o config.yaml - Executou git filter-branch --index-filter "git rm --cached config.yaml" -- --all - Executou git rebase -i removendo commits que continham alterações no arquivo - Executou git commit --amend e git push --force - Executou git cherry-pick para criar uma nova ramificação sem o config.yaml
O que é uma CTE (Expressão de Tabela Comum)?
Quão realistas são os planos da empresa para construir um sistema de coleta, normalização e análise de dados?
Fala sobre bases de dados relacionais em geral — o que são?
Como iniciar o segundo DAG do Airflow imediatamente após a conclusão bem-sucedida do primeiro?
O que é importante para si no seu futuro trabalho?
Análise da frequência em clubes de fitness Você trabalha como analista numa cadeia de clubes de fitness. Tem informações sobre as visitas dos utilizadores e as assinaturas que eles compram. É necessário analisar a eficácia do uso das assinaturas. Calcule para cada tipo de assinatura: • o número total de utilizadores que usaram esse tipo de assinatura. Considere apenas user_id únicos; • o número total de visitas com essa assinatura. Considere todas as visitas de utilizadores com essa assinatura; • a proporção de utilizadores dessa assinatura em percentagem do total de todos os utilizadores (arredondado a uma casa decimal). Para calcular a proporção de utilizadores, use a relação entre o número de utilizadores com essa assinatura e o número total de utilizadores únicos. Cada utilizador pode ter apenas uma assinatura. Ordene o resultado por tipo de assinatura em ordem alfabética. Formato de entrada Tabela memberships: • membership_id (int) — identificador único da assinatura • user_id (int) — identificador único do utilizador • membership_type (text) — tipo de assinatura Tabela visits:
Para que servem as "pastas"/prefixos no S3 além de conveniência?
Com dependências entre jobs, entre DAGs — usou sensores para que vários jobs fossem iniciados um após o outro?
Quando é apropriado usar ThreadPoolExecutor?
Qual restrição existe ao usar DISTINCT ON no PostgreSQL com ORDER BY?
Data Vault é uma ferramenta conveniente, mas acaba por haver muitos objetos. Pode explicar a diferença entre hubs, links e satélites?
O que é Spark JDBC e como carregar eficientemente uma grande tabela através dele?
Como otimizaram as tabelas e consultas: partições, índices, lógica de seleção?
O que é shuffle no Spark e para que serve?
Existem outros mecanismos de gestão do shuffle além de coalesce/repartition?