Golang
Στη γλώσσα Go υπάρχουν goroutines — ελαφριά νήματα. Μπορείς να εξηγήσεις πώς καταλαβαίνεις πότε πρέπει να χρησιμοποιήσεις μια goroutine και πότε όχι;
Πες μου για το τελευταίο σου έργο.
Τι κάνετε αν περάσει η προθεσμία και μετά εμφανιστεί ένα κρίσιμο σφάλμα στην παραγωγή;
Γιατί χρησιμοποίησες το sync.Map αντί για έναν κανονικό χάρτη με Mutex;
func main() { c := make(chan int, 1000) for i := 0; i < 100; i++ { go foo(c) } sum := 0 for r := range c { sum += r } fmt.Println(sum) } func foo(c chan int) { r := rand.Int() for i := 0; i < r; i++ { c <- r } } --- func main() { c := make(chan int, 1000) var wg sync.WaitGroup wg.Add(100) for i := 0; i < 100; i++ { go func() { defer wg.Done() foo(c) }() } go func() { wg.Wait() close(c) }() sum := 0 for r := range c { sum += r } // // fmt.Println(sum) } func foo(c chan int) { r := rand.Int() for i := 0; i < r; i++ { c <- r } }
Πόσες διαφορετικές πιθανότητες υπάρχουν όταν ρίχνουμε δύο αδιάκριτα ζάρια;
Ποιος είναι ο σκοπός των goroutines; Ποιο είναι το πλεονέκτημά τους σε σύγκριση με τις διαδικασίες και τα νήματα του λειτουργικού συστήματος;
Ξαναγράψτε το ερώτημα σελιδοποίησης χρησιμοποιώντας την προσέγγιση cursor (ο πελάτης μεταφέρει το τελευταίο γνωστό ID).
Πώς αντιμετωπίζεις τις υπερωρίες; Μερικές φορές πρέπει να κυκλοφορήσουμε μια έκδοση αργά το βράδυ.
Πες μου για σένα, την εμπειρία σου, με τι ασχολήθηκες τελευταία.
Πώς ρυθμιζόταν ο αριθμός των instances; Ποιος καθόριζε τις απαιτήσεις πόρων στο Kubernetes;
Τι είναι οι χάρτες (map) στο Go;
Παρακαλώ, πες μου για την ομάδα — σύνθεση της ομάδας, με ποιον αλληλεπιδράσατε.
Έχετε επανεξετάσει το Elasticsearch ως εναλλακτική; Γιατί, αν το εξετάσατε, εγκαταλείψατε αυτό υπέρ του Redis;
Μπορείτε να περιγράψετε μια κατάσταση όπου η χρήση ενός Mutex είναι πιο κατάλληλη από τις κανάλες;
// Υλοποιήστε αυτόματη συμπλήρωση για ταινίες: // εμφανίστε τις 3 κορυφαίες αντιστοιχίσεις με αλφαβητική σειρά για τα πρώτα 3+ γράμματα που εισάγονται. // ["macarthur", "interstellar", "intrusion", "macao", "into the abyss", "internship"] // me -> [] // mac -> ["macao", "macarthur", "machinist"] // int -> ["internship", "interstellar", "into the abyss"] // interstellar -> ["interstellar"] // intr -> ["intrusion"] // intrusion -> ["intrusion"] // into -> ["into the abyss"] // stellaris -> [] package main func main() {}
Μίλησέ μου για το map στο Go: πώς είναι δομημένο, ποια είναι η πολυπλοκότητα των λειτουργιών κατά μέσο όρο και στην χειρότερη περίπτωση.
Πογκά όγκοι δεδομένων μεταφέρθηκαν στο ClickHouse για τους αναλυτές;
Πόσο άνετο είναι το ωράριο εργασίας από τις 10 έως τις 19;
Πες μας για το σύστημα γεγονότων στο Avito — δούλεψες σε ένα υπάρχον ή το ξαναγράψατε από το μηδέν;