Golang
RPS necə hesablanırdı — sadəcə bütün qolların yükünü toplayırdınız, yoxsa başqa bir üsul var idi?
PostgreSQL-də şəkil necə saxlanılır — bu kodlaşdırma və ya rəqəmlər toplusudur? Şəkli mətndə necə saxlamaq olar?
Kafka mesajların çatdırılmasını təmin edir? Kafka mesajı itirə bilərmi, əgər istehsalçı səhv almırsa?
Xidmət 500 səhvini qaytarırsa, problemi necə həll edəcəksiniz?
5 istehlakçı və 3 bölmə ilə nə baş verəcək?
Kubernetes-də pod-un həyat dövrü haqqında danış. Liveness və readiness yoxlamaları nədir?
Tarixən niyə əvvəlcə CISC prosessorlar (x86) populyar oldu, və RISC yalnız indi populyarlaşır?
Kubernetes-də resurslar üçün requests və limits dəyərlərini necə təyin edirsən?
Maşınlar arasında keçid zamanı təkrarlanmaların qarşısını necə almaq olar (birisi zəifləyir, digəri ələ keçir)?
Layihə haqqında ümumi danış — bu son istifadəçi üçün nə idi?
Layihədə Kafka müştərisini dəqiq necə tətbiq etdiniz, necə istifadə etdiniz?
Proses, iş parçacığı və goroutine arasındakı fərq nədir?
// Sual 1. Ekranda nə göstərəcək? package main import "fmt" func main() { s := "Hello world" s[0] = "h" fmt.Println(s) }
Nə edirsən, hansı komandasısan?
Sorğuların performansını analiz etmək üçün EXPLAIN və EXPLAIN ANALYZE necə istifadə olunur və sorğu planında nəyə diqqət yetirmək lazımdır?
Metrlərin toplanması və monitorinqini necə həyata keçirdiniz?
Go-da xəritə funksiyaya istinadla ötürülürmü?
/** * N kanalları birleştir * * N sayıda kanal verilir, bunlar chan int tipindedir. Tüm verileri birleştirecek bir fonksiyon yazılmalı **/ // 1. N kanallarını tek bir kanala birleştirmek için bir fonksiyon uygulamak gerekiyor func joinChannels(chs ...<-chan int) <-chan int { mergedCh := make(chan int) // ... return mergedCh } // 2. a, b, c kanallarını değerlerle doldurun // ...
func (p *Pool) Stop() { p.mu.Unlock() // İndi kanal təhlükəsiz şəkildə bağlana bilər close(p.tasks) // işçilərə siqnal: yeni tapşırıq olmayacaq, qalanını oxu p.wg.Wait() // bütün gorutinaların tamamlanmasını gözləyirik p.cancel() // ehtiyat üçün konteksti ləğv et fmt.Println("Pool dayandırıldı.") } // ForceStop bütün işçiləri tapşırıqlar tamamlanmadan zorla dayandırır. // İşçilər dərhal kontekst vasitəsilə kəsiləcək. func (p *Pool) ForceStop(timeout time.Duration) { fmt.Printf("Pool-u zorla dayandırma (zaman aşımı: %v)...\n", timeout) // Yeni tapşırıqların əlavə olunmasını bloklayır p.mu.Lock() p.isOpen = false p.mu.Unlock() // Kanalı bağlayır ki, işçilər yeni tapşırıq götürməsin close(p.tasks) // Konteksti ləğv et – bu, bütün yerinə yetirilən tapşırıqları kəsəcək p.cancel() // Tamamlama üçün məhdud vaxt verilir done := make(chan struct{}) go func() { p.wg.Wait() close(done) }() select { case <-done: fmt.Println("Pool zorla dayandırıldı (bütün işçilər tamamlandı)") case <-time.After(timeout): fmt.Println("Pool zorla dayandırıldı (zaman aşımı, asılı qalan gorutinalar qala bilər)") } }
Docker haqqında üç kiçik sual: Docker nədir, Docker Compose nədir, Docker Image nədir?