Golang
Wie wurden die Aufgaben innerhalb des Teams verteilt?
Warum ist der Go-Ansatz zur Nebenläufigkeit besser als in anderen Sprachen?
Berichten Sie über Ihre Erfahrung mit hochbelasteten Systemen. Mussten Sie Aufgaben im Zusammenhang mit der Verteilung und Lastenausgleich des Datenverkehrs lösen?
Wenn die Operation 10-12 Minuten dauert und eine aktive Schreiboperation stattfindet und die Daten sich ändern, gab es keine Nebenwirkungen?
Wie ist die Komplexität des Algorithmus in Bezug auf Zeit und Speicher?
Erzählen Sie uns von den Transaktionsisolationsebenen: Read Uncommitted, Read Committed, Repeatable Read, Serializable.
Warum suchen Sie jetzt nach einer neuen Stelle? Was gefällt Ihnen an Ihrer aktuellen Position nicht?
[Name] fragte: Erzähl mir von Synchronisationsprimitive in GoLang.
Jetzt möchten wir auf HeadHunter gehen und Kandidaten nach Filtern suchen — wie soll man das architektonisch gestalten?
Woher stammten die Daten? Schickten sie die Logistiker oder wie?
Was kann man tun, um die Evakuierung der Karte in einem Highload-Service zu vermeiden?
Was ist die Load Average, wie überprüft man sie und worauf sollte man achten?
Werden die Daten des Containers nach dessen Stopps gelöscht?
func (c *Client) Send(ctx context.Context, messages []Message, maxWorkers int) error { sem := make(chan struct{}, maxWorkers) var wg sync.WaitGroup var resultErr error var once sync.Once for _, msg := range messages { wg.Add(1) go func(msg Message) { defer wg.Done() sem <- struct{}{} defer func() { <-sem }() body, err := json.Marshal(msg) if err != nil { once.Do(func() { resultErr = err; cancel() }) return } req, _ := http.NewRequestWithContext( ctx, http.MethodPost, c.url, bytes.NewReader(body), ) req.Header.Set("Content-Type", "application/json") resp, err := c.httpClient.Do(req) if err != nil { once.Do(func() { resultErr = err; cancel()}) return } defer resp.Body.Close() if resp.StatusCode >= 500 { once.Do(func() { resultErr = fmt.Errorf("server error") cancel()}) return } c.sentCount.Add(1) time.Sleep(time.Second) }(msg) } wg.Wait() }
Für welche Aufgaben haben Sie Goroutines und Kanäle verwendet?
Wie haben Sie den Prozess mit Analytik beeinflusst?
Wie ist die HR-Plattform technisch insgesamt aufgebaut?
Wie haben Sie die Situation gemeistert, wenn Konten bei Überweisungen auf verschiedene Shards verteilt wurden?
Wie wandelt man eine Zahl in das Binärsystem um?
Wie sind Sie zur Optimierung von PostgreSQL gekommen und welche Optimierungsmethoden haben Sie verwendet?