Sobes.tech

Golang

Ինչպես պետք է մոտենալ, եթե տվյալները դինամիկ են և փոխվում են ամեն 10 րոպտում, և դրանք ընթերցում են միլիոնավոր մարդիկ րոպեին?

143

Դու ապրել եք նույն ենթակառուցվածքում, թե տարբեր համակարգեր տարբեր շղթաներում էին?

140

Ի՞նչ տարբերություն կա HTTP/1.1 և HTTP/2-ի միջև։

138

Ով էր պատասխանատու ծառայությունների միջև պայմանագրերի համար: Ով էր պայմանագրի տերը և ինչպես եք դուք այն փոփոխել?

136

Որքա՞ն ժամանակ եք պահել տվյալները կրկնօրինակում: Որքան ժամանակ հասկացաք, որ դա կրկնօրինակում է:

135

Եթե մենք նախ կարդանք բոլոր տվյալները հիշողության մեջ և հետո միայն կարդանք, արդյոք հնարավոր է առանց mutex-ի: Արդյոք իմաստ ունի օգտագործել քարտա նման սցենարում?

132

Ինչու եք հենց այդքան ծառայություններ ստեղծել: Ինչպես տեղի ունեցավ ընտրությունը՝ ծառայություն անել կամ չանել:

127

Ինչքան ակտիվ եք դիտարկում առաջարկները ձեր որոնման կարգավիճակի համաձայն: Ուղղակի արդեն ունե՞ք որոշ առաջարկներ կամ ժամկետներ դրանց ընդունման համար։

119

Կպատմես քիչ քեզ մասին: ինչ ես անում վերջին աշխատավայրում, ինչ հիմնական խնդիրներ էիր կատարում, և պատմիր մի դժվար կամ հետաքրքիր խնդիր, որը վերջերս հաջողվեց իրականացնել — ինչ էր, ինչ արեցիր, և ինչ եղավ դրանից։

117

```go type User struct { ID int Name string } var ( dbHits int ) func getUserInfoFromDB(id int) User { time.Sleep(100 * time.Millisecond) dbHits++ return User{ID: id, Name: fmt.Sprintf("User-%d", id), } } func main() { var wg sync.WaitGroup for i := 0; i < 5; i++ { wg.Add(1) go func(i int) { defer wg.Done() fmt.Println(getUserInfoFromDB(i)) }(42) } wg.Wait() fmt.Println("DB hits:", dbHits) } ``` Կոդում սխալը, կապված միաժամանակային մուտքի հետ dbHits փոփոխականի, պետք է ուղղել սինխրոնիզացիայի միջոցով։

105
/5