Երկու բանտարկյալներ տարբեր սենյակներում նետում են մետաղադրամ և միայն իրենց մետաղադրամի արդյունքը տեսնելով, պետք է ասեն իրենց հարևանի մետաղադրամի արդյունքը։ Եթե առնվազն մեկը ճիշտ է կանխատեսում, երկուսին էլ ազատում են; եթե երկուսը սխալ են, սպանվում են։ Ինչ ռազմավարություն պետք է ընտրեն, որպեսզի 100% հավանականությամբ ողջ մնան։
Data Analyst
Ներկայացրեք ալգորիթմ, որը 15 րոպե마다 զանգերի տրաֆիկի և բաժանորդների տեղագրության տվյալների հիման վրա որոշում կկայացնի, արդյոք երկու բաժանորդ միասին են ապրում։
Ի՞նչ նշան պետք է նշվի SELECT-ից հետո բոլոր սյունակները ընտրելու համար։
Դու գիտե՞ս մաթեմատիկական վիճակագրություն և արդյոք կիրառե՞լ ես A/B թեստավորումը պրակտիկայում: Որ տեսակի միջինները գիտե՞ս։
Ինչպե՞ս ճշգրիտ չափել 4 լիտր՝ օգտագործելով 3 և 5 լիտր տարաներ և անսահմանափակ ջրի աղբյուր։
Ինչպե՞ս թողնել միայն այն կատեգորիաները, որոնց ընդհանուր եկամուտը գերազանցում է 100 ռուբլի:
Դու աշխատե՞լ եք երբևէ Git-ով։
Դեռե՞ք տարբեր կլինեն հետևյալ հարցումների վերադարձած արդյունքները: 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'
Ներկայացրեք ալգորիթմ՝ բաժանորդի ծննդյան օրվա որոշման համար, միայն զանգերի և SMS-ների օրագրի հիման վրա՝ մուտքային և ելքային համարներ, ամսաթիվ և ժամանակ, տևողություն և իրադարձության տեսակ։
Ներկայացված են product աղյուսակները (տեղեկություններ այն մասին, թե որ կատեգորիայի մեջ է արտադրանքը նշված ժամանակահատվածում) և sale (արտադրանքի վաճառքի փաստերը՝ վաճառքի ամսաթիվը, միավորի գինը և գնելը կատարված միավորների քանակը).: select * from product |prod_nm |prod_cat |eff_dt |exp_dt | |--------|---------|-----------|-----------| |Ապրանք 1|Կատեգորիա 1|[phone]|[phone]| |Ապրանք 1|Կատեգորիա 2|[phone]|[phone]| |Ապրանք 2|Կատեգորիա 3|[phone]|[phone]| select * from sale |sale_dt |prod_nm |price|cnt| |----------|---------|-----|---| |[phone]|Ապրանք 1|10 |5 | |[phone]|Ապրանք 1|15 |2 | |[phone]|Ապրանք 4|15 |2 | |[phone]|Ապրանք 3|15 |2 | |[phone]|Ապրանք 2|10.9 |300| |[phone]|Ապրանք 1|12.7 |7 | Դուք պետք է գրեք հարցում, որը վերադարձնում է յուրաքանչյուր կատեգորիայի ընդհանուր եկամտը: |prod_cat |total_amt| |----------|---------| |Կատեգորիա 1|80 | |Կատեգորիա 2|84 | |Կատեգորիա 3|270 |
Ինչպե՞ս դասակարգել այն վաճառքները, որոնք չեն մտնում որևէ կատեգորիա, «Այլ» կատեգորիայի մեջ։
A szükséges egy lekérdezést írni, amely visszaadja az egyes kategóriák összbevételét: |prod_cat |total_amt | |Kategória 1|80 | |Kategória 2|84 | |Kategória 3|270 | Előfizetők táblája létezik, amelybe különböző időpontokban érkező rekordok kerültek. A rekord feltöltési dátuma a raw_dt mezőben van meghatározva: 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]| A szükséges egy lekérdezést írni, amely visszaadja a második legutolsó feltöltött rekordot az id kulcs szerint: |id |msisdn |tarif_plan_id|account_id|raw_dt | |1 |[phone]|5842 |4979 |[phone]| |2 |[phone]|4563 |0832 |[phone]| |3 |[phone]|4563 |0832 |[phone]| Vannak egy felhasználó változásainak történetét tartalmazó táblák. Minden rekord az valid_from_dt-től valid_to_dt-ig érvényes. Ha egy rekordot lezárnak, a következő ugyanazon a napon kezdődik. Minden felhasználónál csak egy aktív rekord lehet [valid_from_dt, valid_to_dt] intervallumban. 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 | A szükséges egy lekérdezést írni, amely visszaadja a hibás záró dátummal rendelkező rekordokat: |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 | s 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
Սենյակում երեք լամպ կա և դուրս՝ երեք անջատիչ: Բոլորը անջատված են, և սենյակում միայն մեկ անգամ կարելի է մտնել: Ինչպե՞ս որոշել, թե որ անջատիչը կառավարում է յուրաքանչյուր լամպը։
Անհրաժեշտ է գրել հարցում, որը կվերադարձնի id բանալիով բեռնված երկրորդ վերջին գրառումը: |id |msisdn |tarif_plan_id|account_id|raw_dt | |------------|-----------|-------------|----------|-----------| |[phone]|5842 |4979 |[phone]| |[phone]|4563 |0832 |[phone]| |[phone]|4563 |0832 |[phone]| Գրանցումների պատմություն ունեցող բաժանորդների աղյուսակ կա: Յուրաքանչյուր գրառում բաժանորդի համար գործում է valid_from_dt-ից մինչև valid_to_dt: Եթե գրառումը փակվում է, հաջորդը սկսվում է նույն օրը: Յուրաքանչյուր բաժանորդի համար պետք է լինի միայն մեկ ակտիվ գրառում [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 | Պետք է գրել հարցում, որը կվերադարձնի սխալ փակման ամսաթվով գրառումները: |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 |