Sobes.tech

Golang

/** :-))) :-(( "ab :-)" = "ab " "ab :-)))" = "ab " "ab :-)))(" = "ab (" "ab ):-)" = "ab )" ":-)" = "" **/ func deleteP(str string) string { }

230

Comment fonctionne la connexion WebSocket dans l'architecture — à quel moment elle est établie et qui communique avec qui?

229

// Étant donné deux séquences triées par ordre non décroissant de nombres entiers. // Il faut retourner tous les éléments de la première séquence qui ne sont pas dans la deuxième. // 0 <= N <= 10^6 // -10^9 <= a[i] <= 10^9 // [1] // [2, 3, 4, 5, 6] // [1] // [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, ...] // [1] // [2, 3, 4, 5, 6, 7, 8] func filter(first []int, second []int) []int { res := make([]int, 0, len(first)) i, j := 0, 0 for i < len(first) && j < len(second) { if first[i] < second[j] { result = append(result, first[i]) i++ } else if first[i] > second[j] { j++ } else { i++ j++ } } for i < len(first) { result = append(result, first[i]) i++ } return result }

228

Comment déplacer la fenêtre dans l'algorithme de fenêtre glissante?

228

Parlez-nous de la tâche la plus difficile et intéressante que vous avez résolue, en particulier en expérience architecturale.

227

Une fonction qui prend deux séquences triées par ordre non décroissant d'entiers. Il faut retourner tous les éléments de la première séquence qui ne sont pas dans la seconde. Comment aborderiez-vous la solution et quelle serait la complexité?

226

Pourriez-vous indiquer votre niveau de revenu actuel?

Junior — Middle
225

Vivez-vous actuellement à Moscou ? Quelle ville envisagez-vous ? Envisagez-vous un format de travail hybride ? À quel stade de recherche en êtes-vous ?

225

Avez-vous d'autres processus d'entretien en cours?

224

Quel est le problème avec l'implémentation actuelle de la mise à jour de la carte dans le travailleur (tasksRes[t.id][task{...}])?

224

Comment ces métriques sont-elles intégrées et affichées dans Grafana?

Junior — Middle
223

Quelle était la composition de l'équipe avec laquelle vous avez travaillé pour la dernière fois?

Junior — Middle
221

Conception d'un système de messagerie évolutif supportant 150 millions d'utilisateurs, 75 millions de DAU, 225 millions de MAU, 1,2 million de lectures / 300k d'écritures par seconde, 5 millions d'utilisateurs simultanés, 60 PB de nouvelles données par an, croissance de 30% par an, P99 <200 ms pour la lecture, <300 ms pour l'écriture, SLA 99,95%. CONTEXTE Il est nécessaire de concevoir un système de messagerie distribué, similaire à WhatsApp, qui supporte les chats 1:1 et de groupe, assure la livraison des messages, affiche les statuts en ligne des utilisateurs et transmet des fichiers multimédias (photos, vidéos, audios). Le système doit assurer une haute disponibilité et une faible latence, supporter un haut parallélisme et évoluer à l'échelle mondiale. EXIGENCES FONCTIONNELLES - Support pour les chats personnels (1:1) et de groupe avec possibilité d'ajouter/supprimer des participants - Envoi et réception de messages texte et de fichiers multimédias Exigences non fonctionnelles: - Aucune implémentation explicite de chiffrement de bout en bout au niveau des services ou des clients, sauf une annotation générale. - Absence de description claire du sharding et de la réplication des bases de données par chat_id ou user_id pour la scalabilité et la tolérance aux pannes. - Aucun composant ou mécanisme explicite pour gérer la synchronisation hors ligne des messages et des accusés de réception. - La répartition de la charge entre les bases de données et les services, notamment lors des pics de charge, n'est pas détaillée. **Points critiques à considérer:** (Le diagramme montre une architecture avec Load Balancer, API Gateway, Message Queue, Service, Cache, Database, Object Storage et CDN)

220

[nom] a indiqué une incohérence dans l'évaluation de la mémoire : a déclaré une chose, a écrit une autre. Comment évaluer correctement la mémoire ?

217

Parle-moi de ton dernier projet — en quoi consiste-t-il et que fais-tu précisément dedans ?

217

Raconte brièvement ce que vous avez fait dans vos emplois précédents et quelles fonctionnalités vous avez réalisées.

216

Avez-vous de l'expérience avec des systèmes distribués?

215

Conception d'un système de messagerie évolutif supportant 150 millions d'utilisateurs, 75 millions de DAU, 225 millions de MAU, 1,2M de lectures / 300k d'écritures en pic de QPS, 5 millions d'utilisateurs simultanés, 60 PB de nouvelles données par an, croissance de 30% par an, SLA de 99,95%, p99 <200 ms pour la lecture, <300 ms pour l'écriture. CONTEXTE Il faut concevoir un système de messagerie distribué, similaire à WhatsApp, supportant les chats 1:1 et de groupe, assurant la livraison des messages, l'affichage des statuts en ligne des utilisateurs et le transfert de fichiers multimédia (photos, vidéos, audios). Le système doit garantir une haute disponibilité et une faible latence, supporter un haut parallélisme et évoluer à l'échelle mondiale. EXIGENCES FONCTIONNELLES - Support des chats personnels (1:1) et de groupe avec possibilité d'ajouter/supprimer des participants - Envoi et réception de messages texte et de fichiers multimédia Aucun mécanisme clair de chiffrement end-to-end n'est visible au niveau des services ou des clients, à l'exception d'une annotation générale. - Absence de description explicite du sharding et de la réplication des bases de données par chat_id ou user_id pour la scalabilité et la tolérance aux pannes. - Aucun composant ou mécanisme clair pour gérer la synchronisation hors ligne des messages et des accusés de réception. - La répartition de la charge entre bases de données et services, notamment en période de pics, n'est pas claire. **Points critiques à considérer :**

215

Une chaîne de caractères est donnée. Trouvez le nombre de paires d'indices i et j (i <= j), entre lesquelles, inclus, il n'y a pas de caractères répétés. Pour la chaîne "aba", la réponse est 5 : [0, 0] ("a") [0, 1] ("ab") [1, 1] ("b") [1, 2] ("ba") [2, 2] ("a") Pour la chaîne "abcb", la réponse est ? : aba 3 + 2 = 5 abcb 4 (a, b, c, d) + 1 (ab) + 1 (bc) + 1 (cb) + 1 (abc) = 8

213
/11