Sobes.tech

Golang

Was passiert, wenn man 5 Billionen Goroutines startet? Wie optimieren?

Senior
РамблерРамблер
59

Bei welcher Variante der Typumwandlung ist Panik möglich und welche Konstruktion ermöglicht es, sie zu vermeiden?

Senior
Flant
59

Welche Nachteile hat es, eine Entität über den Kontext in Go zu übergeben?

Senior
RedLab
59

Warum bist du auf den Markt getreten und was ist jetzt bei der Wahl eines neuen Arbeitgebers oder Projekts wichtig? Gibt es einen prinzipiellen Unterschied zwischen Fintech und Einzelhandel?

Senior
наполеон
59

Haben Sie Echtzeit-Analysen erstellt oder welche Ziele verfolgten Sie ursprünglich?

Middle+
РамблерРамблер
59

Welchen Einfluss hast du auf frühere Projekte gehabt?

Senior
wilix
59

Warum Go? Wo hast du angefangen, wie bist du zu dieser Sprache gekommen?

Middle+
VKVK
59

Welche Synchronisationsprimitive für Goroutines gibt es in Go?

Middle+
СБЕРСБЕР
59

Welche Synchronisationsmittel in Go kennst du?

Middle+
WildberriesWildberries
59

Was wissen Sie über das Unternehmen VES?

Senior
IBS
59

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
59

Wie haben Sie den Prozess mit Analytik beeinflusst?

Senior
AvitoAvito
59

Was ist der Kontext in Go und wozu ist er nützlich?

Middle+
Magnit Tech
59

Woran haben Sie am häufigsten gearbeitet? Welche Technologien haben Sie verwendet?

Middle+
OZONOZON
59

Kannst du in einem der defer einen Panik behandeln?

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

Kann man während des Evakuierungsprozesses Elemente in eine Karte hinzufügen oder entfernen?

Senior
VK CloudVK Cloud
59

Verwendeten Sie sowohl gRPC als auch REST oder nur gRPC?

Senior
Ozon ФинтехOzon Финтех
59

Warum ist das eine technisch schwierige Aufgabe? Warum nicht einfach eine Funktion mit 100 Zeilen?

Senior
VK Live
59

Was ist Tracing? Wie führt man es durch?

Senior
I-teco
59

Angenommen, es gibt ein sortiertes Array von Zahlen, das doppelte Elemente enthält. Entfernen Sie die Duplikate in-place (direkt im ursprünglichen Array) und geben Sie die Größe des resultierenden Arrays zurück. Beispiel: Eingabe: nums = [0,0,1,1,1,2,2,3,3,4] Ausgabe: 5, nums = [0,1,2,3,4,_,_,_,_,_] Erläuterung: In diesem Array gibt es 5 eindeutige Elemente. Platzieren Sie sie in den ersten fünf Positionen des ursprünglichen Arrays und geben Sie die Zahl 5 zurück. Die nachfolgenden Elemente im ursprünglichen Array können beliebig sein.

Senior
Ozon ФинтехOzon Финтех
59
/411