Golang
Իմացեք ձեր վերջին նախագծի մասին. Ինչ էր բիզնեսի նպատակը և ինչու էր դա անհրաժեշտ?
Քանի բաժին պետք է ունենա 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 }
Ինչպիսի՞ն են Kafka-ի առաքման երաշխիքները: Ինչ պետք է անել արտադրողի կողմից, որպեսզի ապահովվի exactly-once?
Կարո՞ղ եք Docker կոնտեյներ առանց պատկերի գործարկել:
Ինչպե՞ս եք ձեր տեսակետը հիմնավորում, եթե գործընկերդ համաձայն չէ:
Կարո՞ղ է Redis-ում պահել միայն order_id -> current_status և ամբողջ պատվերի քարտը ընթերցել ռեպլիկայից: Ինչպես բաժանել այս երկու տեսակի ընթերցումները?
Ներկայացրեք index for the users աղյուսակի համար՝ gender և age դաշտերով, եթե անհրաժեշտ է ընտրել օգտվողներ սեռով կամ տարիքով
Պատմիր մի դեպքի մասին, երբ դու ինչ-որ բան առաջարկեցիր և պետք էր ապացուցել քո տեսակետը։
Եթե տողը ալգորիթմով պալինդրոմ է, արդյոք այն վերադարձնում է true, թե ոչ?
Ինչպես է աշխատում կոնտեյներիզացիան, պատմիր ավելի մանրամասն մասին namespace-ների մասին։
Ի՞նչ անել, եթե endpoint-ը դանդաղում է: Նկարագրեք ախտորոշման քայլերը.
Ի՞նչ եք անում ինչ-որ բան վերանորոգելուց հետո։
Ինչ պահանջներ կդնեք անձնական տվյալների հետ աշխատող համակարգի համար առաջին հերթին։
Ի՞նչ խնդիրներ լուծել հետաքրքիր կլիներ։
Մեծ ֆայլ ջնջեցի, բայց սկավառակի տեղը չազատվեց: Ինչու՞: Ինչպես գտնել և ուղղել?
Ի՞նչ է կոնտեքստը (context) Go-ում: Ինչպես է օգտագործվում: Ինչպես է աշխատում բեկորումը կոնտեքստի միջոցով?
Ինչ է protobuf-ը։ Ի՞նչ կլինի դաշտը ավելացնելիս/հեռացնելիս։
Եթե ավելացնենք ավելի շատ consumer-ներ մեծ Kafka lag-ի դեպքում, դա կօգնի՞: Որ դեպքերում կօգնի, իսկ որ դեպքերում՝ ոչ: Ինչ տեղի կունենա, եթե 16 բաժիններ և 2 consumer լինեն?