Golang
Mimarlıkla çalıştınız mı? Birkaç mimari çözüm anlatın
İşaretçi hem yığıt hem de yığın üzerinde gösterebilir mi?
Bir analistiniz mi vardı, yani bir brief'e göre mi çalışıyordunuz? Bu nasıl görünüyordu?
Ofis/hibrid çalışma formatı sizin için ne kadar kabul edilebilir olurdu? (ofis [lokasyon] arasında)
Load Balancer + API Gateway kombinasyonu neden gerekir? Her bileşenin rolü nedir?
Projede verilerin tutarlılığı nasıl sağlanıyor?
5 trilyon goroutine başlatılırsa ne olur? Nasıl optimize edilir?
Kendini orta seviye mi yoksa kıdemli geliştirici mi olarak konumlandırıyorsun?
Go'da bağlam aracılığıyla varlık geçirmede hangi dezavantajlar vardır?
Konteynerleştirme ile sanallaştırma arasındaki farkı açıklayın
Tüketim kaynaklarının (CPU vb.) artışından dolayı bozulmanın gerçekleştiğini nasıl anlayabiliriz?
Arayüzü nerede tanımlamak daha iyidir — uygulama yerinde mi yoksa kullanım yerinde mi?
Sıfırdan mimari tasarladınız mı, sistem tasarımıyla çalıştınız mı?
Dilimin oluşturulmasında başlangıç kapasitesi geçirilirse ne değişir?
Yıllardır yazılmış kodların olduğu, çok fazla eski kodun bulunduğu, testlerin olmadığı ve her şeyin neredeyse çökmekte olduğu bir projeye geldiğinde, işe nereden başlarsın?
Docker ve Kubernetes ile çalışma deneyiminizden bahsedin: ne yapmak zorunda kaldınız?
Neden başka bir şey arıyorsunuz? Belirli bir neden var mı?
Go'da hangi goroutine senkronizasyon primitivleri vardır?
Servise gelenen belge güncellemeleri message Document { string Url = 1; // Belgenin URL'si, benzersiz tanımlayıcısı uint64 PubDate = 2; // belgenin bildirilen yayınlama zamanı uint64 FetchTime = 3; // bu belge güncellemesinin alınma zamanı, sürüm tanımlayıcısı olarak düşünülebilir. Çift (Url, FetchTime) benzersizdir. string Text = 4; // belgenin metni uint64 FirstFetchTime = 5; // başlangıçta yok, doldurulmalı } Belgeler herhangi bir sırayla gelebilir (güncellemelerin yapıldığı sırayla değil), ayrıca mesaj tekrarları da olabilir. Çıkışta, aynı mesajlar oluşturmak gerekiyor, ancak aşağıdaki kurallara göre düzeltilmiş alanlarla (aşağıda belirtilenler, aynı Url alanına sahip belge grubu için geçerlidir): Text ve FetchTime alanları, şu ana kadar alınan en büyük FetchTime'a sahip belgeyle aynı olmalı. PubDate alanı, en küçük FetchTime'a sahip mesajla aynı olmalı. FirstFetchTime alanı, en küçük FetchTime değerine eşit olmalı. Yani, her zaman, FetchTime'a göre sıralanmış ilk versiyondan alınan PubDate ve FirstFetchTime, ve en son versiyondan alınan Text kullanılır. Kodda bu arayüz şu şekilde uygulanabilir: type Processor interface { Process(doc *Document) (*Document, error) } Bu kod, mesajları bir kuyruktan (Kafka veya benzeri) okuyan ve sonucu da kuyrukta yazan bir serviste çalışacaktır. Eğer Process null dönerse, kuyrukta hiçbir şey yazılmaz.
İş ilanımızda sizi özellikle ne ilgilendirdi?