Πώς λύνετε το πρόβλημα υπερχείλισης του κοντέινερ με αρχεία καταγραφής στο Docker;
Golang
Πώς διασφαλίζετε την σωστή ολοκλήρωση όλων των goroutines κατά το τερματισμό της υπηρεσίας;
Μπορούμε στην πέμπτη γραμμή, όπου γίνεται το fmt.Println(v), να έχουμε πρόσβαση στη μονάδα (στο στοιχείο που προστέθηκε μέσω append μέσα στη fill) και να το εμφανίσουμε;
Χρησιμοποιήθηκε παράλληλη επεξεργασία για την επιτάχυνση της επεξεργασίας;
Πώς διαγιγνώσκεται μια διαρροή μνήμης σε μια υπηρεσία που καταναλώνει σταδιακά όλο και περισσότερη μνήμη και μερικές φορές πέφτει λόγω OOM;
Πόσο στενά εργάστηκες με το Kubernetes; Χρειάστηκε να γράψεις διαμορφώσεις ανάπτυξης; Γνωρίζεις το kubectl και ποιες εντολές χρησιμοποίησες;
Τι τύπους κινητήρων πινάκων έχετε χρησιμοποιήσει στο ClickHouse;
Ποια βελτιστοποίηση υπάρχει στην τοπική ουρά του προγραμματιστή Go (runnext);
Πώς χειρίζεστε διπλότυπα webhook γεγονότα εάν η υπηρεσία αποστολέας δεν εγγυάται την μοναδικότητα;
Τι να κάνετε αν η υπηρεσία σας πέσει σε παραγωγή σε μια αργία;
Μπορείτε να δείξετε πώς να αποκτήσετε πρόσβαση στο τέταρτο στοιχείο ενός slice;
Πώς υλοποιήσατε καθυστερημένες επαναλήψεις (retry) στο RabbitMQ χωρίς να χάσετε μηνύματα;
Μπορείς να εξηγήσεις τα μοτίβα Inbox και Outbox, σε τι αφορούν;
Πώς υλοποιήθηκε το σύστημα επικύρωσης περιεχομένου μέσων, ποιες υπηρεσίες χρησιμοποιήθηκαν;
Πού πηγαίνουν οι goroutines κατά τη δημιουργία: στη τοπική ή στη глобική ουρά του προγραμματιστή Go;
Πώς να διαχειριστείτε ένα περιστατικό όταν η υπηρεσία σας επηρεάζει άλλες υπηρεσίες (π.χ., μπλοκάρει πίνακες στη βάση δεδομένων);
Έχετε χρειαστεί να εκτελέσετε εντολές Linux; Ποιες χρησιμοποιείτε;
Η υπηρεσία σε παραγωγή δεν λειτουργεί σταθερά περισσότερο από 5 λεπτά. Καταφέραμε να εντοπίσουμε το πρόβλημα: υπάρχει μια λειτουργία P() σε μια τρίτη βιβλιοθήκη που, με κάποια πιθανότητα, προκαλεί panic. Πώς να λύσουμε αυτό το πρόβλημα; Η βιβλιοθήκη είναι ανοιχτού κώδικα, ο κώδικας μπορεί να ελεγχθεί στο vendor.
```go func main() { wg := sync.WaitGroup{} for i := 0; i < 10; i++ { wg.Add(1) go func(wg sync.WaitGroup) { defer wg.Done() fmt.Println(i) }(wg) } wg.Wait() fmt.Println("some text") time.Sleep(1 * time.Minute) fmt.Println("some text2") } ```
Για ποιο λόγο χρησιμοποίησες το ClickHouse στο έργο σου;