Sobes.tech

Golang

// best() fonksiyonu için kod parçası // backend yoksa hata yönetimi ile

144

Çok iş parçacıklı veya asenkron işlemlerle program yazma deneyiminiz var mı?

144

// 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, } }

144

Hangi programlama dilinde çalışıyorsunuz? Sentaks ile neden zorluklar yaşandı?

143

4 - gelen gelen görevleri hızlıca kabul et, 5 - istekte bulunulduğunda görevin sonucunu döndür 6 - sonuç yoksa, uygun durumu döndür /* İşlemci - uzun ve kaynak yoğun bir işlemi gerçekleştiren bir servis. Zaten uygulanmış durumda Döndürdüğü hatalar tamamen yanlış giriş verileriyle ilgilidir, kararlıdır ve tekrar istemek anlamsızdır */ type Processor interface { Process([]byte) ([]byte, error) } /* Varsayıyoruz ki, benzersiz tanımlayıcılar (örneğin UUID) üreten bir jeneratörümüz var. Jeneratör, çakışma olmayacağını garanti eder */ type ID string // func NewID() ID /* Planlayıcı, müşterilerden görevleri alır, sıraya koyar ve işlemeye başlar. Aynı anda en fazla 'threads' işlem metodunun çalışmasını sağlar Görev durumunu kontrol etme ve sonucu alma imkanı sağlar kendi genel arayüz metodlarını bloklamaz */ type Scheduler struct { processor Processor } func NewScheduler( prc Processor, threads int, ) *Scheduler { // başlangıç mantığı return &Scheduler{ processor: prc, } } func (s *Scheduler) Queue(request []byte) ID { // uygulama return "" }

143

Bir işvereni seçerken hangi kriterleri kullanacaksınız? Sizin için en önemli nedir?

143

Mikroservis mimarisi hakkında konuşalım. Son zamanlarda daha fazla olan nedir: destek mi yoksa geliştirme mi?

142

Gerekirse veya kişisel arzuyla başka bir programlama diline geçmeye istekli misiniz?

142

Pencerenin tüm gerekli karakterleri içerdiğini nasıl kontrol edilir?

141

Kamu bulutları kullandınız mı? Evetse, hangi sağlayıcılar ve hizmetler?

139

Son projeleriniz ve kullanılan teknolojik yığın hakkında bize bilgi verin.

138

Sonuçta ne oluyor anlat — nasıl tampon biriktiriyoruz?

137

[şehir]de şu anda ikamet ettiğiniz ve ofise çıkışlarla hibrit formatta çalışmanın sizin için uygun olacağı doğru mu?

135

Bir örnek düşünelim: first=[1,1,2], second=[1,2]. Algoritmanız ne döndürmeli ve çoğaltıcılarla doğru çalışıyor mu?

133

Process metodlarının aynı anda 'threads' sayısından fazla çalışmaması için goroutine sayısını nasıl sınırlandırırsınız? Kanalden görevleri kim alacak?

132

// best() fonksiyonu için kod parçası // backend yoksa hata yönetimi ile

131

En yüksek yükteki hizmetin işlediği maksimum istek sayısı nedir? Doğru mu ki bu 5–8 bin istek/saniye civarında?

128

// best() fonksiyonu için kod parçası // backend yoksa hata yönetimi ile

127

Mikroservis mimarisiyle ilgili hangi anti-deseni biliyorsunuz?

127
/11