Πώς μπορείτε να βελτιστοποιήσετε ένα ερώτημα σε επίπεδο βάσης δεδομένων; Τι δείχνει το EXPLAIN ANALYZE;
Golang
Πες μου περισσότερα για την ιστορία της βελτιστοποίησης της ταχύτητας της αναφοράς: τι έκανες, με τι αντιμετώπισες, ποιες ήταν οι δυσκολίες, πώς τις λύσατε;
Η υπηρεσία σε παραγωγή δεν λειτουργεί σταθερά περισσότερο από 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") } ```
Πώς να βελτιστοποιήσετε ένα βαρύ αναλυτικό ερώτημα SQL σε μια μεγάλη παραγωγική βάση;
Πού είναι καλύτερο να δηλώσετε το διεπαφή — στον χώρο υλοποίησης ή στον χώρο κατανάλωσης;
Η ακολουθία εξόδου 100 goroutines θα είναι η ίδια σε κάθε εκτέλεση; Από τι εξαρτάται;
Πες μου λίγα πράγματα για τον εαυτό σου
Πες μου για την εμπειρία σου, ενδιαφέροντες εργασίες, με τι σου αρέσει να δουλεύεις, τι σε κάνει περήφανο.
Ποια είναι η διαφορά μεταξύ των κινητήρων MergeTree, ReplicatedMergeTree και Distributed στο ClickHouse;
Ξέρεις τη δομή του Kubernetes, ποιες οντότητες υπάρχουν, τι είναι το control plane;
Ας υποθέσουμε ότι η εργασία είναι στην έκδοση 1.18 του Go. Τι θα αλλάξει στη συμπεριφορά του προγράμματος;
Πώς γίνεται να τρέχουν πολλαπλά απομονωμένα περιβάλλοντα σε μια τοπική μηχανή (Docker/περιέλιξη);
Τι θα κάνατε αν προτείνατε μια αρχιτεκτονική λύση, αλλά ο τεχνικός ηγέτης δεν συμφωνεί μαζί σας και είστε σίγουρος ότι έχετε δίκιο;
```go func main() { wg := sync.WaitGroup{} wg.Add(8) for i := 0; i < 10; i++ { go func(wg *sync.WaitGroup, i int) { defer wg.Done() fmt.Println(i) }(&wg,i) } wg.Wait() fmt.Println("some text") time.Sleep(1 * time.Minute) fmt.Println("some text2") } ```
Με ποιον τρόπο καταφέραμε να μειώσουμε τον χρόνο επεξεργασίας των λειτουργιών από 120 σε 5 δευτερόλεπτα;
Τι θα δούμε στην οθόνη κατά την εκκίνηση του προγράμματος αν διορθώσουμε το σφάλμα με wg (μεταβίβαση δείκτη);