func fn() { str := "" for i := 0; i < 100000; i++ { str += fmt.Sprintf("%d", i) } fmt.Println(str) }
Golang
Jak se předává slice do funkce v programovacím jazyce?
Pověz mi o návrhových vzorech. Co je to double-checked locking (dvojité zámek s kontrolou) a k čemu se používá?
Vysvětli proč a která (ohledně výstupu kódu)
Je možná situace Neopakovatelných čtení při použití úrovně izolace Read Committed?
Pověz mi, jak funguje Redis, co to je?
Co se zobrazí při každém tisku? 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) // }
Na 7. řádku se uvádí, že vnitřní pole bude přetečeno a bude vytvořeno nové. Proč jsi tak rozhodl?
Byly na pracovišti chyby / problémy?
Pověz mi, jak funguje plánovač gorutin v Go (GMP).
Pověz mi, co je to map v Go a jak to chápeš?
Pověz mi o použití událostí (přístup řízený událostmi) na tvém příkladu
Co se stane s rate limitem Token Bucket v scénáři: 1 požadavek na začátku sekundy, 99 na konci, a poté dalších 100 v následující sekundě?
// Co je špatně s tímto kódem? Jak ho zlepšit? func fn() { str := "" for i := 0; i < 100000; i++ { str += fmt.Sprintf("%d", i) } fmt.Println(str) }
Jaké úkoly máš rád? Co hledáš pro sebe?
Navrhněte limitér rychlosti pro externí API s limitem 100 požadavků za sekundu/minutu
Kdo navrhl architekturu projektu — ty jako feature leader, společně s týmem, nebo jako týmový leader?
Co se zobrazí na každém tisku? 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) // }
Jak byly řešeny?
Používáš Golang?