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?
Data Analyst
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ā.
Kā precīzi izmērīt 4 litrus, izmantojot 3 un 5 litru traukus un bezgalīgu ūdens avotu?
Kuru simbolu jānorāda pēc SELECT, lai izvēlētos visas kolonnas?
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?
Kā atstāt tikai tās kategorijas, kuru kopējie ieņēmumi ir lielāki par 100 rubļiem?
Vai kādreiz esat strādājis ar Git?
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'
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.
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 |
Kā klasificēt produktu pārdošanu, kas neiekļaujas nevienā kategorijā, kategorijā "Cita"?
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?
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
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 |