Sobes.tech

Golang

Ինչպե՞ս է կատարվում ազդանշանների փոխանակումը ալիքների միջոցով ծրագրավորման համակարգում։

Junior — Middle
134

Ինչպես է Go-ում իրականացվում պանիկային վիճակների հետ աշխատելը և արտակարգ իրավիճակների պատճառով առաջացած սխալների մշակումը?

Junior — Middle
Lamoda Tech
Магнит Тех
Самокат Тех
+1
134

Ի՞նչ էին անում կրկնօրինակների հետ հայտնաբերելուց հետո: Որտե՞ղ էին մաքրում։

Middle+
ВайлдберрисВайлдберрис
134

Ինչ մեթոդներ և գործիքներ եք օգտագործել համակարգերում բեռի խնդիրների պատճառները վերլուծելու և որոշելու համար։

Junior — Middle
Indrive
134

Ի՞նչ հրամաններ եք սովորաբար օգտագործում Linux օպերացիոն համակարգում:

Junior — Middle
Mail.ruMail.ru
134

Ի՞նչ մոտեցումներ կարելի է կիրառել բազմապատկած միջավայրում շերտերով աշխատելիս թելերի անվտանգությունը ապահովելու համար։

Middle — Middle+
Betera Group
134

Ի՞նչ գործողություններ կարելի է կատարել nil slice-ով ծրագրավորման լեզվում։

Junior — Middle
Кадровое агентство BWG
134

Պատմեք մի բարդ խնդիր մասին, որը դուք կարողացաք լուծել Linux համակարգի համար սցենտ գրելով

Junior — Middle
Mail.ruMail.ru
134

Ինչպես կարելի է կարգավորել պահվող տվյալների ծավալը կեշում?

Junior — Middle
КасперскийКасперский
134

Պատրաստ լինել որպես միակ Backend մասնագետ թիմում հանդես գալու

Junior — Middle
FAQ media holding
134

Ի՞նչ է հիմնական պատճառը, որ օգտագործվում է sync.Map տիպը Go-ում։

Junior — Middle
YadroYadro
134

Ի՞նչ լավ պրակտիկա և հակափաստարկներ կան միավորային թեստավորման մեջ: Ինչպե՞ս հասկանալ, որ թեստերը լավն են։

Middle+
X5
134

Ի՞նչ են համակարգերում կեշի օգտագործման առավելությունները և թերությունները։

Junior — Middle
КасперскийКасперский
134

func Exclude(a, b []int) []int { set := make(map[int]struct{}) for _, v := range b { set[v] = struct{}{} } result := make([]int, 0) for _, v := range a { if _, ok := set[v]; !ok { result = append(result, v) } } return result } Սինտաքսի սխալ # command-line-arguments ./main.go:39:32: անսպասելի նոր տող, սպասվում էր { after if clause

Senior
OZONOZON
134

Դու՞ք երբևէ բախվել եք դժվարությունների՝ տարբեր ծառայությունների միջև փոխազդեցություններ իրականացնելու ժամանակ։

Junior — Middle
Mail.ruMail.ru
134

Ինչպես է կատարվում կտորակի (slice) փոխանցումը ծրագրավորման լեզվում ֆունկցիային:

Junior — Middle
МТС DigitalМТС Digital
134

Ի՞նչ է Saga ձևանմուշը։

Middle+
Magnit Tech
134

Ինչու չեն վերցրել Testcontainers-ը?

Senior
OkkoOkko
134

/* Մեզ անհրաժեշտ է փոխանցել տվյալներ որոշ աղբյուրից որոշ սպառողի: Աղբյուրը փոքր խմբերով է տալիս տվյալներ (~ տասնյակ գրառումներ), իսկ սպառողը ավելի արդյունավետ է աշխատում մեծ խմբերով: Օրինակ՝ Kafka տիպի հերթերից տվյալների փոխանցումը Clickhouse բազա: Աղբյուր: - Կանխամտածված անսահմանափակ: - Աղբյուրը երբեք չի վերադարձնի ավելի քան MaxItems գրանցամատյան մեկ կանչով Next: - Միևնույն "սեսիայի" շրջանակում (մեկ Pipe ֆունկցիայի կանչում) աղբյուրը յուրաքանչյուր Next-ով նոր տվյալներ է վերադարձնում: - Սակայն, վերագործարկումից հետո աղբյուրը սկսում է նախորդ "հաստատված" դիրքից, որը նշված է cookie-ով: Այդ պատճառով, յուրաքանչյուր cookie արժեք, որը վերադարձվել է Next-ով, պետք է հաստատվի Commit-ով, և դա պետք է կատարվի նույն հերթականությամբ, ինչպես վերադարձվել է: Սպառող: - Չի կարող մշակել ավելի քան MaxItems միանգամից: Հիմնական մակարդակ: Պետք է իրականացնել func Pipe(p Producer, c Consumer) error ֆունկցիան՝ որոնք կկարդա տվյալները աղբյուրից, կկազմեն դրանք բուֆեր, որի չափը չի գերազանցի MaxItems-ը, և կպահեն սպառողում, հետո կստորագրեն առաջընթացը աղբյուրում: */ const MaxItems = 9999 type Producer interface { // Next վերադարձնում է՝ // - խմբաքանակ տվյալների // - cookie հաստատելու համար // - սխալ Next() (items []any, cookie int, err error) // Commit-ը նշում է, որ տվյալ խմբաքանակը մշակված է Commit(cookie int) error } type Consumer interface { Process(items []any) error } func Pipe(p Producer, c Consumer) error { var buf []any var cookies []int for { items, cookie, err := p.Next() if err != nil { return err } buf = append(buf, items...) cookies = append(cookies, cookie) if len(buf) >= MaxItems { if err := c.Process(buf); err != nil { return err } for _, c := range cookies { if err := p.Commit(c); err != nil { return err } } buf = buf[:0] cookies = nil } } if len(buf) > 0 { if err := c.Process(buf); err != nil { return err } for _, c := range cookies { if err := p.Commit(c); err != nil { return err } } } return nil }

Middle
Яндекс
134

Կա՞ տվյալների աղյուսակ (id PRIMARY KEY, data JSON)՝ PostgreSQL-ի համար լավ ցուցիչ՝ բանալիով որոնելու համար։

Middle+
МВидеоМВидео
134
/412