Kuidas edastatakse slice funktsioonile programmeerimiskeeles?
Golang
func fn() { str := "" for i := 0; i < 100000; i++ { str += fmt.Sprintf("%d", i) } fmt.Println(str) }
Rääkige disainimustritest. Mis on double-checked locking (kahe kontrolli lukustus) ja milleks seda kasutatakse?
Selgitage, miks ja milline (koodi väljundiga seotud)
Kas on võimalik olukord, kus toimub Mittetäielik lugemine, kasutades Read Committed isolatsioonitaset?
Mis näitab iga print? 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) // }
Räägi mulle, kuidas töötab goroutine'i planeerija Go-s (GMP).
Räägi mulle, kuidas Redis töötab, mis see on?
7. realtuses joonel tehakse järeldus, et sisemine massiiv ületäidetakse ja uus luuakse. Miks sa nii otsustasid?
Kas töö ajal oli vigu / probleeme?
Räägi mulle, mis on map Go-s ja kuidas sa seda mõistad?
Mida juhtub Token Bucket kiiruse piirajaga stsenaariumis: 1 päring sekundi alguses, 99 lõpus, ja siis veel 100 järgmise sekundi jooksul?
Räägi mulle sündmuste kasutamisest (sündmuspõhine lähenemine) sinu näites
// Mis on halb selle koodi juures? Kuidas seda parandada? func fn() { str := "" for i := 0; i < 100000; i++ { str += fmt.Sprintf("%d", i) } fmt.Println(str) }
Millised ülesanded sulle meeldivad? Mida otsid enda jaoks?
Disainige välise API kiirusepiiraja, mille limiit on 100 päringut sekundis või minut
Kes arhitektuuri projektis — sina kui funktsiooni juht, koos meeskonnaga, või meeskonna juhina?
Kas kasutad Golang?
Mis näitab iga print? 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) // }
Kuidas nad lahendati?