Golang
[Şirkət] komandasinda neçə backend var idi?
Deadlock və yarış vəziyyəti nədir, onlarla necə mübarizə aparılır?
Boş struktura malik kanal olan chan struct{} nə üçün lazımdır?
SQL sorğusunu yazın, **müştəri adını**, onun **şəhərini** və **bütün sifarişlərinin ümumi məbləğini** göstərəcək. Yekun nəticəyə yalnız **ümumi xərcləri 1000-dən çox olan** müştərilər daxil edilməlidir. --- **Məlumat sxeması:** 1. **`customers` cədvəli:** - `customer_id` (int) – müştərinin unikal identifikatoru. - `customer_name` (varchar) – müştərinin adı. - `city` (varchar) – yaşadığı şəhər. 2. **`orders` cədvəli:** - `order_id` (int) – unikal sifariş nömrəsi. - `customer_id` (int) – alış-veriş edən müştərinin ID-si. - `total_amount` (decimal) – müəyyən bir sifarişin məbləği.
Xidmətlər və mikroxidmətlər arasındakı fərq nədir?
Bəzi goroutinlar işləyərkən digər goroutinlar nə baş verir?
Batch quruluşu zamanı xidmət uğursuz olarsa nə baş verir? Kubernetes pod-u öldürdü — nə baş verir?
Go-da işləmə zamanı sysmon nə edir?
Kafka-da mesajların emal sırasını necə təmin etmək olar?
Əmrli xəritənin həyata keçirilməsində nə yaxşılaşdırılmalıdır, əgər daha çox vaxt olsa? Kitabxananın mümkün problemləri və inkişaf istiqamətləri hansılardır?
Kafka istehsalçısında mesajın çatdırılmasını necə təmin etmək olar, hətta lider çöksə belə?
Niyə tətbiqdə simvolları yoxlamaq üçün başlanğıc şərti yazılmayıb?
tür Response interfeysi {} tür Backend interfeysi { Invoke(ctx context.Context, req Request) (Response, error) } var _ Backend = &BackendImpl{} // addr müəyyən bir nümunənin ip:port ünvanını ehtiva edir func NewBackend(addr string) *BackendImpl tür Balancer strukturu { // TODO backends []*BackendImpl index int mu sync.Mutex } var _ Backend = &Balancer{} func (b *Balancer) Invoke(ctx context.Context, req Request) (Response, error) { əgər len(b.backends) == 0 { return nil, fmt.Errorf("Backends-in sayı slice-də 0-dir") } b.mu.Lock() index := b.index əgər b.index + 1 == len(b.backends) { b.index = 0 index = 0 } b.mu.Unlock() resp, err := b.backends[index].Invoke(ctx, req) return resp, err } // addrs bütün balanslaşdırılmış nümunələrin ünvanlarını ehtiva edir func NewBalancer(addrs []string) *Balancer { // TODO backends := make([]*BackendImpl, len(addrs))
Goroutine'lar arasında yaddaşı necə paylaşmaq olar? Hansı hallarda Atomic istifadə etmək daha yaxşıdır və hansı hallarda Mutex/RWMutex/SyncMap istifadə etmək daha yaxşıdır?
Kod nəzərdən keçirərkən diqqət yetirməli olan ən vacib 3 şeyi verə bilərsənmi?
Go-da map necə işləyir?
Linux-da CPU və yaddaş yüklənməsini necə yoxlamaq olar?
**Şərt** Bir neçə URL-ə sorğular paralel şəkildə həyata keçirilməlidir. HTTP status kodlarını göstərin və xətaları idarə edin.
Startapın xüsusiyyətləri ilə bağlı: həmişə aydın tapşırıqlar qoyulmur, bəzən qeyri-müəyyən olur, təşəbbüskarlıq və müstəqillik lazımdır, iş yükü bəzən qeyri-bərabər olur. Bu barədə özünüzü necə hiss edirsiniz?
Kafka-nın necə işlədiyini izah et: brokerlar, replikasiya, uğursuzluğa davamlılıq.