func fn() { str := "" for i := 0; i < 100000; i++ { str += fmt.Sprintf("%d", i) } fmt.Println(str) }
Golang
Ինչպե՞ս է փոխանցվում սլայսը ծրագրավորման լեզվում ֆունկցիային։
Խոսեք նախագծման նմուշների մասին։ Ի՞նչ է 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) // }
Պատմիր, ինչպես է աշխատում Redis-ը, ինչ է դա?
7-րդ տողում եզրակացություն է արվում, որ ներքին զանգվածը լրացվելու է և նորը ստեղծվելու է: Ինչու՞ որոշեցիր այդպես անել։
Պատմիր ինձ, թե ինչպես է աշխատում goroutine-ների պլանավորողը Go (GMP)-ում։
Կա՞ն սխալներ / խնդիրներ աշխատանքում։
Պատմիր, ինչ է map-ը Go-ում և ինչպես ես դա հասկանում:
Իմացիր ինձ մասին իրադարձությունների օգտագործման մասին (իրադարձությունների վրա հիմնված մոտեցում) քո օրինակով
// Ի՞նչ վատ է այս կոդը: Ինչպե՞ս կարելի է բարելավել: func fn() { str := "" for i := 0; i < 100000; i++ { str += fmt.Sprintf("%d", i) } fmt.Println(str) }
Ի՞նչ կլինի Token Bucket արագության սահմանափակողի հետ սցենարում՝ 1 հարցում սկզբում, 99 վերջում, և հետո ևս 100 հաջորդ վայրկյանին։
Դիզայնեք արտաքին 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) // }
Ինչպես էին լուծվում?