Sobes.tech

Golang

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

197

Խոսեք նախագծման նմուշների մասին։ Ի՞նչ է double-checked locking (երկակի ստուգումով փակել) և ինչու է այն կիրառվում։

190

Կա հնարավորություն, որ լինի Նորից չկրկնվող ընթերցում, օգտագործելով 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

7-րդ տողում եզրակացություն է արվում, որ ներքին զանգվածը լրացվելու է և նորը ստեղծվելու է: Ինչու՞ որոշեցիր այդպես անել։

175

Պատմիր ինձ, թե ինչպես է աշխատում goroutine-ների պլանավորողը Go (GMP)-ում։

174

Իմացիր ինձ մասին իրադարձությունների օգտագործման մասին (իրադարձությունների վրա հիմնված մոտեցում) քո օրինակով

169

// Ի՞նչ վատ է այս կոդը: Ինչպե՞ս կարելի է բարելավել: func fn() { str := "" for i := 0; i < 100000; i++ { str += fmt.Sprintf("%d", i) } fmt.Println(str) }

169

Ի՞նչ կլինի Token Bucket արագության սահմանափակողի հետ սցենարում՝ 1 հարցում սկզբում, 99 վերջում, և հետո ևս 100 հաջորդ վայրկյանին։

168

Դիզայնեք արտաքին API-ի համար արագության սահմանափակող, 100 հարցում/վայրկյան կամ րոպե սահմանով

165

Ի՞նչ առաջադրանքներ քեզ դուր են գալիս: Ինչ եք փնտրում ձեզ համար:

164

Ով է նախագծել նախագծի ճարտարապետությունը — դու որպես ֆունկցիայի ղեկավար, թիմի հետ միասին, թե որպես թիմի ղեկավար?

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