Sobes.tech

Golang

Wie löst man das Problem verlorener Nachrichten und fehlender Liefergarantie bei Redis pub/sub für Schach?

Senior
Лига Цифровой ЭкономикиЛига Цифровой Экономики
73

Wie findest du die Arbeit mit Produktgeschichten und deren Einfluss auf die Nutzerkennzahlen?

Senior
X5
73

Mussten Sie jemals in C programmieren?

Senior
Avanpost
73

Erzählen Sie mir von sich und Ihrer Erfahrung

Senior
Магнит Тех
VK CloudVK Cloud
73

Wie findet man Anagramme eines Wortes im Wörterbuch?

Senior
Займиго
73

Was ist ein Kanal in Go und was sind seine Hauptanwendungsbereiche?

Middle
VKVK
73

Welcher Fehler tritt auf, wenn man versucht, ein Zeichen in einer Zeichenkette zu ändern: Panik, eine behandelte Fehler oder etwas anderes?

Senior
МВидео/эльдорадо
73

Was ist das Signal SIGTERM (kill -15) und warum ist es besser, es anstelle von SIGKILL (kill -9) zu verwenden?

Middle+
VKVK
73

Was sind die Isolationsstufen von Transaktionen? Welche haben Sie verwendet?

Senior
Бюро 1440Бюро 1440
73

Erinnern Sie sich an eine Situation aus Ihrer vorherigen Erfahrung, in der Sie gesehen haben, dass eine vom Teamleiter oder Architekten vorgeschlagene architektonische Lösung nicht optimal war. Was haben Sie in einer solchen Situation gemacht? Haben Sie Ihre Meinung irgendwie verteidigt?

Senior
АЭРО
73

Kann man RPC über REST implementieren und umgekehrt? Was ist der grundlegende Unterschied?

Senior
X5 techX5 tech
73

Was passiert, wenn die Kapazität eines Slices erschöpft ist und ein weiteres Element hinzugefügt wird?

Senior
I-teco
73

Was sind die Unterschiede zwischen HTTP/1, HTTP/2 und HTTP/3?

Senior
YadroYadro
73

Wer gehörte neben dir und dem Teamleiter noch zum Team?

Middle+
Яндекс вертикали
73

Wer gehört in Bezug auf die Größe zum Team?

Middle+
AvitoAvito
73

Was liegt Ihnen näher – Produktentwicklung oder Infrastrukturentwicklung?

Middle+
OZONOZON
73

Wie aktiv ist die Suche momentan? Überlegen Sie schon, [Firma] zu verlassen, oder schauen Sie sich nur interessante Angebote an?

Senior
AvitoAvito
73

Aktualisierungen von Dokumenten werden an den Dienst gesendet message Document { string Url = 1; // URL des Dokuments, seine eindeutige Kennung uint64 PubDate = 2; // deklarierte Veröffentlichungszeit des Dokuments uint64 FetchTime = 3; // Empfangszeit dieser Dokumentenaktualisierung, kann als Versionskennung betrachtet werden. Das Paar (Url, FetchTime) ist eindeutig. string Text = 4; // Text des Dokuments uint64 FirstFetchTime = 5; // initially absent, must be filled } Dokumente können in beliebiger Reihenfolge eintreffen (nicht in der Reihenfolge, in der sie aktualisiert wurden), und es können doppelte Nachrichten vorhanden sein. Es ist notwendig, in der Ausgabe gleiche Nachrichten zu erstellen, aber mit korrigierten Feldern nach den folgenden Regeln (alles unten gilt für eine Gruppe von Dokumenten mit demselben Feld Url): Das Feld Text und FetchTime sollten so sein wie bei dem Dokument mit der größten FetchTime, die bisher empfangen wurde. Das Feld PubDate sollte so sein wie bei der Nachricht mit der kleinsten FetchTime. Das Feld FirstFetchTime sollte den minimalen FetchTime-Wert haben. Das heißt, zu jedem Zeitpunkt nehmen wir PubDate und FirstFetchTime vom ersten Version, die bisher empfangen wurde (wenn man sie nach FetchTime sortiert), und Text von der letzten. Die Schnittstelle im Code kann so implementiert werden: type Processor interface { Process(doc *Document) (*Document, error) } Dieser Code wird in einem Dienst funktionieren, der Nachrichten aus einer Warteschlange liest (Kafka oder ähnlich), und auch das Ergebnis in die Warteschlange schreibt. Wenn Process Null zurückgibt, wird nichts in die Warteschlange geschrieben.

Senior
VKVK
73

Zeigt dir pprof immer einen Speicherleck oder eine Überschreitung des Limits an?

Senior
ВайлдберрисВайлдберрис
73

Erzählen Sie kurz, was Sie bei Ihren vorherigen Arbeitsstellen gemacht haben und welche Funktionen Sie umgesetzt haben.

Middle+
Яндекс
73
/412