Sobes.tech

Golang

Quelles autres structures sont utilisées pour les index dans les bases de données en plus de l'arbre B?

Middle
205

Quelle direction ou projet vous a-t-on confié dans votre organisation actuelle?

Junior — Middle
204

Comment fonctionne la recherche binaire dans une liste triée?

Middle
203

Qu'est-ce qu'un pointeur et combien pèse-t-il?

Middle
202

Quelle est la différence entre une goroutine et un thread du système d'exploitation?

Middle
202

Peut-on utiliser le contexte pour transmettre des données entre composants ou fonctions?

Junior — Middle
202

Qu'est-ce qu'une condition de course et quels sont les moyens de s'en protéger?

Middle
202

Les mises à jour des documents arrivent au service message Document { string Url = 1; // URL du document, son identifiant unique uint64 PubDate = 2; // heure de publication déclarée du document uint64 FetchTime = 3; // heure de réception de cette mise à jour du document, peut être considérée comme un identifiant de version. La paire (Url, FetchTime) est unique. string Text = 4; // texte du document uint64 FirstFetchTime = 5; // initialement absent, doit être rempli } Les documents peuvent arriver dans n'importe quel ordre (pas dans l'ordre de leur mise à jour), et il peut également y avoir des messages en double. Il est nécessaire de former en sortie des messages identiques, mais avec des champs corrigés selon les règles suivantes (tout ce qui est indiqué ci-dessous concerne un groupe de documents avec le même champ Url): Le champ Text et FetchTime doivent être ceux du document avec le plus grand FetchTime reçu jusqu'à présent. Le champ PubDate doit être celui du message avec le plus petit FetchTime. Le champ FirstFetchTime doit être égal à la valeur minimale de FetchTime. Autrement dit, à chaque instant, nous prenons PubDate et FirstFetchTime du premier version reçu jusqu'à présent (si on les trie par FetchTime), et Text de la dernière. L'interface dans le code peut être implémentée ainsi: type Processor interface { Process(doc *Document) (*Document, error) } Ce code fonctionnera dans un service qui lit des messages d'une file (Kafka ou similaire), et écrit également le résultat dans la file. Si Process retourne Null, rien n'est écrit dans la file.

Senior
202

Comment utiliser select pour travailler avec plusieurs canaux en même temps?

Middle
201

Quoi d'autre, à part un mutex, peut-on utiliser pour se protéger contre les conditions de course?

Middle
200

Qu'est-ce que les probes dans Kubernetes, comment les configurer et quels sont les types?

Senior
199

/* Chaîne donnée contenant les caractères (){}. Il faut déterminer si la chaîne d'entrée est équilibrée en termes de parenthèses. */ func isBalanced(s string) bool { // TODO : implémenter cela return false } fmt.Println(isBalanced("()")) // -> true fmt.Println(isBalanced("({()})")) // -> true fmt.Println(isBalanced("(()")) // -> false fmt.Println(isBalanced("(()))")) // -> false fmt.Println(isBalanced("({})")) // -> false

Middle
197

Comment les interfaces en Go permettent-elles de réaliser le polymorphisme sans indication explicite de l'héritage?

Middle
197

Qu'est-ce que la mémoire virtuelle (swap), quand en a-t-on besoin et quand faut-il la désactiver?

Senior
197

Parlez-moi plus en détail des projets en Go

Middle
197

Comment la capacité d'un slice augmente-t-elle lors de l'expansion?

Middle
196

As-tu utilisé des brokers de messages dans ton travail?

Middle
196

Quels projets menez-vous, quelles sont les tâches de haut niveau que vous effectuez?

Middle+
196

Qu'est-ce qu'un canal en Go et quels sont ses principaux domaines d'application?

Middle
196

Que doit renvoyer la fonction isBalanced pour une chaîne vide?

Middle
196
/12