Où dans la vie réelle trouve-t-on une distribution normale et où ne l'est-on pas ? Donnez des exemples concrets avec une explication de pourquoi les données sont normalement distribuées ou non.
Data Analyst
val_a, val_b = 0, 0 t = None tant que i < len(a) ou j < len(b): a_next = a[i][0] si i < len(a) sinon float('inf') b_next = b[j][0] si j < len(b) sinon float('inf') si a_next < b_next: val_a = a[i][1] t = a[i][0] i += 1 elif b_next < a_next: val_b = b[j][1] t = b[j][0] j += 1 sinon: val_a = a[i][1] val_b = b[j][1] t = a[i][0] i += 1 j += 1 result.append((t, val_a + val_b)) return result
Afanasy travaillait depuis 2 semaines à écrire un code capable de résoudre des mots croisés japonais avec support pour neuf couleurs, lorsqu’à une réunion d’équipe, un collègue lui a dit qu’il pouvait gérer la tâche plus rapidement lui-même, et qu’il n’y avait plus de sens dans le programme. Mais Afanasy, étant optimiste, a décidé de continuer à pratiquer cette tâche et de faire ce qui suit — estimer à quel point son collègue gère bien les mots croisés. Pour cette évaluation, il a choisi un analogue de la métrique IoU — le calcul sera similaire à l’Intersection Over Union classique, mais par couleurs. Cela fonctionne comme suit : chaque cellule correspondante dans l’original et la solution par couleur ajoute 1 au numérateur, et au dénominateur, 1 est ajouté pour chaque cellule dans l’original et dans la solution (pour les cellules correspondantes, seule une est ajoutée). Ensuite, une moyenne est effectuée sur le nombre de couleurs dans l’image originale, arrondie à deux décimales ; zéro n’est pas considéré comme une couleur, donc la métrique ne doit pas être calculée pour les cellules de cette couleur. L’entrée commence par une ligne contenant le nombre de lignes n et de colonnes m (dans cet ordre). Ensuite, suivent 2n lignes, contenant m nombres séparés par des espaces — les premières n lignes concernent le mot croisé soumis, et les n suivantes — l’image originale. Il est supposé que chaque ligne, à partir de la deuxième, contient exactement m nombres. En réponse, affichez un nombre arrondi à deux décimales, comme dans les exemples. Voici quelques exemples : 1. Premier exemple [phone] -> 1.0 Explication : la contribution des cellules correspondantes et non correspondantes (1.0 + 1.0 + 1.0 + 1.0) / le nombre de couleurs (4) 2. Deuxième exemple [phone] -> 0.08 Explication : la contribution des cellules correspondantes et non correspondantes (0.25 + 0.0 + 0.0) / le nombre de couleurs (3) ; les zéros ne sont pas comptés, ni comme cellules dans les représentations ni dans le nombre de couleurs. 3. Troisième exemple [phone] où l’image envoyée commence [phone] — où l’image envoyée se termine 0 1 2 — où l’image originale commence [phone] -> 0.47 Explication : la contribution des cellules correspondantes et non correspondantes (0.4 + 0.5 + 0.5) / le nombre de couleurs (3) ; les zéros ne sont pas comptés comme cellules dans les représentations ni dans le nombre de couleurs. 4. Quatrième exemple [phone] -> 0.0 Explication : la contribution des cellules correspondantes et non correspondantes (0.0) / le nombre de couleurs (1) ; les zéros ne sont pas comptés comme cellules dans les représentations ni dans le nombre de couleurs.
Écrivez un code en Python qui calcule le produit scalaire de deux vecteurs compressés en RLE en une seule passe.
Comment s'appelle l'opérateur de tri en SQL et quand est-il exécuté ? Où se trouve LIMIT dans l'ordre d'exécution ?
Quel est l'ordre logique d'exécution de FROM, JOIN, GROUP BY et SELECT dans cette requête SQL?
Explique la logique de la résolution du problème sum_series : comment construire la somme de deux séries temporelles par étapes ?
Pseudo-code sum_series(a={{1, 2}, {5, 1}}, b={{2, 4}, {3, 6}, {9, 7}}) -> {{1, 2}, {2, 6}, {3, 8}, {5, 7}, {9, 8}} def sum_series(a, b): result = [] i , j = 0, 0 val_a, val_b = 0, 0 while i < len(a) or j < len(b): a_next = a[i][0] if i < len(a) else float('inf') b_next = b[j][0] if j < len(b) else float('inf') if a_next <= b_next: val_a = a[i][1] t = a[i][0] i += 1 else: val_b = b[j][1] t = b[j][0] j += 1 result.append((t, val_a + val_b)) return result
Comment configureriez-vous un test A/B pour vérifier un nouvel algorithme de recherche ? Comment déterminer la taille de l'échantillon nécessaire et la durée du test ?
B. Préfixes et Suffixes Étant donné un tableau trié de n zéros. À chaque étape, vous pouvez choisir un nombre arbitraire des premiers ou derniers éléments de ce tableau, et ajouter un à tous les éléments sélectionnés. Est-il possible d'atteindre l'état spécifié du tableau après un certain nombre de telles opérations? Format d'entrée La première ligne contient un entier 1 ≤ n ≤ 100000 — le nombre d'éléments dans le tableau. La deuxième ligne contient n nombres entiers non négatifs a1, a2, ..., an séparés par des espaces, où ai ≤ 10^18 — les éléments finaux souhaités. Format de sortie Imprimez "YES" si un tel état est réalisable, et "NO" sinon. Exemple Entrée [phone] Sortie YES Note Les états [phone] peuvent être atteints comme suit: ajouter un aux trois premiers éléments, ce qui donne [phone] ajouter un aux quatre derniers éléments, ce qui donne [phone] ajouter un à l'élément final, ce qui donne [phone]
Comment collecter des réponses ground truth pour le benchmark en géométrie?
-- Sur les campagnes promotionnelles envoyées aux utilisateurs : -- 2.1 Écrivez une requête qui affiche le nombre d'utilisateurs ayant reçu avec succès la communication, pour chaque campagne. -- 2.2 Modifiez la requête pour afficher : le nombre d'utilisateurs n'ayant reçu aucune communication réussie, pour chaque campagne. -- 3. Un champ supplémentaire a été ajouté à la table communications : event_timestamp – la date et l'heure de l'événement de livraison de la communication au format '%Y-%m-%d %H:%M:%S'. -- Pour toutes les campagnes, y compris celles non lancées, calculez la métrique : la proportion d'utilisateurs pour lesquels la livraison du message réussi a été effectuée du premier coup. -- Vous pouvez utiliser des fonctions de fenêtre ou non, mais il est important que la requête soit optimale.
Énumérez clairement les critères qui doivent être remplis pour que les données aient une distribution normale.
Avez-vous des questions pour l'intervieweur?
Pseudo-code sum_series(a={{1, 2}, {5, 1}}, b={{2, 4}, {3, 6}, {9, 7}}) -> {{1, 2}, {2, 6}, {3, 8}, {5, 7}, {9, 8}} def sum_series(a, b): result = [] i , j = 0, 0 val_a, val_b = 0, 0 while i < len(a) or j < len(b): a_next = a[i][0] if i < len(a) else float('inf') b_next = b[j][0] if j < len(b) else float('inf') if a_next < b_next: val_a = a[i][1] t = a[i][0] i += 1 else: val_b = b[j][1] t = b[j][0] j += 1 result.append((t, val_a + val_b)) return result
Qu'est-ce qu'un benchmark et comment évaluerais-tu la qualité d'un modèle multimodal ?
-- Les spécialistes du marketing lancent des campagnes promotionnelles dans l'application du service. Il y a deux tableaux: -- campaigns – liste des campagnes -- - campaign – nom de la campagne -- - action_type – type de campagne : "push" ou "banner" -- communications – journal du backend avec l'envoi de communications de ces campagnes aux utilisateurs -- - user_id – identifiant de l'utilisateur -- - campaign – nom de la campagne -- - status – statut de l'événement : "success" ou "error" --------------------------------------------------------------------------- -- 1. Initialement, dans la table campaigns, il y a 4 lignes: -- | campaign | action_type | -- |-------------|-------------| -- | promo_dogs | push | <- dupliqué aléatoirement -- | promo_cats | banner | -- | promo_cats | banner | <- deux lignes -- | promo_rats | push | -- Il est également connu que : -- les campagnes promo_dogs et promo_cats ont été menées avec succès sur 100 utilisateurs, et chaque utilisateur a reçu une communication, -- et promo_rats est encore en planification. -- 1.1 Que renverra la requête : SELECT campaign, COUNT(*) as rows, COUNT(DISTINCT co.user_id) AS users FROM campaigns AS ca INNER JOIN communications AS co ON ca.campaign = co.campaign GROUP BY ca.campaign AS campaign -- 1.2 Comment la réponse changera-t-elle si le type de JOIN est changé en LEFT?
La rentabilité des actions [nom] sera-t-elle distribuée normalement ? (Augmentations de prix par minute sur toute la période de négociation de 2000 à 2026)
D. Feux d'artifice chinois Vladimir a acheté un ensemble de 3 feux d'artifice chinois. Ils ont l'air exactement identiques et sont mélangés dans une boîte, mais selon les instructions, ils ont des fiabilités différentes : 1. "Élite" — taux de défauts de 10% (probabilité de succès 0.9). 2. "Standard" — taux de défauts de 20% (probabilité de succès 0.8). 3. "Économique" — taux de défauts de 40% (probabilité de succès 0.6). Vladimir prend au hasard le premier feu d'artifice, l'allume, et il fonctionne avec succès. Heureux, Vladimir décide de lancer les deux autres feux d'artifice l'un après l'autre. Quelle est la probabilité que le deuxième et le troisième feu d'artifice fonctionnent également — sans défaut ? Arrondissez la réponse à trois décimales. Format de sortie Un nombre décimal arrondi à 3 décimales. Par exemple, 0.98 ou 0.999
-- La table campaigns a été corrigée : suppression de la duplication, ajout d'une clé (PK). -- Plus de campagnes ont été menées, en raison de bugs, certains utilisateurs ont commencé à rencontrer des tentatives échouées de livraison de communications, et pour certains, la communication n'a pas été affichée du tout. -- Concernant les campagnes promotionnelles envoyées aux utilisateurs : -- 2.1 Écrivez une requête qui affiche le nombre d'utilisateurs ayant reçu avec succès la communication, pour chaque campagne. -- 2.2 Modifiez la requête pour afficher : le nombre d'utilisateurs n'ayant reçu aucune communication réussie, pour chaque campagne. -- 3. Un nouveau champ a été ajouté à la table communications – event_timestamp – date et heure de l'événement de livraison de la communication au format '%Y-%m-%d %H:%M:%S'. -- Pour toutes les campagnes, y compris celles non lancées, calculez la métrique : la proportion d'utilisateurs pour lesquels la livraison du message réussi a été effectuée du premier coup. -- Il est possible d'utiliser des fonctions de fenêtre, ou de faire sans, mais il est important que la requête soit optimale.