Data Engineer
Já trabalhou com funções de janela? Quais tipos de funções de janela você conhece?
O que é uma junção de transmissão no Spark?
Foi criada uma sequência especial que gera apenas números pares, chamada even_sequence. O que deve ser colocado no lugar de [...], para que, no caso de o valor de even_column não ser especificado na inserção, o valor seja retirado de even_sequence? create table some_table( even_column [...] ); integer computed as nextval('even_sequence') integer generated always as identity (start with 2 increment by 2) integer default nextval('even_sequence') integer unique default nextval('even_sequence') integer generated by even_sequence’
Que grupos de operadores SQL conhece? A que pertencem?
Qual é o perigo do shuffle no Spark?
Qual é a complexidade algorítmica para obter um elemento por chave de um dicionário (dict) em Python?
Como comparar a tabela original ("live") e a tabela de destino se a fonte está constantemente a mudar?
O que é particionamento de dados e como ajuda a evitar uma varredura completa da tabela?
Descobriste que na história do repositório principal do Git há commits que contêm dados confidenciais críticos. Esses dados precisam ser completamente removidos de toda a história do repositório. Avalie o quão correto e seguro seria usar a seguinte estratégia: criar um novo commit que remova os dados confidenciais da versão atual dos arquivos e enviá-lo para main. - Correto, mas não ótimo. É melhor usar git revert para desfazer commits - Condicionalmente correto. É uma solução temporária até que uma medida mais radical para remover os dados seja encontrada - Incorreto e inseguro. Os dados serão removidos da versão atual, mas permanecerão acessíveis na história do repositório - Incorreto. Este commit pode causar novos conflitos ao mesclar com outros branches - Correto e seguro. Este método garante que os dados serão removidos e não reaparecerão no repositório
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 = ?; ```
O armazenamento foi construído de acordo com o esquema Data Vault — você também o desenvolveu, manteve? Adicionou hubs, links manualmente?
Como ver os parâmetros ou restrições no ClickHouse?
Por que ocorrem deadlocks e qual mecanismo nos bancos de dados é responsável pela consistência dos dados em consultas paralelas?
Faz sentido usar CTE se ela for usada apenas uma vez na consulta?
Descreva as funções de janela na forma mais expandida possível: quais palavras-chave são usadas e para que serve cada uma.
Qual é a diferença entre os tipos de dados int e uint no ClickHouse?
Particionamento em bases de dados: para que serve, como funciona?
Como é que o tamanho das partículas influencia a tabela ClickHouse?
Qual é a complexidade algorítmica da pesquisa num dicionário no pior caso?
Qual foi a sua arquitetura no projeto? DWH ou algo mais?