Sobes.tech

Data Analyst

Divi ieslodzītie dažādās kamerās met monētu un, redzot tikai savu monētas rezultātu, ir jāuzmin kaimiņa monētas rezultāts. Ja vismaz viens no viņiem uzmin pareizi, abi tiek atbrīvoti; ja abi kļūdās, viņus nogalina. Kādu atbildes stratēģiju viņiem jāizvēlas, lai izdzīvotu ar 100% varbūtību?

Middle
173

Ierosiniet algoritmu, kas, balstoties uz zvanu trafiku un abonentu ģeolokācijas datiem ik pēc 15 minūtēm, nosaka, vai divi abonenti dzīvo kopā.

Middle
134

Kā precīzi izmērīt 4 litrus, izmantojot 3 un 5 litru traukus un bezgalīgu ūdens avotu?

Middle
134

Kuru simbolu jānorāda pēc SELECT, lai izvēlētos visas kolonnas?

Middle
132

Vai jūs zināt matemātisko statistiku un vai esat praktizējis A/B testēšanu? Kādas vidējās vērtības jūs zināt?

Middle
128

Kā atstāt tikai tās kategorijas, kuru kopējie ieņēmumi ir lielāki par 100 rubļiem?

Middle
128

Vai kādreiz esat strādājis ar Git?

Middle
127

Vai rezultāti, ko atgriež šādas vaicājumi, atšķirsies? 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
115

Ierosiniet algoritmu abonenta dzimšanas dienas noteikšanai, balstoties tikai uz zvanu un SMS žurnālu: ienākošos un izejošos numurus, datumu un laiku, ilgumu un notikuma veidu.

Middle
109

Attēlotas ir tabulas product (informācija par to, uz kuru kategoriju pieder produkts noteiktā laika posmā) un sale (produkta pārdošanas fakti ar pārdošanas datumu, vienības cenu un iegādāto vienību skaitu): select * from product |prod_nm |prod_cat |eff_dt |exp_dt | |--------|---------|-----------|-----------| |Produkts 1|Kategorija 1|[phone]|[phone]| |Produkts 1|Kategorija 2|[phone]|[phone]| |Produkts 2|Kategorija 3|[phone]|[phone]| select * from sale |sale_dt |prod_nm |price|cnt| |----------|---------|-----|---| |[phone]|Produkts 1|10 |5 | |[phone]|Produkts 1|15 |2 | |[phone]|Produkts 4|15 |2 | |[phone]|Produkts 3|15 |2 | |[phone]|Produkts 2|10.9 |300| |[phone]|Produkts 1|12.7 |7 | Nepieciešams uzrakstīt vaicājumu, kas atgriež kopējās ieņēmumus katrai kategorijai: |prod_cat |total_amt| |----------|---------| |Kategorija 1|80 | |Kategorija 2|84 | |Kategorija 3|270 |

Middle
108

Kā klasificēt produktu pārdošanu, kas neiekļaujas nevienā kategorijā, kategorijā "Cita"?

Middle
107

Istabā ir trīs spuldzes un ārā trīs slēdži. Visi ir izslēgti, un istabā var ieiet tikai vienu reizi. Kā noteikt, kurš slēdzis kontrolē katru spuldzi?

Middle
104

Katēgoriju kopējās ieņēmumu atgriešana ir jāuzraksta: |prod_cat |total_amt | |Kategorija 1|80 | |Kategorija 2|84 | |Kategorija 3|270 | Ir tabula ar abonentiem, kuriem ir ieraksti, kas ir nākuši dažādos laikos. Ieraksta augšupielādes datums ir noteikts laukā 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]| Kāds ir jāuzraksta vaicājums, kas atgriezīs otro no beigām ielādēto ierakstu pēc id atslēgas: |id |msisdn |tarif_plan_id|account_id|raw_dt | |1 |[phone]|5842 |4979 |[phone]| |2 |[phone]|4563 |0832 |[phone]| |3 |[phone]|4563 |0832 |[phone]| Ir tabula ar abonentiem, kurā ir izmaiņu vēsture. Katrs ieraksts darbojas intervālā no valid_from_dt līdz valid_to_dt. Ja viens ieraksts tiek aizvērts, nākamais sākas ar to pašu datumu. Katram abonentam ir jābūt tikai vienam derīgam ierakstam intervālā [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 | Ir jāuzraksta vaicājums, kas atgriezīs tās ierakstus, kuriem ir nepareiza aizvēršanas datuma vērtība. |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 | ar ranked kā ( 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
103

Nepieciešams uzrakstīt vaicājumu, kas atgriezīs iepriekšējo ielādēto ierakstu pēc id atslēgas: |id |msisdn |tarif_plan_id|account_id|raw_dt | |------------|-----------|-------------|----------|-----------| |[phone]|5842 |4979 |[phone]| |[phone]|4563 |0832 |[phone]| |[phone]|4563 |0832 |[phone]| Ir abonentu tabula ar izmaiņu vēsturi. Katrs ieraksts abonentam ir derīgs no valid_from_dt līdz valid_to_dt. Ja ieraksts tiek slēgts, nākamais sākas tajā pašā datumā. Katram abonentam jābūt tikai vienam aktīvam ierakstam intervālā [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 | Reikia parašyti užklausą, kuri grąžins įrašus su neteisinga uždarymo data. |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
83