Sobes.tech

Data Analyst

Эки түрмөдө жаткан эки адам өздөрүнүн акчаларын ыргытып, гана өз акчаларынын жыйынтыгын көрүп, көршүнүн акчасынын жыйынтыгын айтууга тийиш. Эгер кеминде бирөө туура айтса, экөө тең бошотулат; эгер экөө тең ката кетирсе, өлтүрүлөт. Алар 100% мүмкүнчүлүк менен тирүү калуу үчүн кайсы жооп стратегиясын тандашы керек?

Middle
161

Ар бир 15 мүнөттүк телефондук трафик жана абоненттердин геолокациясы боюнча маалыматтарга негизделип, эки абонент бирге жашайбы-жокпу экенин аныктоочу алгоритм сунуштаңыз.

Middle
128

Бардык багыттарды тандоо үчүн SELECTтен кийин кайсы белгини көрсөтүү керек?

Middle
125

Сен математикалык статистика менен таанышсыңбы жана практикалыкта A/B тесттерин колдонуп көрдүңбү? Ортачалардын кайсы түрлөрүн билесиң?

Middle
124

3 жана 5 литрлик идиштер жана чексиз суу булагы менен так 4 литр өлчөө кандай?

Middle
122

Кантип 100 рублдан ашык жалпы киреше менен гана категорияларды калтырып коюу керек?

Middle
120

Git менен иштедиңби?

Middle
114

Төмендегі сұраулардың нәтижелері әртүрлі бола ма? 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

Абоненттин туулган күнүн аныктоо алгоритмин сунуштаңыз, тек телефон чалуу жана SMS журналына негизделген: кирүү жана чыгуу номерлери, дата-саат, узактык жана окуянын түрү.

Middle
101

Көрсөтүлгөн таблицалар 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 |

Middle
101

Категориялар боюнча жалпы кирешени кайтарган суроо жазуу керек: |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

Middle
100

Өнімдөрдүн сатылышын кандайча «Башка» категориясына киргизсе болот?

Middle
99

Бөлмөдө үч лампа жана сыртта үч ачкыч бар. Бардыгы өчүрүлгөн, жана бөлмөгө бир гана жолу кирүүгө болот. Ар бир лампаны кайсы ачкыч башкарганын кантип аныктоого болот?

Middle
92

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 |

Middle
76