Sobes.tech

Data Analyst

Deux prisonniers dans des cellules différentes lancent chacun une pièce et, ne voyant que le résultat de leur propre pièce, doivent deviner le résultat de la pièce de leur voisin. Si au moins l'un d'eux devine correctement, ils sont tous deux libérés; s'ils se trompent tous les deux, ils sont tués. Quelle stratégie de réponse doivent-ils adopter pour survivre avec une probabilité de 100%?

Middle
170

Proposez un algorithme qui, à partir des données de trafic d'appels et de géolocalisation des abonnés toutes les 15 minutes, détermine si deux abonnés vivent ensemble.

Middle
131

Comment mesurer exactement 4 litres en utilisant des récipients de 3 et 5 litres et une source d'eau illimitée?

Middle
131

Quel symbole doit être indiqué après SELECT pour sélectionner toutes les colonnes?

Middle
129

Connaissez-vous la statistique mathématique et avez-vous appliqué des tests A/B en pratique ? Quels types de moyennes connaissez-vous ?

Middle
127

Comment ne laisser que les catégories dont le chiffre d'affaires total est supérieur à 100 roubles?

Middle
126

Avez-vous déjà travaillé avec Git?

Middle
116

Les résultats renvoyés par les requêtes suivantes seront-ils différents? 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

Proposez un algorithme pour déterminer le jour de naissance de l'abonné, en se basant uniquement sur le journal des appels et SMS : numéros entrants et sortants, date et heure, durée et type d'événement.

Middle
106

Comment classer les ventes de produits qui ne rentrent dans aucune catégorie, dans la catégorie « Autres »?

Middle
105

Les tableaux product (informations sur la catégorie à laquelle appartient le produit dans un intervalle de dates spécifié) et sale (faits de vente du produit avec la date de vente, le prix unitaire et la quantité achetée) sont présentés : select * from product |prod_nm |prod_cat |eff_dt |exp_dt | |--------|---------|-----------|-----------| |Produit 1|Catégorie 1|[phone]|[phone]| |Produit 1|Catégorie 2|[phone]|[phone]| |Produit 2|Catégorie 3|[phone]|[phone]| select * from sale |sale_dt |prod_nm |price|cnt| |----------|---------|-----|---| |[phone]|Produit 1|10 |5 | |[phone]|Produit 1|15 |2 | |[phone]|Produit 4|15 |2 | |[phone]|Produit 3|15 |2 | |[phone]|Produit 2|10.9 |300| |[phone]|Produit 1|12.7 |7 | Il faut écrire une requête qui retourne le chiffre d'affaires total par catégorie : |prod_cat |total_amt| |----------|---------| |Catégorie 1|80 | |Catégorie 2|84 | |Catégorie 3|270 |

Middle
105

Il est nécessaire d’écrire une requête qui retourne le revenu total par catégorie : |prod_cat |total_amt | |Catégorie 1|80 | |Catégorie 2|84 | |Catégorie 3|270 | Il existe une table d’abonnés avec des enregistrements arrivés à différents moments. La date de chargement de l’enregistrement est définie dans le champ 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]| Il faut écrire une requête qui retourne l’avant-dernière entrée chargée par clé 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]| Il existe une table d’abonnés avec un historique de modifications. Chaque enregistrement pour un abonné est valable dans la période de valid_from_dt à valid_to_dt. Si un enregistrement est clôturé, le suivant commence à la même date. Il doit y avoir un seul enregistrement actif par abonné dans l’intervalle [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 | Il faut écrire une requête qui retourne les enregistrements avec une date de clôture incorrecte. |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 | with 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

Il y a trois ampoules dans la pièce et trois interrupteurs à l'extérieur. Tous sont éteints, et on ne peut entrer dans la pièce qu'une seule fois. Comment déterminer quel interrupteur contrôle chaque ampoule?

Middle
95

Il est nécessaire d’écrire une requête qui renvoie l’avant-dernière entrée chargée par la clé id : |id |msisdn |tarif_plan_id|account_id|raw_dt | |------------|-----------|-------------|----------|-----------| |[phone]|5842 |4979 |[phone]| |[phone]|4563 |0832 |[phone]| |[phone]|4563 |0832 |[phone]| Il existe une table d’abonnés avec un historique des modifications. Chaque enregistrement par abonné est valable dans la période de valid_from_dt à valid_to_dt. Si un enregistrement est clôturé, le suivant commence à la même date. Il doit y avoir un seul enregistrement actif pour chaque abonné dans l’intervalle [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 | Il faut écrire une requête qui renvoie les enregistrements avec des dates de clôture incorrectes. |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