Golang
Εσείς παρακολουθούσατε την παρακολούθηση ή έχετε μια ξεχωριστή ομάδα;
Γιατί η προσέγγιση του Go για τον πολυνηματισμό είναι καλύτερη από άλλες γλώσσες;
Πείτε μας για την εμπειρία σας με συστήματα υψηλού φόρτου. Έχετε αντιμετωπίσει προβλήματα κατανομής και ισορροπίας της κυκλοφορίας;
Αν η λειτουργία διαρκεί 10-12 λεπτά και υπάρχει ενεργή εγγραφή και τα δεδομένα αλλάζουν, δεν υπήρχαν παρενέργειες;
Ποια είναι η πολυπλοκότητα του αλγορίθμου σε χρόνο και μνήμη;
Αναφέρετε τα επίπεδα απομόνωσης των συναλλαγών: Read Uncommitted, Read Committed, Repeatable Read, Serializable.
Έχετε ασχοληθεί ποτέ με αρχιτεκτονικά ζητήματα; Πώς λαμβάνονταν οι αρχιτεκτονικές αποφάσεις;
Ο/Η [όνομα] ρώτησε: πες μου για τις primitive συγχρονισμού στο GoLang.
Τώρα θέλουμε να πάμε στο HeadHunter και να αναζητήσουμε υποψηφίους με φίλτρα — πώς να το αρχιτεκτονίσουμε;
Από πού προέρχονταν τα δεδομένα; Τα έστελναν οι logisticians ή πώς;
Τι μπορεί να γίνει για να αποφευχθεί η εκκένωση του χάρτη σε μια υπηρεσία υψηλού φόρτου;
Τι είναι ο Μέσος Όρος Φόρτου, πώς τον ελέγχετε και τι πρέπει να προσέχετε;
Διαγράφονται τα δεδομένα του κοντέινερ μετά τη διακοπή του;
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() }
Για ποιες εργασίες χρησιμοποιήσατε goroutines και κανάλια;
Πώς επηρέασες την αλλαγή στη διαδικασία με την ανάλυση;
Πώς είναι τεχνικά διαρθρωμένη γενικά η πλατφόρμα HR;
Πώς αντιμετωπίσατε την κατάσταση όταν οι λογαριασμοί κατά τις μεταφορές κατέληγαν σε διαφορετικά shards;
Πώς μετατρέπουμε έναν αριθμό σε δυαδικό σύστημα;
Πώς φτάσατε στη στιγμή της βελτιστοποίησης του PostgreSQL και ποιους τρόπους βελτιστοποίησης χρησιμοποιήσατε;