Dwóch więźniów w różnych celach rzuca monetą i, widząc tylko wynik swojej monety, muszą odgadnąć wynik monety sąsiada. Jeśli przynajmniej jeden odgadnie, oboje zostaną zwolnieni; jeśli oboje się pomylą, zostaną zabici. Jaką strategię odpowiedzi powinni wybrać, aby przeżyć z 100% prawdopodobieństwem?
Data Analyst
Zaproponuj algorytm, który na podstawie danych o ruchu połączeń i geolokalizacji abonentów co 15 minut określi, czy dwóch abonentów mieszka razem.
Jaki symbol należy wskazać po SELECT, aby wybrać wszystkie kolumny?
Czy znasz statystykę matematyczną i czy stosowałeś testy A/B w praktyce? Jakie rodzaje średnich znasz?
Jak odmierzyć dokładnie 4 litry, mając do dyspozycji naczynia 3 i 5-litrowe oraz nieogranione źródło wody?
Jak pozostawić tylko kategorie, których łączna sprzedaż przekracza 100 rubli?
Czy pracowałeś kiedyś z Git?
Czy wyniki zwracane przez następujące zapytania będą się różnić? 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'
Zaproponuj algorytm ustalania dnia urodzin abonenta, mając tylko dziennik połączeń i SMS-ów: numery przychodzące i wychodzące, data i czas, długość i typ zdarzenia.
Przedstawione są tabele product (informacje o tym, do jakiej kategorii należy produkt w określonym zakresie dat) oraz sale (dane o sprzedaży produktu z datą sprzedaży, ceną za jednostkę i ilością zakupionych jednostek): select * from product |prod_nm |prod_cat |eff_dt |exp_dt | |--------|---------|-----------|-----------| |Produkt 1|Kategoria 1|[phone]|[phone]| |Produkt 1|Kategoria 2|[phone]|[phone]| |Produkt 2|Kategoria 3|[phone]|[phone]| select * from sale |sale_dt |prod_nm |price|cnt| |----------|---------|-----|---| |[phone]|Produkt 1|10 |5 | |[phone]|Produkt 1|15 |2 | |[phone]|Produkt 4|15 |2 | |[phone]|Produkt 3|15 |2 | |[phone]|Produkt 2|10.9 |300| |[phone]|Produkt 1|12.7 |7 | Należy napisać zapytanie zwracające łączny przychód dla każdej kategorii: |prod_cat |total_amt| |----------|---------| |Kategoria 1|80 | |Kategoria 2|84 | |Kategoria 3|270 |
Jak zaklasyfikować sprzedaż produktów, które nie pasują do żadnej kategorii, do kategorii „Inne”?
Należy napisać zapytanie, które zwróci łączne przychody dla każdej kategorii: |prod_cat |total_amt | |Kategoria 1|80 | |Kategoria 2|84 | |Kategoria 3|270 | Istnieje tabela abonentów z zapisami, które pojawiły się w różnych momentach. Data załadowania wpisu jest określona w polu 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]| Należy napisać zapytanie, które zwróci przedostatni załadowany wpis według klucza 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]| Istnieje tabela abonentów z historią zmian. Każdy wpis jest ważny w okresie od valid_from_dt do valid_to_dt. Jeśli wpis jest zamknięty, następny zaczyna się tego samego dnia. Dla każdego abonenta powinna istnieć tylko jedna aktywna pozycja w zakresie [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 | Należy napisać zapytanie, które zwróci rekordy z nieprawidłową datą zamknięcia: |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 | z 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
W pokoju są trzy żarówki, na zewnątrz trzy włączniki. Wszystkie są wyłączone, a do pokoju można wejść tylko raz. Jak ustalić, który włącznik steruje którą żarówką?
Wymagane jest napisanie zapytania, które zwróci przedostatni załadowany rekord według klucza id: |id |msisdn |tarif_plan_id|account_id|raw_dt | |------------|-----------|-------------|----------|-----------| |[phone]|5842 |4979 |[phone]| |[phone]|4563 |0832 |[phone]| |[phone]|4563 |0832 |[phone]| Istnieje tabela abonentów z historią zmian. Każdy rekord dla abonenta jest ważny w okresie od valid_from_dt do valid_to_dt. Jeśli rekord jest zamknięty, następny zaczyna się tego samego dnia. Dla każdego abonenta powinna istnieć tylko jedna aktywna pozycja w zakresie [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 | Należy napisać zapytanie, które zwróci rekordy z nieprawidłową datą zamknięcia. |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 |