Πώς περνάμε ένα slice σε μια συνάρτηση σε μια γλώσσα προγραμματισμού;
Golang
func fn() { str := "" for i := 0; i < 100000; i++ { str += fmt.Sprintf("%d", i) } fmt.Println(str) }
Μίλησέ μου για τα μοτίβα σχεδίασης. Τι είναι το double-checked locking (διπλός έλεγχος κλειδώματος) και για ποιο λόγο χρησιμοποιείται;
Εξήγησε γιατί και ποιο (σχετικά με την έξοδο του κώδικα)
Υπάρχει πιθανότητα να συμβεί κατάσταση Μη Επαναλαμβανόμενης Ανάγνωσης κατά τη χρήση του επιπέδου απομόνωσης Read Committed;
Τι θα εμφανιστεί σε κάθε εκτύπωση; func fn(a []int) { a[2] = 5 a = append(a, 6) fmt.Println(a) // a = append(a, 7) a[0] = 5 fmt.Println(a) // } func main() { a := make([]int, 0, 5) for i := 0; i < 4; i++ { a = append(a, i) } fn(a[:3]) fmt.Println(a) // }
Πες μου πώς λειτουργεί ο προγραμματιστής goroutines στο Go (GMP).
Πες μου πώς λειτουργεί το Redis, τι είναι;
Στη γραμμή 7, γίνεται συμπέρασμα ότι ο εσωτερικός πίνακας θα υπερχυθεί και θα δημιουργηθεί ένας νέος. Γιατί το αποφάσισες αυτό;
Υπήρξαν λάθη / προβλήματα στη δουλειά;
Πες μου, τι είναι ένα map στο Go και πώς το καταλαβαίνεις;
Τι θα συμβεί με τον περιοριστή ρυθμού Token Bucket στο σενάριο: 1 αίτημα στην αρχή του δευτερολέπτου, 99 στο τέλος, και στη συνέχεια άλλα 100 στο επόμενο δευτερόλεπτο;
Μίλησέ μου για τη χρήση γεγονότων (προσεγγισή με βάση τα γεγονότα) στο παράδειγμά σου
// Τι κακό έχει αυτός ο κώδικας; Πώς μπορεί να βελτιωθεί; func fn() { str := "" for i := 0; i < 100000; i++ { str += fmt.Sprintf("%d", i) } fmt.Println(str) }
Ποιες εργασίες σου αρέσουν; Τι ψάχνεις για τον εαυτό σου;
Σχεδιάστε έναν περιοριστή ρυθμού για μια εξωτερική API με όριο 100 αιτήσεις ανά δευτερόλεπτο/λεπτό
Ποιος σχεδίασε την αρχιτεκτονική του έργου — εσύ ως αρχηγός χαρακτηριστικών, μαζί με την ομάδα, ή ως αρχηγός ομάδας;
Χρησιμοποιείς Golang;
Τι θα εμφανιστεί σε κάθε εκτύπωση; func fn(a []int) { a[2] = 5 a = append(a, 6) fmt.Println(a) // a = append(a, 7) a[0] = 5 fmt.Println(a) // } func main() { a := make([]int, 0, 5) for i := 0; i < 4; i++ { a = append(a, i) } fn(a[:3]) fmt.Println(a) // }
Πώς λύνονταν;