Golang
Neden [şirket]ten [şirket]e geçtiniz?
Deneyiminiz hakkında daha fazla bilgi verin: Proje neydi ve sorumluluklarınız nelerdi?
Hangi kriterlere göre şirketleri seçiyorsun, neye göre odaklanıyorsun?
Ön belleğe konmaması gereken veriler nelerdir?
Bir dilimi fonksiyon parametresi olarak geçirebilir miyiz?
Veritabanları hakkında anlat — hangi veritabanlarıyla çalıştın ve şu anda hangi veritabanlarıyla çalışıyorsun?
Yavaş hizmetle ilgili soru Sipariş oluşturma örneği üzerinden. Hizmete bir istek var ve bir yanıt, bu iki işlem arasında sipariş edilen ürünleri analizlere kaydediyoruz (örneğin, ürünlerin popülerliğini saymak için). Analitik hizmeti zaman zaman yavaş çalışıyor veya timeout veriyor ve zamanında yanıt veremiyoruz, siparişleri kaybediyoruz. Siparişleri ve parayı kaybetmemek için ne yapmak gerekir? Sipariş ve analitiği nasıl paralelleştirebileceğinizi düşünün.
Bir durum hayal edin: ekibinizde sürekli sizinle uğraşan bir testçiyle ortak nokta bulamıyorsunuz. Nasıl iletişim kurarsınız?
Mesaj aracıları nedir? Hangi tanıyorsunuz? RabbitMQ ile Kafka arasındaki fark nedir?
Kafka'dan vazgeçilip başka bir mesaj aracısı kullanılması gerekirse ne olur? Kafka'yı dış servislerden nasıl izole edersiniz?
Yayın süreci nasıl işler? Son yayını sizin katılımınızla nasıl geçti?
Kubernetes'ta REST API sunucusunun (kod deposu) çalışmaya başlaması için ne yapılmalı?
Graceful shutdown hakkında anlat: bu nedir, sırasında ne olur, nasıl çağrılır? Kubernetes'te SIGTERM aldıktan sonra servis hangi süreçleri gerçekleştirir?
Sizce highload nerede başlar? Highload ile non-highload arasındaki sınır nedir?
Bir hizmetiniz çok sayıda goroutine oluşturuyor. Aynı anda çalışan goroutine sayısını nasıl sınırlandırırsınız?
Servisiniz, diğer servislerin kullandığı bir API idi. Redis'te zenginleştirme için veriler saklıyordunuz — neden her istekte katalog hizmetine (depolar vb. hakkında) gitmiyordunuz?
Sistem çağrısı (syscall) nedir?
Go projeleri hakkında daha fazla bilgi verin
Çok büyük sayıda goroutine (örneğin, on binlerce) ek kontrol olmadan başlatmaya çalışırken aşağıdakilerden hangisi muhtemelen olur? - 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 hakkında konuş — nedir, Docker'dan nasıl ayrılır, temel bileşenleri nelerdir?