Двама затворници в различни килии хвърлят по монета и, виждайки само резултата от своята монета, трябва да кажат резултата от монетата на съседа. Ако поне един от тях познае, двамата са освободени; ако и двамата грешат, ги убиват. Каква стратегия за отговори трябва да изберат, за да оцелеят с 100% вероятност?
Data Analyst
Как точно да измерите 4 литра, използвайки съдове от 3 и 5 литра и неограничен източник на вода?
Предложете алгоритъм, който въз основа на данни за телефонен трафик и геолокация на абонатите на всеки 15 минути, ще определи дали двама абонати живеят заедно.
Кой символ трябва да се посочи след SELECT, за да се изберат всички колони?
Знаете ли математическа статистика и сте прилагали A/B тестове на практика? Какви видове средни знаете?
Как да оставите само категориите, чиито общ приход е повече от 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]| |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
В стаята има три крушки и три ключа отвън. Всички са изключени, и може да се влезе в стаята само веднъж. Как да определите кой ключ управлява всяка крушка?
Необходимо е да напишете заявка, която ще върне предпоследния зареден запис по ключ 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 |