Ең жоғары жүктеме көрсеткен қызметтің секундына ең көп өңдеген сұраулар саны қандай? Дұрыс па, ол 5–8 мың сұраулар/секундына дейін?
Golang
Сақталған деректердің ең үлкен көлемі қандай болды?
Қандай мәліметтер базалары мен басқа деректер сақтау жүйелерімен жұмыс істедіңіз?
""" Берілген жол таңбалардан тұрады. i және j индекстерінің жұптарының санын табыңыз (i <= j), олар арасында қайталанатын таңбалар жоқ. "aba" жолы үшін жауап 5: [0, 0] ("a") [0, 1] ("ab") [1, 1] ("b") [1, 2] ("ba") [2, 2] ("a") "abcb" жолы үшін жауап ?: aba 3 + 2 = 5 abcb a ab b abc bc c cb b 4(а, b, c, d) + 1(ab) + 1(bc) + 1(cb) + 1(abc) = 8 """
// ең жақсы() функциясы үшін код үзіндісі // ешқандай артқы жүйе жоқ болған жағдайда қате өңдеу
Міндеттер мен мансап векторі тұрғысынан қай бағытта дамуға қызығасыз?
// ең жақсы() функциясы үшін код үзіндісі // ешқандай артқы жүйе жоқ болған жағдайда қате өңдеу
Неге жаңа ұсыныстарды қарастырып жатсыз және неге алдыңғы компанияңызды тастап кеттіңіз?
Process әдістерінің бір уақытта 'threads' санынан көп жұмыс істемеуін қалай шектеуге болады? Каналдан тапсырмаларды кім алады?
// ең жақсы() функциясы үшін код үзіндісі // ешқандай артқы жүйе жоқ болған жағдайда қате өңдеу
// ең жақсы() функциясы үшін код үзіндісі // ешқандай артқы жүйе жоқ болған жағдайда қате өңдеу
Қайсысы нәтижелік каналды оқиды және ол қайда нәтижені жазады, сонда Status әдісі оған қол жеткізе алады?
Қызмет бірнеше хост немесе инстанста жұмыс істеді? Қанша контейнер іске қосылды?
// ең жақсы() функциясы үшін код үзіндісі // ешқандай артқы жүйе жоқ болған жағдайда қате өңдеу
// ең жақсы() функциясы үшін код үзіндісі // ешқандай артқы жүйе жоқ болған жағдайда қате өңдеу
Queue әдісін жүзеге асырыңыз
ID бойынша тапсырманың жағдайын алу үшін Status әдісін қалай жүзеге асыруға болады?
type Response interface{} type Backend interface { Invoke(ctx context.Context, req Request) (Response, error) } var _ Backend = &BackendImpl{} // addr содержит ip:port конкретной экземпляра func NewBackend(addr string) *BackendImpl type backentry struct { backend Backend inflight int64 } type Balancer struct { backends []*backentry mu *sync.Mutex } var _ Backend = &Balancer{} // addrs содержат адреса всех балансируемых экземпляров func NewBalancer(addrs []string) *Balancer { data := make([]*backentry,len(addrs)) for i,addr := range addrs{ data[i] = &backentry{ backend: NewBackend(addr), inflight: 0, } } return &Balancer{backends:data} } func(b *Balancer)Invoke(ctx context.Context, req Request) (Response, error){ b.mu.Lock() entry := b.best() atomic.AddInt64(&entry.inflight,1) b.mu.Unlock() defer atomic.AddInt64(&entry.inflight,-1) return entry.backend.Invoke(ctx,req) } func(b *Balancer) best() *backentry{ var best *backentry for _,entry := b.backends{ if best == nil || atomic.LoadInt64(&entry.inflight) < atomic.LoadInt64(&best.inflight){ best = entry } } return best }
// ең жақсы() функциясы үшін код үзіндісі // ешқандай артқы жүйе жоқ болған жағдайда қате өңдеу
Queue әдісін жүзеге асырыңыз