func fn() { str := "" for i := 0; i < 100000; i++ { str += fmt.Sprintf("%d", i) } fmt.Println(str) }
Golang
Kaip perduodamas slice į funkciją programavimo kalboje?
Papaskink apie dizaino šablonus. Kas yra double-checked locking (dvigubo patikrinimo užraktas) ir kam jis naudojamas?
Paaiškinkite, kodėl ir kuri (dėl kodo išvesties)
Ar įmanoma Nepakartojamo Skaitymo situacija naudojant Read Committed izoliacijos lygį?
Papaskink, kaip veikia Redis, kas tai?
Ką parodys kiekvienas spausdinimas? 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) // }
7-oje eilutėje daroma išvada, kad vidinis masyvas bus perpildytas ir bus sukurtas naujas. Kodėl taip nusprendei?
Papaskink man, kaip veikia goroutine planuotojas Go (GMP).
Kas nutiks su Token Bucket greičio ribotuvu scenarijuje: 1 užklausa pradžioje sekundės, 99 pabaigoje, ir tada dar 100 kitos sekundės metu?
Ar buvo klaidų / problemų darbe?
Papaskink apie įvykių naudojimą (įvykių valdomas požiūris) tavo pavyzdyje
// Kas yra blogai šiame kode? Kaip jį patobulinti? func fn() { str := "" for i := 0; i < 100000; i++ { str += fmt.Sprintf("%d", i) } fmt.Println(str) }
Kas sukūrė projekto architektūrą — tu kaip funkcijų vadovas, kartu su komanda, ar kaip komandos vadovas?
Kokias užduotis mėgsti? Ko ieškai sau?
Sukurkite greičio ribotuvą išoriniam API su 100 užklausų per sekundę/minutę limitu
Papaskink, kas yra map Go kalboje ir kaip tai supranti?
Ką išves kiekvienas spausdinimas? 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) // }
Kaip jie buvo sprendžiami?
Naudojate Golang?