Sobes.tech

Data Engineer

Kā jūs strādājāt ar CI/CD?

Middle
AstonAston
52

Kāda ir atšķirība starp WHERE un HAVING?

Middle
FOM GROUP
52

Kā jūs redzat savu līdzdalību projektā, ņemot vērā aprakstīto komandas sastāvu?

Senior
ооо УК Арбат
52

Kas ir GIL (Global Interpreter Lock) un kā tas darbojas Python?

Middle
газпромнефть снабжение
52

Lietotāju aktivitātes analīze reklāmas kampaņās Uzņēmums uzskaita notikumus, kas saistīti ar reklāmas kampaņām. Ievades tabulas: • campaigns — reklāmas kampaņu saraksts ar to identifikatoriem un nosaukumiem; • events — lietotāju notikumi pēc kampaņām ar informāciju par notikuma tipu (piemēram, 'click' (klikšķis uz reklāmas)) un laiku. Nepieciešams izveidot pārskatu par katru reklāmas kampaņu ar šādiem rādītājiem: • Kopējais notikumu skaits. • Unikālo lietotāju skaits, kuri veica notikumus. • Kampaņas pirmā un pēdējā notikuma laiks. • Kampaņas ranga pēc kopējā notikumu skaita dilstošā secībā. Rangs — skaitlis, kas piešķirts katrai rindai rezultātu kopā, balstoties uz norādīto datu kārtību. Ja divas vai vairāk rindas ir ar vienādu vērtību, tām piešķir vienādu rangu, bet nākamais rangs tiek izlaists. Tiek iekļautas tikai tās kampaņas, kurām bija notikumi: bez notikumiem esošas kampaņas netiek ņemtas vērā. Galīgais pārskats ir jāsakārto vispirms pēc ranga dilstošā secībā, pēc tam pēc campaign_name alfabētiskā secībā. Ievades formāts • campaign_name (string) — reklāmas kampaņas nosaukums • start_date (timestamp) — kampaņas sākuma datums un laiks • end_date (timestamp) — kampaņas beigu datums un laiks Notikumu tabula: • event_id (int) — unikāls notikuma identifikators • user_id (int) — unikāls lietotāja identifikators, kurš veica notikumu • campaign_id (int) — reklāmas kampaņas unikāls identifikators • event_type (string) — notikuma veids, piemēram, 'click' (klikšķis) vai 'conversion' (konversija — veiksmīga darbība, piemēram, pirkums) • event_time (timestamp) — notikuma veikšanas laiks Dati nesatur tukšas vai nepareizas vērtības. Izvades formāts Vaicājumam jāatgriež tabula ar šādiem laukiem: • campaign_name (string) — reklāmas kampaņas nosaukums • total_events (int) — kopējais notikumu skaits • unique_users (int) — unikālo lietotāju skaits, kuri veica notikumus • first_event_time (timestamp) — pirmā notikuma laiks • last_event_time (timestamp) — pēdējā notikuma laiks • campaign_rank (int) — kampaņas ranga pēc kopējā notikumu skaita dilstošā secībā Datus jāizkārto pēc ranga dilstošā secībā, pēc tam pēc campaign_name alfabētiskā secībā.

Junior
01.tech
52

Kāpēc sekojošā vaicājuma neizmantos indeksu, ja tabulā records (id) ir izveidots parasts B-Tree indekss pēc id? select * from records where id % 2 = 0 - Id nepieciešams GIN tipa indekss - Indeksi nedarbojas ar izteiksmēm WHERE - % ir salīdzināšanas operācija, ne filtrēšana - limit un offset ir obligāti optimizācijai ar indeksu - Vaicājums piekļūst skaitliskajam laukam, ne teksta laukam

Junior
01.tech
52

Attiecībā uz vaicājumu mēs varam redzēt, kas notiek ar datiem, tostarp kādiem savienojumu veidiem — kādus savienojumu veidus mēs varam redzēt tur?

Middle
МВидеоМВидео
52

-- Sākotnējā stretch tabula -- Ir nepieciešams aizpildīt NULL vērtības ar iepriekšējo (ne NULL) vērtību pēc id - veikt aizpildīšanu uz leju id | ttime | val ---|-------|----- 1 | 07:30 | NULL 1 | 09:21 | 10 1 | 13:53 | NULL 1 | 16:12 | NULL 2 | 09:42 | 133 2 | 15:20 | NULL 2 | 21:33 | NULL 3 | 08:01 | NULL 3 | 11:41 | 8 3 | 14:23 | NULL 3 | 16:17 | NULL 3 | 19:54 | 2 4 | 13:10 | 312 4 | 14:42 | NULL 4 | 16:31 | 7 4 | 17:44 | NULL id | ttime | val ---|-------|----- 1 | 07:30 | NULL 1 | 09:21 | 10 1 | 13:53 | 10 1 | 16:12 | 10 2 | 09:42 | 133 2 | 15:20 | 133 2 | 21:33 | 133 3 | 08:01 | NULL 3 | 11:41 | 8 3 | 14:23 | 8 3 | 16:17 | 8 3 | 19:54 | 2 4 | 13:10 | 312 4 | 14:42 | 312 4 | 16:31 | 7 4 | 17:44 | 7 -- SQL užklausa norimai lentelei gauti SELECT id, ttime, COALESCE(val, LAST_VALUE(val) OVER(PARTITION BY id ORDER BY ttime)) as val FROM stretch

Junior
Яндекс
52

Pastāsti par Airflow izmantošanu: kādus nestandarta elementus tu izmantoji

Junior
МодульБанк
51

Kura no zemāk minētajiem apgalvojumiem atspoguļo šādu darbību sekas no paplašinātā Git Flow un izmaiņu vēstures pārvaldības skatpunkta?

Junior
01.tech
51

Izveido dārgu rezervējumu sarakstu Jautājums Kā jūs varat izveidot [telefona] dienas rezervējumu sarakstu, kas izmaksās dalībniekam (vai viesim) vairāk nekā 30 $? Atcerieties, ka viesiem ir dažādas izmaksas nekā dalībniekiem (uzskaitītās izmaksas ir par pusstundas 'slot'), un viesu lietotājs vienmēr ir ID 0. Iekļaujiet savā izvadē ēkas nosaukumu, dalībnieka vārdu kā vienu kolonnu un izmaksas. Kārtot pēc dilstošas izmaksas un neizmantojiet apakšvaicājumus.

Middle
FOM GROUP
51

Pastāstiet man par savu darba pieredzi

Middle
КИПР NDA(IGaming)
50

Kuras inkrementālās ielādes stratēģijas jūs izmantojāt dbt?

Middle
КИПР NDA(IGaming)
50

Uzrakstiet vienkāršu DAG Apache Airflow

Middle
ING BANK (EURASIA) JSC
50

Kādus JOIN veidus pazīsti? Izskaidro 2-3 galvenos.

Middle
газпромнефть снабжение
49

Vai 4 cilvēku komandā bija kāds līderis vai kāds cits vadīja to?

Middle
МВидеоМВидео
49

Mikroservisu arhitektūras projektēšanas uzdevums: kā nodrošināt datus pasūtījumu tabulai (preces, cenas, pasūtījumi), ja ir trīs atsevišķi mikroservisi?

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

Kas ir dinamiskā tipizācija?

Middle
Леман про
49

Kādus JOIN tipus zināt? (loģiski)

Middle
СБЕРСБЕР
49

Kādus fiziskos JOIN-us pazīstat?

Middle
СБЕРСБЕР
49
/32