Sobes.tech

Data Analyst

Двама затворници в различни килии хвърлят по монета и, виждайки само резултата от своята монета, трябва да кажат резултата от монетата на съседа. Ако поне един от тях познае, двамата са освободени; ако и двамата грешат, ги убиват. Каква стратегия за отговори трябва да изберат, за да оцелеят с 100% вероятност?

Middle
173

Как точно да измерите 4 литра, използвайки съдове от 3 и 5 литра и неограничен източник на вода?

Middle
134

Предложете алгоритъм, който въз основа на данни за телефонен трафик и геолокация на абонатите на всеки 15 минути, ще определи дали двама абонати живеят заедно.

Middle
133

Кой символ трябва да се посочи след SELECT, за да се изберат всички колони?

Middle
131

Знаете ли математическа статистика и сте прилагали A/B тестове на практика? Какви видове средни знаете?

Middle
128

Как да оставите само категориите, чиито общ приход е повече от 100 рубли?

Middle
128

Работили ли сте някога с Git?

Middle
126

Ще се различават ли резултатите, върнати от следните заявки? 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
114

Предложете алгоритъм за определяне на деня на раждане на абонента, като имате само дневник на обажданията и SMS: входящи и изходящи номера, дата-час, продължителност и тип на събитието.

Middle
108

Представени са таблиците 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
108

Как да класифицираме продажбите на продукти, които не попадат в нито една категория, към категорията „Други“?

Middle
106

Необходимо е да напишете заявка, която да върне общия приход за всяка категория: |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]| |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 | с 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
103

В стаята има три крушки и три ключа отвън. Всички са изключени, и може да се влезе в стаята само веднъж. Как да определите кой ключ управлява всяка крушка?

Middle
102

Необходимо е да напишете заявка, която ще върне предпоследния зареден запис по ключ 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
83