Эки түрмөдө жаткан эки адам өздөрүнүн акчаларын ыргытып, гана өз акчаларынын жыйынтыгын көрүп, көршүнүн акчасынын жыйынтыгын айтууга тийиш. Эгер кеминде бирөө туура айтса, экөө тең бошотулат; эгер экөө тең ката кетирсе, өлтүрүлөт. Алар 100% мүмкүнчүлүк менен тирүү калуу үчүн кайсы жооп стратегиясын тандашы керек?
Data Analyst
Ар бир 15 мүнөттүк телефондук трафик жана абоненттердин геолокациясы боюнча маалыматтарга негизделип, эки абонент бирге жашайбы-жокпу экенин аныктоочу алгоритм сунуштаңыз.
Бардык багыттарды тандоо үчүн SELECTтен кийин кайсы белгини көрсөтүү керек?
Сен математикалык статистика менен таанышсыңбы жана практикалыкта A/B тесттерин колдонуп көрдүңбү? Ортачалардын кайсы түрлөрүн билесиң?
3 жана 5 литрлик идиштер жана чексиз суу булагы менен так 4 литр өлчөө кандай?
Кантип 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 |
Категориялар боюнча жалпы кирешени кайтарган суроо жазуу керек: |prod_cat |total_amt | |Категория 1|80 | |Категория 2|84 | |Категория 3|270 | Түзмөктөрдүн жазуулары ар башка убакта келген абоненттер таблицасы бар. Жазуунун жүктөлгөн датасы 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]| Ключу 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]| Абоненттин өзгөрүүлөрүнүн тарыхы бар таблица бар. Ар бир жазуу 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 | |2 |[phone] |[phone] |[phone]|5842 |589783| |2 |[phone] |[phone] |[phone]|4563 |5326 | |3 |[phone] |[phone] |[phone]|4563 |0832 | Ишке ашу керек суроо, алда көрсөтүлгөн датасы туура эмес болгон жазууларды кайтарат. |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 | with 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 |