Sobes.tech

func fn() { str := "" for i := 0; i < 100000; i++ { str += fmt.Sprintf("%d", i) } fmt.Println(str) }

199

Μίλησέ μου για τα μοτίβα σχεδίασης. Τι είναι το double-checked locking (διπλός έλεγχος κλειδώματος) και για ποιο λόγο χρησιμοποιείται;

190

Εξήγησε γιατί και ποιο (σχετικά με την έξοδο του κώδικα)

186

Υπάρχει πιθανότητα να συμβεί κατάσταση Μη Επαναλαμβανόμενης Ανάγνωσης κατά τη χρήση του επιπέδου απομόνωσης Read Committed;

181

Τι θα εμφανιστεί σε κάθε εκτύπωση; 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) // }

179

Πες μου πώς λειτουργεί ο προγραμματιστής goroutines στο Go (GMP).

178

Στη γραμμή 7, γίνεται συμπέρασμα ότι ο εσωτερικός πίνακας θα υπερχυθεί και θα δημιουργηθεί ένας νέος. Γιατί το αποφάσισες αυτό;

175

Πες μου, τι είναι ένα map στο Go και πώς το καταλαβαίνεις;

173

Τι θα συμβεί με τον περιοριστή ρυθμού Token Bucket στο σενάριο: 1 αίτημα στην αρχή του δευτερολέπτου, 99 στο τέλος, και στη συνέχεια άλλα 100 στο επόμενο δευτερόλεπτο;

170

Μίλησέ μου για τη χρήση γεγονότων (προσεγγισή με βάση τα γεγονότα) στο παράδειγμά σου

169

// Τι κακό έχει αυτός ο κώδικας; Πώς μπορεί να βελτιωθεί; func fn() { str := "" for i := 0; i < 100000; i++ { str += fmt.Sprintf("%d", i) } fmt.Println(str) }

169

Ποιες εργασίες σου αρέσουν; Τι ψάχνεις για τον εαυτό σου;

167

Σχεδιάστε έναν περιοριστή ρυθμού για μια εξωτερική API με όριο 100 αιτήσεις ανά δευτερόλεπτο/λεπτό

166

Ποιος σχεδίασε την αρχιτεκτονική του έργου — εσύ ως αρχηγός χαρακτηριστικών, μαζί με την ομάδα, ή ως αρχηγός ομάδας;

159

Τι θα εμφανιστεί σε κάθε εκτύπωση; 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) // }

153
/4