Təcrübəniz haqqında qısa məlumat verə bilərsinizmi? Əsas proqramlaşdırma diliniz hansıdır? Sənaye inkişafında neçə illik təcrübəniz var?
Golang
JWT-nin serverdə sessiyaları saxlamaqdan üstünlüyü nədir?
60-cı sətirdə buf = buf[:0] — burada nə baş verir?
Əsas proqramlaşdırma diliniz hansıdır? C++ və ya Python istifadə edirsinizmi?
Başlanğıcda tampon üçün nə qədər yaddaş ayrılıb?
func Pipe(p Producer, c Consumer) error { // TODO buf := make([]any, 0, MaxItems) cookies := make([]int, 0) flush := func() error { if len(buf) == 0 { return nil } if err := c.Process(buf); err != nil { return err } for _, cookie := range cookies { if err := p.Commit(cookie); err != nil { return err } } buf = buf[:0] cookies = cookies[:0] return nil } for { items, cookie, err := p.Next() if err != nil { flush() return err }
Hər hansı bir bulud xidmətindən istifadə etmisinizmi? Yandex, Google, AWS və ya digər bulud xidmətləri?
Əgər Consumer.Process xəta ilə geri dönərsə — buffer-dən olan məlumatlar itirilməyəcəkmi?
Niyə backend.Invoke çağırışı mutex xaricində həyata keçirildi?
maxSegment alqoritmini yaxşılaşdırmaq mümkündürmü?
Go-dan başqa hansı proqramlaşdırma dillərini özünüz və ya ticarət inkişafında istifadə edirsiniz?
Verilən S sətiri, bu sətirdəki bütün simvolları ən azı bir dəfə ehtiva edən alt sətirlərin sayını hesablamaq lazımdır. Nümunələr: "abca" -> 3 // abc, bca, abca "aa" -> 3 // aa, a, a, "ffg" -> 2 // ffg, fg
Yüksək yüklənmə zamanı hazırda saniyədə ən çox neçə sorğu qəbul edə bilərsiniz?
Bu simli ardıcıllıqdır. İ və j indeks cütlərinin sayını tapın (i <= j), arasında, daxil olmaqla, təkrarlanan simvollar yoxdur. "aba" ardıcıllığı üçün cavab 5: [0, 0] ("a") [0, 1] ("ab") [1, 1] ("b") [1, 2] ("ba") [2, 2] ("a") "acbb" ardıcıllığı üçün cavab ?:
İşəgötürəni seçərkən hansı meyarları istifadə edəcəksiniz? Sizin üçün ən vacib olan nədir?
Harada yaşayır, haradasan?
Əgər lazım olarsa və ya şəxsi arzu ilə başqa bir proqramlaşdırma dilinə keçməyə hazırsınızmı?
Hansı proqramlaşdırma dilində işləyirsiniz? Sintaks ilə niyə çətinliklər yarandı?
// TODO backends []*BackendImpl index int mu sync.Mutex func (b *Balancer) Invoke(ctx context.Context, req Request) (Response, error) { b.mu.Lock() index := b.index if b.index + 1 == len(b.backends) { b.index = 0 index = 0 } b.mu.Unlock() resp, err := b.backends[index].Invoke(ctx, req) b.mu.Lock() defer b.mu.Unlock() b.index += 1 return resp, err } // addr ip:port içeren belirli bir örneği tutar func NewBackend(addr string) *BackendImpl // addrs tüm yük dengeleme örneklerinin adreslerini içerir func NewBalancer(addrs []string) *Balancer { // TODO backends := make([]*BackendImpl, len(addrs)) for _, addr := range addrs { backends = append(backends, NewBackend(addr)) } return &Balancer{ backends: backends, } }
Gəlin mikroxidmət memarlığı haqqında danışaq. Son vaxtlar daha çox nə olub: dəstək yoxsa inkişaf?