Որ փուլերում է հաճախ հարցը տրվում տարբեր կազմակերպությունների հարցազրույցի գործընթացում:
Golang
Ինչպե՞ս է կատարվում PostgreSQL տվյալների բազայի հարցումները:
Ի՞նչ է եղել ձեր ամենամեծ տվյալների բազայի նախագիծը, որը դուք պետք է իրականացնեիք կամ պահպանումք։
Կարող եք բացատրել gRPC-ի գործառնական սկզբունքը և նրա հիմնական առանձնահատկությունները?
Որքան գրանցման հարցումներ էին գալիս տվյալների վրա վայրկյանում?
Որ շերտում են տեղադրվում հաճախորդները արտաքին ծառայությունների և համակարգերի համար:
Կարող եք հոստերի մասին տեղեկություն տալ? Քանի հոստ, քանի կոնտեյներ է գործարկվում?
Ի՞նչ փորձ ունեք բազմապատկման և համաժամանակյա հաշվարկների օգտագործմամբ ծրագրեր մշակելու մեջ։
Ինչպե՞ս կազմակերպել ճարտարապետությունը այն հարցի համար, որը իրականացնում է բիզնես-լոգիկան, զանգահարում է արտաքին ծառայություն (Google) և պահում արդյունքը տվյալների բազայում: Նկարագրեք վերևից ներքև շերտերով։
Ի՞նչ քանակի ինստանցիա/կոնտեյներ աշխատեց ծառայությունը։
Ինչպե՞ս է իրականացվում տվյալների միացում և ցուցադրում Grafana-ում։
Ինչ սկզբունքով պետք է նվազեցնել կամ մեծացնել have հաշիվը?
Ի՞նչ էր ձեր աշխատած ամենաերկար տևողությամբ նախագիծը։
Դու հիմա աշխատո՞ւմ եք թե ոչ, և որ ձևաչափով՝ գրասենյակ, հիբրիդ, հեռավար։
Ի՞նչն է տարբերությունը L4 և L7 բեռի հավասարակշռողների միջև։
func maxPlaces(arr []int) int { maxDistance := 0 prev, first := -1, -1 for i := 0; i < len(arr); i++ { if arr[i] == 1 { if first == -1 { first = i maxDistance = max(maxDistance, i) } else { maxDistance = max(maxDistance, (i - prev) / 2) } prev = i } } maxDistance = max(maxDistance, len(arr) - 1 - prev) return maxDistance }
/* Մեզ անհրաժեշտ է փոխանցել տվյալներ որոշ աղբյուրից որոշ սպառողի: Աղբյուրը փոքր խմբերով է տալիս տվյալներ (~ տասնյակ գրառումներ), իսկ սպառողը ավելի արդյունավետ է աշխատում մեծ խմբերով: Օրինակ՝ 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 }
Ալգորիթմի բարդությունը ժամանակի և հիշողության առումով ինչպե՞ս է։
""" Կինոյում տեղերը դասավորված են մեկ շարքում: Նոր ժամանած դիտողը ընտրում է տեղ, որպեսզի նստի հնարավորինս հեռու մյուս դիտողներից շարքում: Այսինքն, տեղից, որտեղ նա նստելու է, մինչև ամենամոտ դիտողը, հեռավորությունը պետք է լինի առավելագույն: Հավաստագրված է, որ միշտ կան ազատ տեղեր և արդեն նստած է առնվազն մեկ դիտող: Գրեք ֆունկցիա, որը, տրված տեղերի շարքով (զրոներ և միավորներ), կվերադարձնի հեռավորությունը (տեղերի միջեւ միջակայքերի քանակը) ընտրված տեղից մինչև ամենամոտ դիտող: [1, 0, 0, 0, 1] -> 2 [1, 0, 1, 0, 0, 1, 0, 0, 1] -> 2 [1, 0, 1, 0] -> 1 """
Ինչպե՞ս որոշել տեսողական կամ ալգորիթմական կերպով, որ տարրն յուրահատուկ է Map տվյալների կառուցվածքում։