Sobes.tech

Data Analyst

Turli xonimlar turli kamerada tanga tanga valyuta tashlaydi va, faqat o'z valyutasining natijasini ko'rib, qo'shnisining natijasini aytishi kerak. Agar kamida biri to'g'ri aytsa, ikkalasi ham ozod qilinadi; agar ikkalasi ham xato qilsa, o'ldiriladi. Ular 100% ehtimollik bilan omon qolish uchun qanday javob strategiyasini tanlashlari kerak?

Middle
164

Har bir 15 daqiqada qo'ng'iroq trafiklari va abonentlarning geolokatsiyasi ma'lumotlariga asoslanib, ikki abonent birga yashayotganligini aniqlaydigan algoritm taklif qiling.

Middle
129

Che qanday qilib cheklovsiz suv manbai va 3 va 5 litrli idishlar bilan aniq 4 litr o'lchash mumkin?

Middle
127

Siz matematik statistikasi bilan tanishmisiz va amaliyotda A/B sinovlarini qoʻllaganmisiz? Qaysi turdagi oʻrtacha qiymatlarni bilasiz?

Middle
126

Barcha ustunlarni tanlash uchun SELECT'dan keyin qanday belgi ko'rsatilishi kerak?

Middle
125

Qanday qilib umumiy daromati 100 rubldan ortiq bo'lgan kategoriyalarni qoldirish mumkin?

Middle
122

Git bilan ishladizmi?

Middle
114

Quyidagi so'rovlar tomonidan qaytariladigan natijalar farq qiladimi? 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

Foydalanuvchining tug'ilgan kunini aniqlash uchun algoritm taklif qiling, faqat qo'ng'iroqlar va SMSlar jurnalini asosida: kiruvchi va chiquvchi raqamlar, sana-vaqt, davomiylik va voqea turi.

Middle
104

Taqdim etilgan jadval product (belgilangan sanalar oralig'ida mahsulot qaysi toifaga tegishli ekanligi haqida ma'lumot) va sale (mahsulot savdosi haqidagi faktlar, savdo sanasi, birlik narxi va sotib olingan birliklar soni): select * from product |prod_nm |prod_cat |eff_dt |exp_dt | |--------|---------|-----------|-----------| |Mahsulot 1|Toifa 1|[phone]|[phone]| |Mahsulot 1|Toifa 2|[phone]|[phone]| |Mahsulot 2|Toifa 3|[phone]|[phone]| select * from sale |sale_dt |prod_nm |price|cnt| |----------|---------|-----|---| |[phone]|Mahsulot 1|10 |5 | |[phone]|Mahsulot 1|15 |2 | |[phone]|Mahsulot 4|15 |2 | |[phone]|Mahsulot 3|15 |2 | |[phone]|Mahsulot 2|10.9 |300| |[phone]|Mahsulot 1|12.7 |7 | Har bir toifa uchun umumiy daromadni qaytaradigan so'rov yozishingiz kerak: |prod_cat |total_amt| |----------|---------| |Toifa 1|80 | |Toifa 2|84 | |Toifa 3|270 |

Middle
103

Mahsulotlar bo'limiga kiradigan bo'lmagan mahsulotlarni "Boshqa" bo'limiga qanday ajratish mumkin?

Middle
101

Har bir toifaga umumiy daromadni qaytaradigan so'rov yozish kerak: |prod_cat |total_amt | |Kategoriya 1|80 | |Kategoriya 2|84 | |Kategoriya 3|270 | Obunachilar uchun turli vaqtlarda kelgan yozuvlar bo'lgan jadval mavjud. Yozuvni yuklash sanasi raw_dt maydonida belgilangan: 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]| Yuklangan yozuvni ikkinchi marta qaytaradigan so'rov yozish kerak: |id |msisdn |tarif_plan_id|account_id|raw_dt | |1 |[phone]|5842 |4979 |[phone]| |2 |[phone]|4563 |0832 |[phone]| |3 |[phone]|4563 |0832 |[phone]| Obunachilar uchun o'zgarishlar tarixiga ega jadval mavjud. Har bir yozuv obunachining valid_from_dt dan valid_to_dt gacha amal qiladi. Agar yozuv yopilsa, keyingi yozuv shu sanadan boshlanadi. Har bir obunachi uchun faqat bitta faol yozuv bo'lishi kerak [valid_from_dt, valid_to_dt] oralig'ida. 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 | Ushbu so'rov noto'g'ri yopilish sanasi bo'lgan yozuvlarni qaytarishi kerak: |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 | 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
101

Xonada uchta chiroq bor va tashqarida uchta kalit. Barchasi o'chirilgan, va xona ichkariga faqat bir marta kirish mumkin. Har bir chiroqni qaysi kalit boshqarayotganini qanday aniqlash mumkin?

Middle
92

ID kalitiga asoslangan yuklangan ikkinchi oldingi yozuvni yozishingiz kerak: |id |msisdn |tarif_plan_id|account_id|raw_dt | |------------|-----------|-------------|----------|-----------| |[phone]|5842 |4979 |[phone]| |[phone]|4563 |0832 |[phone]| |[phone]|4563 |0832 |[phone]| Abonentlar uchun o'zgarishlar tarixiga ega jadval mavjud. Har bir yozuv abonent uchun valid_from_dt dan valid_to_dt gacha amal qiladi. Agar yozuv yopilsa, keyingi yozuv ayni sanada boshlanadi. Har bir abonent uchun faqat bitta faol yozuv bo'lishi kerak [valid_from_dt, valid_to_dt] oralig'ida. 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 | Haqiqatan ham noto'g'ri yopilish sanasi bo'lgan yozuvlarni qaytaradigan so'rov yozishingiz kerak. |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
79