Golang
Ինչու եք միաժամանակ օգտագործել Kafka և gRPC: Ինչպիսի սցենարներ էին անցնում Kafka-ով, իսկ ինչպիսիք gRPC-ով?
Ինչպես ճիշտ պահել արտաքին ծառայության հոստի URL- ն?
Ի՞նչ է map-ը Go-ում: Ինչպե՞ս է կառուցված (նոր իրականացմանը Go 1.24-ում):
Պատմեք ինձ CI/CD պայպլայնի մասին՝ ինչ միջավայրեր, ինչ քայլեր, ինչպես կառուցվեց գործընթացը։
Ինչու եք որոշել դուրս գալ շուկա? Ի՞նչն է ձեզ անհանգստացնում ձեր ներկայիս տեղում։
Ինչու՞ օգտագործվում են ինտերֆեյսները Go-ում, ինչ են դրանց առավելությունները և թերությունները։
Ի՞նչն է տարբերությունը մատակարարված տեսքի և սովորական տեսքի միջև։
Կամ եք ունեցել փորձ Kubernetes-ով նախորդ նախագծերում?
Ի՞նչ կարող է տեսնել պահոց շերտը։
Երբ հեշը վերանորոգվում է, արդյոք հեշը մնում է նույնը, թե նոր է հաշվարկվում բանալիի համար։
Ի՞նչ է մրցակցությունը և պառլելիզմը: Ինչո՞վ են նրանք տարբերվում: Կարող են արդյոք նրանք գոյակցել:
Քանի՞ հիշողություն է պահանջում bool տիպը։
Դուք ինքն եք հետևում մոնիտորինգին, թե ունեք առանձին թիմ?
Ինչպես է աշխատում GOMAXPROCS-ը և ինչու է անհրաժեշտ P (պրոցեսոր) GMP մոդելում?
Ինչու են անհրաժեշտ երկու if ստուգումներ (շարքի 79-ին և այն շարքի վրա, որտեղ len(buf)==MaxItems), մի՞թե միայն մեկը չէ՞։
/* PostgreSQL- ի երկու սերվերներ կան: * PROD - OLTP սերվեր, * STATS - երկարատև վերլուծական հարցերի սերվեր: Ընթացիկ սերվերում, prod տվյալների բազայում, կա մեծ (10Tb) աղյուսակ հետևյալ կառուցվածքով: CREATE TABLE profiles( id SERIAL, data JSONB ) Աղյուսակում կարող են լինել "հորատներ", այսինքն, որոշ `id`-ներ կարող են բաց թողնվել: Պետք է գրել ծրագիր, որը կկոպիրացնի profiles աղյուսակը PROD-ից STATS: Նախատեսվում է, որ օգտագործվելու են հետևյալ ինտերֆեյսները տվյալների բազաներով աշխատելու համար: type Row []interface{} type Database interface { // իրականացմանը կարող է վերականգնել կապերը // SaveRows կանչը էնդպոտենտ է io.Closer GetMaxID(ctx context.Context) (uint64, error) LoadRows(ctx context.Context, minID, maxID uint64) ([]Row, error) // [minID, maxID] SaveRows(ctx context.Context, rows []Row) error } func Connect(ctx context.Context, dbname string) (Database, error) // CopyTable // Եթե full=false, ապա շարունակել տվյալների փոխանցումը նախորդ սխալի վայրից // Եթե full=true, փոխանցել բոլոր տվյալները func CopyTable(fromName string, toName string, full bool) error { // ... ձեր կոդը } Եթե փոխանցվում է `full=false` տարբերակը, ապա ծրագրը պետք է շարունակել տվյալների փոխանցումը նախորդ սխալի վայրից: Եթե `full=true`, ապա պետք է փոխանցի բոլոր տվյալները: **Հիմնական մակարդակ**: - տվյալների սերիական փոխանցում մեկ հոսքով - սխալներից հետո վերականգնում (ընտրանք `full=false`) Ավելին՝ - եթե անհրաժեշտ է, կարող եք ընդլայնել ինտերֆեյսը՝ ավելացնելով ձեր մեթոդները - եթե անհրաժեշտ է, կարող եք ուղղակիորեն օգտագործել **database/sql** փաթեթը
Ինչ եք անում սպառողի ուշացման (consumer lag) հետ ծառայության վերանախագծման կամ կանգնեցման ժամանակ։
Ցանկանում ես զարգանալ ճարտարապետության ոլորտում?
Կարող ես պատմել գորուտինների մասին? Ի՞նչ գիտես նրանց մասին, ինչպիսի՞ն են նրանց առանձնահատկությունները։
Ի՞նչ թեստեր էին նախագծում և ինչպես էին դրանք գործարկում: