Sobes.tech

Data Analyst

Zwei Gefangene in verschiedenen Zellen werfen jeweils eine Münze und, nur den Ausgang ihrer eigenen Münze sehend, müssen das Ergebnis der Münze ihres Nachbarn vorhersagen. Wenn mindestens einer richtig liegt, werden beide freigelassen; wenn beide falsch liegen, werden sie getötet. Welche Antwortstrategie sollten sie wählen, um mit 100%iger Wahrscheinlichkeit zu überleben?

Middle
165

Schlagen Sie einen Algorithmus vor, der anhand von Anrufverkehrsdaten und Geolokalisierung der Teilnehmer alle 15 Minuten bestimmt, ob zwei Teilnehmer zusammenleben.

Middle
130

Wie misst man genau 4 Liter mit 3- und 5-Liter-Behältern und einer unbegrenzten Wasserquelle?

Middle
127

Kennen Sie mathematische Statistik und haben Sie A/B-Tests in der Praxis angewendet? Welche Arten von Mittelwerten kennen Sie?

Middle
126

Welches Symbol muss nach SELECT angegeben werden, um alle Spalten auszuwählen?

Middle
125

Wie lässt man nur Kategorien übrig, deren Gesamtumsatz mehr als 100 Rubel beträgt?

Middle
122

Haben Sie schon einmal mit Git gearbeitet?

Middle
114

Werden die Ergebnisse, die von den folgenden Abfragen zurückgegeben werden, unterschiedlich sein? 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

Schlagen Sie einen Algorithmus vor, um den Geburtstag des Teilnehmers zu bestimmen, basierend nur auf dem Anruf- und SMS-Protokoll: eingehende und ausgehende Nummern, Datum-Uhrzeit, Dauer und Ereignistyp.

Middle
104

Es werden die Tabellen product (Informationen darüber, zu welcher Kategorie das Produkt in einem angegebenen Datumsintervall gehört) und sale (Verkaufsdaten des Produkts mit Verkaufsdatum, Preis pro Einheit und gekaufter Menge) vorgestellt: select * from product |prod_nm |prod_cat |eff_dt |exp_dt | |--------|---------|-----------|-----------| |Produkt 1|Kategorie 1|[phone]|[phone]| |Produkt 1|Kategorie 2|[phone]|[phone]| |Produkt 2|Kategorie 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 | Es ist notwendig, eine Abfrage zu schreiben, die den Gesamtumsatz pro Kategorie zurückgibt: |prod_cat |total_amt| |----------|---------| |Kategorie 1|80 | |Kategorie 2|84 | |Kategorie 3|270 |

Middle
103

Wie ordnet man den Verkauf von Produkten, die keiner Kategorie zugeordnet werden können, der Kategorie "Sonstiges" zu?

Middle
101

Es ist notwendig, eine Abfrage zu schreiben, die den Gesamtumsatz pro Kategorie zurückgibt: |prod_cat |total_amt | |Kategorie 1|80 | |Kategorie 2|84 | |Kategorie 3|270 | Es gibt eine Tabelle mit Abonnenten, die Einträge zu unterschiedlichen Zeiten enthält. Das Hochladedatum des Eintrags ist im Feld raw_dt definiert: 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]| Es ist notwendig, eine Abfrage zu schreiben, die die vorletzte hochgeladene Eintragung nach Schlüssel id zurückgibt: |id |msisdn |tarif_plan_id|account_id|raw_dt | |1 |[phone]|5842 |4979 |[phone]| |2 |[phone]|4563 |0832 |[phone]| |3 |[phone]|4563 |0832 |[phone]| Es gibt eine Tabelle mit Abonnenten mit Änderungsverlauf. Jeder Eintrag für einen Abonnenten ist im Zeitraum von valid_from_dt bis valid_to_dt gültig. Wenn ein Eintrag geschlossen wird, beginnt der nächste am selben Datum. Es darf nur einen aktiven Eintrag pro Abonnent im Intervall [valid_from_dt, valid_to_dt] geben. 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 | Es ist notwendig, eine Abfrage zu schreiben, die die Datensätze mit einer inkorrekten Abschlussdatum zurückgibt: |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 | mit 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

Im Raum befinden sich drei Glühbirnen und draußen drei Schalter. Alle sind ausgeschaltet, und man kann nur einmal in den Raum gehen. Wie kann man herausfinden, welcher Schalter jede Lampe steuert?

Middle
92

Es ist notwendig, eine Abfrage zu schreiben, die den vorletzten geladenen Eintrag nach dem Schlüssel id zurückgibt: |id |msisdn |tarif_plan_id|account_id|raw_dt | |------------|-----------|-------------|----------|-----------| |[phone]|5842 |4979 |[phone]| |[phone]|4563 |0832 |[phone]| |[phone]|4563 |0832 |[phone]| Es gibt eine Tabelle mit Abonnenten und Änderungsverlauf. Jeder Eintrag pro Abonnent ist im Zeitraum von valid_from_dt bis valid_to_dt gültig. Wenn ein Eintrag geschlossen wird, beginnt der nächste am selben Datum. Für jeden Abonnenten sollte nur ein aktiver Eintrag im Intervall [valid_from_dt, valid_to_dt] vorhanden sein. 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 | Es ist notwendig, eine Abfrage zu schreiben, die die Datensätze mit inkorrektem Abschlussdatum zurückgibt. |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