Sobes.tech

Data Engineer

Como proceder em caso de desequilíbrio (skew) em user_id ao fazer JOIN entre tabelas de transações e usuários? Como escolher a chave de distribuição ideal?

Middle
wb
40

Como escolher a chave de sharding correta para uma distribuição uniforme dos dados?

Middle
ютэир
40

Como procederias com a cadeia de Materialized View através de uma tabela intermédia ReplacingMergeTree para preencher corretamente os dados já existentes antes de lançar a nova MV?

Middle
АНО ЦИСМ
40

Como carregar dados do Kafka para o ClickHouse através de streaming para relatórios em tempo real?

Middle
МВидеоМВидео
40

Qual é a complexidade algorítmica da pesquisa num dicionário no pior caso?

Middle
ОстровокОстровок
40

Fala-me um pouco sobre a tua experiência e o que estudaste.

Middle
Альфа-БанкАльфа-Банк
40

Como obter o último nome completo de cada cliente, se apenas a data de início é conhecida (a data de fim não é conhecida)?

Middle
СБЕРСБЕР
40

O que é uma chave primária no ClickHouse e como ela difere de uma chave primária em bancos de dados tradicionais?

Middle
ютэйр
40

Qual é a diferença entre os comandos docker run e docker exec?

Senior
ТЕХНОНИКОЛЬ
40

O que é o otimizador Catalyst no Spark e quais exemplos específicos de otimizações ele realiza (por exemplo, predicate pushdown)?

Middle+
ПАО Сбербанк
39

Qual é a complexidade algorítmica para obter um elemento por chave de um dicionário (dict) em Python?

Middle
МТСМТС
39

Como comparar a tabela original ("live") e a tabela de destino se a fonte está constantemente a mudar?

Senior
ООО Блейз Аналитикс
39

Como rastrear em qual execução do DAG uma linha específica apareceu no Data Vault?

Middle+
Лига Цифровой ЭкономикиЛига Цифровой Экономики
39

Análise de vendas por categorias de produtos numa loja de retalho Trabalha como analista numa loja de retalho. A tua tarefa é criar um relatório de vendas por categorias de produtos com os seguintes cálculos: • quantidade total de unidades vendidas na categoria (total_units_sold); • receita total por categoria, considerando descontos, onde o desconto é calculado como unit_price × units_sold × (1 − discount/100). Se não houver desconto (NULL), considerar 0%. Arredondar para duas casas decimais; • média de unidades vendidas por venda (avg_units_per_sale), arredondada a duas casas decimais; • proporção de vendas sem desconto (no_discount_share) — número de vendas com NULL ou 0% de desconto, dividido pelo total de vendas na categoria, arredondado a três casas decimais. Ordena primeiro pelos resultados de maior receita total (total_revenue), depois por média de unidades por venda (avg_units_per_sale) em ordem crescente, e por último pelo nome da categoria em ordem alfabética. Formato de entrada Tabela sales: • sale_id (int) — identificador único de venda • product_id (int) — identificador do produto • category (text) — categoria do produto • sale_date (timestamp) — data e hora da venda • units_sold (int) — unidades vendidas • unit_price (numeric) — preço por unidade • discount (numeric) — desconto em percentagem, pode ser NULL A coluna discount pode conter valores nulos. Formato de saída A consulta deve retornar uma tabela com os seguintes campos na seguinte ordem: • category (text) — categoria do produto • total_units_sold (int) — quantidade total de unidades vendidas na categoria • total_revenue (numeric) — receita total por categoria, arredondada a duas casas decimais • avg_units_per_sale (numeric) — média de unidades por venda, arredondada a duas casas decimais • no_discount_share (numeric) — proporção de vendas sem descontos (valor entre 0 e 1), arredondada a três casas decimais O resultado deve ser ordenado primeiro por total_revenue em ordem descendente, depois por avg_units_per_sale em ordem crescente, e finalmente por categoria em ordem alfabética.

Junior
01.tech
39

Fala sobre a tua experiência na X5: o que fizeste na parte de DWH?

Middle
FOM GROUP
39

Como é que os dados entram no armazenamento no seu local de trabalho atual?

Middle
КИПР NDA(IGaming)
39

O armazenamento foi construído de acordo com o esquema Data Vault — você também o desenvolveu, manteve? Adicionou hubs, links manualmente?

Middle
МВидеоМВидео
39

Por que decidiu entrar no mercado e deixar o seu emprego atual?

Middle
RWB
39

Você está trabalhando em uma nova funcionalidade na branch dev. De repente, surge a necessidade de mudar rapidamente para a branch main para corrigir um erro de digitação no arquivo README.md. Você tem algumas alterações não indexadas: em src/feature.js (não indexado) e styles/main.css (indexado). Você quer salvar temporariamente todas essas alterações para depois voltar a elas na branch dev. Qual sequência de comandos você deve usar para isso? git stash save "WIP on feature" && git checkout main && [fix] && git checkout dev && git stash pop git stash push -m "WIP on feature" && git checkout main && [fix] && git checkout dev && git stash pop git stash && git checkout main && [fix] && git checkout dev && git stash apply git add . && git stash && git checkout main && [fix] && git checkout dev && git stash drop git commit -m "Temp commit" && git checkout main && [fix] && git checkout dev && git reset HEAD^

Junior
01.tech
39

O que é uma View Materializada e como ela difere de uma View normal?

Middle
FOM GROUP
39
/32