Sobes.tech

Data Analyst

Doi prizonieri în celule diferite aruncă o monedă și, văzând doar rezultatul monedei lor, trebuie să prezică rezultatul monedei vecinului. Dacă cel puțin unul ghicește, amândoi sunt eliberați; dacă amândoi greșesc, sunt uciși. Ce strategie de răspuns trebuie să aleagă pentru a supraviețui cu 100% șanse?

Middle
164

Propuneți un algoritm care, pe baza datelor de trafic de apeluri și a geolocației abonaților la fiecare 15 minute, să determine dacă doi abonați locuiesc împreună.

Middle
128

Cum măsori exact 4 litri folosind vase de 3 și 5 litri și o sursă nelimitată de apă?

Middle
126

Cunoașteți statistica matematică și ați aplicat testarea A/B în practică? Ce tipuri de medii cunoașteți?

Middle
126

Ce simbol trebuie indicat după SELECT pentru a selecta toate coloanele?

Middle
125

Cum să păstrezi doar categoriile a căror cifră de afaceri totală depășește 100 de ruble?

Middle
122

Ați lucrat vreodată cu Git?

Middle
114

Vor fi diferite rezultatele returnate de următoarele interogări? 1 select * from A left join B on A.id = B.id and B.val = 'A' 2 select * from A left join B on A.id = B.id where B.val = 'A'

Middle
113

Propuneți un algoritm pentru determinarea zilei de naștere a abonatului, având doar jurnalul de apeluri și SMS: numerele de intrare și ieșire, data-ora, durata și tipul evenimentului.

Middle
103

Sunt prezentate tabelele product (informații despre categoria la care aparține produsul într-un interval de date specificat) și sale (fapte despre vânzări ale produsului cu data vânzării, prețul pe unitate și cantitatea cumpărată): select * from product |prod_nm |prod_cat |eff_dt |exp_dt | |--------|---------|-----------|-----------| |Produs 1|Categoria 1|[phone]|[phone]| |Produs 1|Categoria 2|[phone]|[phone]| |Produs 2|Categoria 3|[phone]|[phone]| select * from sale |sale_dt |prod_nm |price|cnt| |----------|---------|-----|---| |[phone]|Produs 1|10 |5 | |[phone]|Produs 1|15 |2 | |[phone]|Produs 4|15 |2 | |[phone]|Produs 3|15 |2 | |[phone]|Produs 2|10.9 |300| |[phone]|Produs 1|12.7 |7 | Este necesar să scrieți o interogare care să returneze venitul total pentru fiecare categorie: |prod_cat |total_amt| |----------|---------| |Categoria 1|80 | |Categoria 2|84 | |Categoria 3|270 |

Middle
102

Este este necesar să scrieți o interogare care să returneze venitul total pentru fiecare categorie: |prod_cat |total_amt | |Categoria 1|80 | |Categoria 2|84 | |Categoria 3|270 | Există un tabel cu abonați cu înregistrări sosite în momente diferite. Data încărcării înregistrării este definită în câmpul raw_dt: select * from abnt |id |msisdn |tarif_plan_id|account_id|raw_dt | |1 |[phone]|4375 |4979 |[phone]| |1 |[phone]|5842 |4979 |[phone]| |2 |[phone]|5842 |589783|[phone]| |2 |[phone]|4563 |5326 |[phone]| |2 |[phone]|4563 |0832 |[phone]| |3 |[phone]|4563 |0832 |[phone]| |3 |[phone]|5495 |7485 |[phone]| |3 |[phone]|4563 |0832 |[phone]| |3 |[phone]|4563 |0832 |[phone]| Este este necesar să scrieți o interogare care să returneze penultima înregistrare încărcată după cheia id: |id |msisdn |tarif_plan_id|account_id|raw_dt | |1 |[phone]|5842 |4979 |[phone]| |2 |[phone]|4563 |0832 |[phone]| |3 |[phone]|4563 |0832 |[phone]| Există un tabel cu abonați cu istoric de modificări. Fiecare înregistrare este valabilă în perioada de la valid_from_dt până la valid_to_dt. Dacă o înregistrare este închisă, următoarea începe în aceeași zi. Pentru fiecare abonat, trebuie să existe o singură înregistrare activă în intervalul [valid_from_dt, valid_to_dt]. select * from abnt |id |valid_from_dt|valid_to_dt|msisdn |tarif_plan_id|account_id| |1 |[phone] |[phone] |[phone]|4375 |4979 | |2 |[phone] |[phone] |[phone]|5842 |589783| |2 |[phone] |[phone] |[phone]|4563 |5326 | |3 |[phone] |[phone] |[phone]|4563 |0832 | Este este necesar să scrieți o interogare care să returneze înregistrările cu o dată de închidere incorectă: |id |valid_from_dt|valid_to_dt|msisdn |tarif_plan_id|account_id| |2 |[phone] |[phone] |[phone]|5842 |4979 | |2 |[phone] |[phone] |[phone]|4563 |5326 | cu ranked as ( select msisdn, tarif_plan_id, account_id, raw_dt, row_number() over (partition by id order by raw_dt desc) as rn ) select id, msisdn, tarif_plan_id, account_id, raw_dt from ranked where rn = 2 order by id

Middle
101

Cum se clasifică vânzările de produse care nu se încadrează în nicio categorie, în categoria „Altele”?

Middle
100

În cameră sunt trei becuri și trei întrerupătoare în afară. Toate sunt oprite, iar în cameră se poate intra doar o singură dată. Cum poți determina care întrerupător controlează fiecare bec?

Middle
92

Este necesar să scrieți o interogare care să returneze penultima înregistrare încărcată după cheia id: |id |msisdn |tarif_plan_id|account_id|raw_dt | |------------|-----------|-------------|----------|-----------| |[phone]|5842 |4979 |[phone]| |[phone]|4563 |0832 |[phone]| |[phone]|4563 |0832 |[phone]| Există un tabel cu abonați și istoric de modificări. Fiecare înregistrare pentru abonat este valabilă în perioada de la valid_from_dt până la valid_to_dt. Dacă o înregistrare se închide, următoarea începe în aceeași dată. Pentru fiecare abonat, trebuie să existe o singură înregistrare activă în intervalul [valid_from_dt, valid_to_dt]. select * from abnt |id|valid_from_dt|valid_to_dt|msisdn |tarif_plan_id|account_id| |--|-------------|-----------|-------------|-------------|----------| |1 |[phone] |[phone] |[phone] |4375 |4979 | |1 |[phone] |[phone] |[phone] |5842 |4979 | |2 |[phone] |[phone] |[phone] |4563 |5326 | |2 |[phone] |[phone] |[phone] |4563 |0832 | Este necesar să scrieți o interogare care să returneze înregistrările cu date de închidere incorecte. |id|valid_from_dt|valid_to_dt|msisdn |tarif_plan_id|account_id| |--|-------------|-----------|-------------|-------------|----------| |1 |[phone] |[phone] |[phone] |5842 |4979 | |2 |[phone] |[phone] |[phone] |4563 |5326 |

Middle
79