Golang
Niyə [şirkət]dən [şirkət]ə keçdiniz?
Təcrübəniz haqqında daha ətraflı məlumat verin: layihə nə idi və sizin məsuliyyətiniz nə idi?
Hansı meyarlar əsasında şirkətləri seçirsən, nəyə əsaslanırsan?
Hansı məlumatlar keşə qoyulmamalıdır?
Fonsiyona slice-i parametr kimi ötürmək mümkündürmü?
Verilənlər bazaları haqqında danış — hansı ilə işlədin və hazırda hansı ilə işləyirsən?
Yavaş xidmətlə bağlı sual Sifarişin yaradılması nümunəsini götürək. Xidmətə sorğu göndərilir və cavab alınır, bu iki əməliyyat arasında sifariş olunan məhsulları analizə yığırıq (məsələn, məhsulların populyarlığını hesablamaq üçün). Analitika xidməti bəzən yavaş işləyir və ya timeout verir, və biz vaxtında cavab verə bilmirik, sifarişləri itiririk. Sifarişləri və pul itirməmək üçün nə etmək lazımdır? Sifariş və analitikləri necə paralelləşdirmək olar, düşünün.
Bir vəziyyəti təsəvvür edin: komanda üzvü ilə daim 'sizi narahat edən' bir testçi ilə ortaq zəmin tapa bilmirsiniz. Necə qarşılıqlı əlaqə qurarsınız?
Mesaj brokerləri nədir? Hansını bilirsiniz? RabbitMQ ilə Kafka arasındakı fərq nədir?
Əgər Kafka-dan imtina edib onu başqa mesaj brokeri ilə əvəz etmək lazım olsa, nə baş verər? Kafka'yı xarici xidmətlərdən necə izolyasiya etmək olar?
Buraxılış prosesi necə təşkil olunub? Son buraxılış sizin iştirakınızla necə keçdi?
Kubernetes-də REST API serverinin (kod deposu) işləməyə başlaması üçün nə etmək lazımdır?
Graceful shutdown haqqında danış: bu nədir, onun zamanı nə baş verir, necə çağırılır? Kubernetes-də SIGTERM qəbul etdikdən sonra xidmət hansı prosesləri həyata keçirir?
Sizcə, highload harada başlayır? Highload və non-highload arasındakı sərhəd nədir?
Xidmətiniz çox sayda goroutine yaradır. Eyni vaxtda işləyən goroutineların sayını necə məhdudlaşdırardınız?
Sizin xidmətiniz digər xidmətlər tərəfindən istifadə olunan API idi. Redis-də zənginləşdirmə üçün məlumatlar saxlayırdınız — niyə hər sorğuda kataloq xidmətinə (anbarlar və s. haqqında) müraciət etmirdiniz?
Sistem çağırışı (syscall) nədir?
Go layihələri haqqında daha ətraflı məlumat verin
Aşa aşağıdakilerden hangisi, ek kontrol olmadan çok büyük sayıda goroutine (örneğin, on binlerce) başlatmaya çalışırken en olası olanıdır? - Ana sorun, çalışma zamanı içindeki küresel mutex'in kilitlenmesinden kaynaklanacak ve bu, programın tamamen durmasına neden olacaktır - Go planlayıcısı, goroutine'leri küçük gruplar halinde sıralı olarak çalıştıracak, bu nedenle sayılarının artması bellek kullanımını neredeyse etkilemeyecektir - Çok sayıda goroutine oluşturmak, önemli ölçüde bellek kullanımı ve planlayıcı üzerinde ek maliyetlere yol açabilir; bu durumlarda bir işçi havuzu uygundur - Goroutine sayısı, mantıksal işlemci sayısını aşarsa, Go otomatik olarak yeni goroutine başlatmalarını panik ile reddedecektir
Kubernetes haqqında danış — bu nədir, Docker-dan necə fərqlənir, əsas tərkib hissələri hansılardır?