Golang
Önceki iş yerlerinizde ne yaptığınızı ve hangi özellikleri geliştirdiğinizi kısaca anlatın.
[]any ve delta int alan bir fonksiyon uygulayın. Sadece benzersiz sayıların (int) ilk girişlerini delta kadar artırmanız gerekiyor. Diğer türler ve tekrar eden sayılar değişmeden bırakılmalı. Fonksiyon, güncellenmiş liste ve 2 sayı döndürmelidir: updated – kaç benzersiz sayının değiştirildiği, duplicates – kaç sayısal öğenin tekrar olduğu func IncrementUniqueIntsInMixed(xs []any, delta int) ([]any, int, int) { // kodunuz } // Örnek: xs := []any{1, "a", 5, "b", 1, 0, 5} u, d, s := IncrementUniqueIntsInMixed(xs, 3) // xs == []any{4, "a", 8, "b", 1, 3, 5} // u == 3 // benzersiz sayılar: 1, 5, 0 // d == 2 // tekrar eden sayılar: ikinci 1, ikinci 5
Çakışmalar durumunda map ile işlemlerin en kötü durumda karmaşıklığı nedir?
Transactional Outbox deseninden bahsedin — nasıl çalışır ve ne amaçla kullanılır?
[Şirket] içinde ne yapıyorsunuz? Hangi projede çalışıyorsunuz?
İlişkisel veritabanlarında sorgu optimizasyonu deneyiminiz var mı?
import "fmt" func maxDistants(arr []int) int { maxDist := 0 lastOne := -1 for i := 0; i < len(arr); i++ { if arr[i] == 1 { if lastOne == -1 { maxDist = i } else { dist := (i - lastOne) / 2 if dist > maxDist { maxDist = dist } } lastOne = i } } if arr[len(arr)-1] == 0 { dist := len(arr) - 1 - lastOne if dist > maxDist { maxDist = dist } } return maxDist } func main() { fmt.Println(maxDistants([]int{1, 0, 0, 0, 1})) }
Maaş beklentileriniz ve tercih ettiğiniz sunum formatı nedir?
Bir makinede kaç goroutine oluşturulabilir? Nasıl hesaplanır?
Arama senaryolarını nasıl optimize ettiniz?
// Ürünler hakkında bilgi almak için bir metodumuz var, bu metod çok sık çağrılıyor // Bu kodda sorunlar var mı ve nasıl düzeltebiliriz? postgress veritabanı func (r *ProductRepository) GetProductDetails(ctx context.Context, productIDs []int) []Product { products := make([]Product, 0, len(productIDs)) for _, id := range productIDs { go func(id int) { var p Product query := "SELECT name, price, description FROM products WHERE id = $1" err := r.db.QueryRowContext(ctx, query, id).Scan(&p.Name, &p.Price, &p.Desc) if err != nil { r.logger.Error("error get product", "err", err) return } products = append(products, p) }(id) } return products }
**Koşul** Birden fazla URL'ye yapılan istekler paralel olarak gerçekleştirilmelidir. HTTP durum kodlarını göstermek ve hataları işlemek.
Neden kendin için Go'yu seçtin?
Ticari deneyim açısından Go'da ne kadar süredir yazıyorsunuz?
Hangi konteynerleştirme ve orkestrasyon sistemlerini biliyorsunuz?
Tetikleyicileri ne kadar kullandınız, sadece hikayeyle ilgili durumda mı yoksa başka durumlar da oldu mu?
Kabul webhook'ları hangi sırayla çalıştırılır ve neden böyle?
Yığın ve yığın nedir?
JWT jetonu nedir? Yapısı nedir ve normal jetonlara göre avantajları nelerdir?
Tarayıcıya [web sitesi] yazdığınızda ne olur? Kullanılan protokolleri mümkün olduğunca detaylı anlat