Golang
Ի՞նչ տեսակի հիշողություն կա Go-ում և ինչ է այնտեղ պահվում: Որտե՞ղ են գտնվում գլոբալ փոփոխականներն ու հաստատումները։
Ի՞նչ է տեղի ունենում GC-ի ժամանակ ստեղծվող նոր օբյեկտների հետ: Ինչու է անհրաժեշտ write barrier-ը:
Կարող եք օգնել մտածել հարցեր ընկերոջը նրա աշխատանքի մասին, որպեսզի նա չհայտնվի վերջնականում?
Ի՞նչ մակարդակի եք գիտելիք Kubernetes-ի մասին։
Ինչու եք հիմա այլ առաջարկներ դիտարկում, ինչն է ձեզ չհամապատասխանում Wildberries-ում?
Իմացիր քո աշխատանքային փորձի մասին ազատ ձևով, առանց խորը տեխնիկական մանրամասների.
Պատմեք թիմի գործընթացների մասին — ինչպես աշխատում է Scrum-ի համաձայն?
Ի՞նչ գործիքներ եք օգտագործում ծրագրերի զարգացման ժամանակ կատարողականության գնահատման և պրոֆիլավորման համար։
Երբ է անհրաժեշտ անցնել մոնոլիտից միկրոսերվիսների։ Որ RPS-ի դեպքում և ինչ պայմաններում։
Քանի բաժին պետք է ունենա Kafka թեման?
/* Մեզ անհրաժեշտ է տվյալներ փոխանցել մի աղբյուրից մի սպառողի։ Աղբյուրն ապահովում է տվյալները փոքր խմբաքանակներով (~տասը գրառում), մինչդեռ սպառողը ավելի արդյունավետ է աշխատում մեծ խմբաքանակներով (~հազար գրառում): Իրական օրինակ է Kafka տիպի հերթերից տվյալների փոխանցումը Clickhouse տվյալների բազա: Աղբյուր: - Հավասարապես անսահմանափակ: - Աղբյուրը երբեք չի վերադարձնում ավելի քան MaxItems գրանցում մեկ Next կանչում: - Մի «սեսիա» (մեկ Pipe ֆունկցիայի կանչ) ընթացքում, աղբյուրը յուրաքանչյուր Next-ով վերադարձնում է նոր տվյալներ: - Սակայն, վերագործարկումից հետո, աղբյուրը սկսում է նախորդ «հաստատված» դիրքից, որը սահմանվում է cookie-ով: Այդ պատճառով, *յուրաքանչյուր* cookie արժեք, որը Next- ը վերադարձնում է, տվյալները պահելուց հետո, պետք է հաստատվի Commit կանչով, նույն հերթականությամբ, ինչպես դրանք վերադարձվել են Next-ով: Սպառող: - Չի կարող միաժամանակ ավելի քան 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 { // TODO }
պատմիր ինձ defer-ի մասին՝ ինչ կարգով է կատարվում, նախքան return-ը թե հետո?
Որ տվյալների բազաներով եք առավել մոտ աշխատել?
Ինչպե՞ս ես սովորում նոր բաներ Go-ում: Ինչ կարդում ես, ինչ սովորում ես?
Ինչպե՞ս էին տվյալները հաշվարկներից անցնում 1C-ին։
Աշխատո՞ւմ ես։
Ի՞նչ էր եղել ձեր աշխատած տվյալների ամենամեծ ծավալը և քանի՞ հարցում էր ընթերցում/գրառման համար։
Ինչպե՞ս է Go-ն որոշում, թե հիշողությունը բաժանել ստեկում կամ հոսպիտալում: Ինչու է դա կարևոր?
Ինչպե՞ս եք ձեր տեսակետը հիմնավորում, եթե գործընկերդ համաձայն չէ:
Ի՞նչ ոլորտներում կլինի հետաքրքիր զարգանալ՝ տեխնոլոգիաներում, առաջադրանքներում, ուղղություններում։