Golang
Comment se déroulera le processus d'envoi et de réception de messages entre deux clients ? Décrivez le flux complet.
Vous vous positionnez comme un développeur intermédiaire ou senior?
Qu'est-ce qu'une plateforme d'entreprise pour traiter les données logistiques et opérationnelles des réseaux de détail du holding ? Les itinéraires logistiques étaient-ils constitués, calculés ou comment ?
Y a-t-il d'autres consommateurs, comme une vitrine ou un site web, qui doivent recevoir très rapidement des données sur les stocks disponibles?
Comment a-t-il été formalisé chez Petrovich et auparavant chez Gazpromneft?
L'index GIN est-il adapté à la recherche en texte intégral?
La formalisation via GPH n'apparaît pas dans le livre de travail?
Comment définirais-tu qu'un chat fonctionne bien si l'utilisateur n'a pas d'alternative?
Qu'est-ce qu'un reverse proxy et comment peut-il être mis en œuvre?
Peut-on créer un index uniquement sur la réplica, mais pas sur le maître?
Quelles primitives de synchronisation des goroutines existent en Go?
Comment fonctionne DISTINCT?
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.
La question 'Pourquoi avez-vous choisi la stratégie Cache-aside ?' est-elle appropriée ?
Quels types de tests avez-vous utilisés ? Unit, Mock, Intégration, Conteneurs de test ?
Quelle est la différence entre Deployment et StatefulSet dans Kubernetes?
Peux-tu expliquer les modèles Inbox et Outbox, en quoi consistent-ils?
Que signifie le recalcul des données historiques dans la mise en œuvre du processus de patch pour le chargement et le recalcul des données historiques ? Pourquoi doit-on le faire chaque nuit ?
Qu'est-ce que la panique en Go?
Pourquoi dans sync.Map il n'y a pas de méthode pour obtenir le nombre d'éléments (len) ?