Sobes.tech

Golang

Mimarlıkla çalıştınız mı? Birkaç mimari çözüm anlatın

Senior
bip.ru
60

İşaretçi hem yığıt hem de yığın üzerinde gösterebilir mi?

Middle
VKVK
60

Bir analistiniz mi vardı, yani bir brief'e göre mi çalışıyordunuz? Bu nasıl görünüyordu?

Middle+
РамблерРамблер
60

Ofis/hibrid çalışma formatı sizin için ne kadar kabul edilebilir olurdu? (ofis [lokasyon] arasında)

Middle
РедСофт
60

Load Balancer + API Gateway kombinasyonu neden gerekir? Her bileşenin rolü nedir?

Senior
Hi Rockits
60

Projede verilerin tutarlılığı nasıl sağlanıyor?

Middle+
КуперКупер
60

5 trilyon goroutine başlatılırsa ne olur? Nasıl optimize edilir?

Senior
РамблерРамблер
60

Kendini orta seviye mi yoksa kıdemli geliştirici mi olarak konumlandırıyorsun?

Middle+
2gis2gis
60

Go'da bağlam aracılığıyla varlık geçirmede hangi dezavantajlar vardır?

Senior
RedLab
60

Konteynerleştirme ile sanallaştırma arasındaki farkı açıklayın

Senior
СБЕРСБЕР
60

Tüketim kaynaklarının (CPU vb.) artışından dolayı bozulmanın gerçekleştiğini nasıl anlayabiliriz?

Middle
WildberriesWildberries
60

Arayüzü nerede tanımlamak daha iyidir — uygulama yerinde mi yoksa kullanım yerinde mi?

Senior
Магнит Тех
60

Sıfırdan mimari tasarladınız mı, sistem tasarımıyla çalıştınız mı?

Middle+
Штрафов нет
60

Dilimin oluşturulmasında başlangıç kapasitesi geçirilirse ne değişir?

Senior
plata
60

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?

Senior
Napoleon IT
60

Docker ve Kubernetes ile çalışma deneyiminizden bahsedin: ne yapmak zorunda kaldınız?

Senior
А7
60

Neden başka bir şey arıyorsunuz? Belirli bir neden var mı?

Senior
Shopfully
60

Go'da hangi goroutine senkronizasyon primitivleri vardır?

Middle+
СБЕРСБЕР
60

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.

Senior
VKVK
60

İş ilanımızda sizi özellikle ne ilgilendirdi?

Senior
aic
60
/411