Sobes.tech

Data Engineer

Que métodos (tipos) de armazenamento de histórico de dados conhece? Como é acumulada a história nas tabelas?

Middle
СБЕРСБЕР
53

Tarefa de design de arquitetura de microsserviços: como fornecer dados para a tabela de pedidos (produtos, preços, pedidos) no frontend quando há três microsserviços separados?

Senior
ИП Ганус Александр Андреевич
53

No que diz respeito à consulta, podemos ver o que acontece com os dados, incluindo quais tipos de joins — quais tipos de joins podemos ver lá?

Middle
МВидеоМВидео
53

Análise da atividade dos utilizadores em campanhas publicitárias A empresa mantém um registo de eventos relacionados com campanhas publicitárias. São fornecidas duas tabelas: • campaigns — lista de campanhas publicitárias com os seus identificadores e nomes; • events — eventos de utilizadores por campanha com informações sobre o tipo de evento (por exemplo, 'click' (clique na publicidade)) e o tempo. É necessário criar um relatório para cada campanha com os seguintes indicadores: • Número total de eventos. • Número de utilizadores únicos que realizaram eventos. • Hora do primeiro e do último evento por campanha. • Classificação da campanha por ordem decrescente do número total de eventos. A classificação é um número atribuído a cada linha no conjunto de resultados com base na ordem dos dados. Se duas ou mais linhas tiverem o mesmo valor, recebem a mesma classificação, mas a classificação seguinte é pulada. O relatório deve incluir apenas campanhas que tiveram eventos: campanhas sem eventos não são consideradas. O relatório final deve ser ordenado primeiro pela classificação da campanha em ordem crescente, e depois por campaign_name em ordem alfabética. Formato de entrada • campaign_name (string) — nome da campanha publicitária • start_date (timestamp) — data e hora de início da campanha • end_date (timestamp) — data de fim da campanha Tabela events: • event_id (int) — identificador único do evento • user_id (int) — identificador único do utilizador que realizou o evento • campaign_id (int) — identificador único da campanha • event_type (string) — tipo de evento, por exemplo 'click' ou 'conversion' • event_time (timestamp) — data e hora do evento Os dados não contêm valores em falta ou incorretos. Formato de saída A consulta deve retornar uma tabela com os campos nesta ordem: • campaign_name (string) — nome da campanha publicitária • total_events (int) — número total de eventos relacionados com a campanha • unique_users (int) — número de utilizadores únicos que realizaram eventos • first_event_time (timestamp) — data e hora do primeiro evento da campanha • last_event_time (timestamp) — data e hora do último evento da campanha • campaign_rank (int) — classificação da campanha por ordem decrescente do número total de eventos Ordene os dados por classificação da campanha em ordem crescente, e depois por campaign_name em ordem alfabética.

Junior
01.tech
52

Quais estratégias de carregamento incremental no dbt utilizou?

Middle
КИПР NDA(IGaming)
52

Como encontrar uma substring numa coluna específica de um ficheiro de log no Linux (por exemplo, a data na terceira coluna)?

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

Que verificações de qualidade de dados foram realizadas no Data Vault?

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

O que é tipagem dinâmica?

Middle
Леман про
51

Você está familiarizado com a metodologia Domain Driven Design (DDD)? Se sim, compartilhe exemplos de sua aplicação em seus projetos.

Junior
01.tech
50

Como ler um arquivo de 100 gigabytes em Python?

Middle
FOM GROUP
50

Qual é a diferença entre CTE e uma subconsulta?

Middle
МВидеоМВидео
50

Quais são os formatos de distribuição no Greenplum além de BY column e RANDOMLY?

Middle
СБЕРСБЕР
50

Qual é a diferença entre particionamento e sharding?

Middle
СБЕРСБЕР
50

Escreve um DAG simples para Apache Airflow

Middle
ING BANK (EURASIA) JSC
50

Conhece os cubos OLAP? Quando trabalhamos com dados multidimensionais, semelhantes a uma tabela dinâmica no Excel, mas para uma interação mais rápida com grandes volumes de dados.

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

O que é um decorador em Python e para que é utilizado (no contexto do Airflow)?

Middle
Леман про
49

Que JOINs físicos conheces?

Middle
СБЕРСБЕР
49

Já trabalhou com cargas incrementais e completas? Como lidou com os duplicados?

Middle
AstonAston
48

SELECIONAR * FROM table1 AS t1 LEFT JOIN table2 AS t2 ON t1.date_start > t2.date_start --DML CRIAR TABELA SE NÃO EXISTIR Employee (id int, salary int, departmentId int); INSERT INTO Employee (id,salary,departmentId) VALUES (1, 70000, 1),(2, 94000, 1),(3, 85000, 1),(4, 80000, 2),(5, 60000, 2),(6, 62000, 3),(7, 90000, 3),(8, 94000, 3),(9, 94000, 3); com cte como( select *, rank() over(partition by departmentId order by salary desc) as max_salary from Employee ) select * from cte where max_salary = 1

Middle
Леман про
48

Fala-me sobre o Greenplum — formatos de armazenamento de dados, armazenamento em linha e colunar.

Middle
Леман про
48
/32