Golang
Bir dizenin palindrom olup olmadığını kontrol eden bir fonksiyon yazın. - Palindrom, her iki yönde de aynı şekilde okunan karakter dizisidir. - Sadece a-zA-Zа-А-я harfleri dikkate alınmalı, büyük/küçük harf duyarlılığı göz önünde bulundurulmamalıdır.
Select operatörü birkaç kanaldan nasıl okuma yapar?
Önceki şirketten ayrılma nedeniniz nedir?
Senaryo: Bir saniyenin başında 1 istek, sonunda 99 ve ardından bir sonraki saniyede 100 istek olursa, Token Bucket hız sınırlayıcıyla ne olur?
Mevcut iş yeriniz ve enrichment hizmeti hakkında bilgi verin — bu hizmet nedir, görevi nedir?
Nasıl çözülüyorlardı?
Monolit'i hangi parçalara ayırmaya karar verdiniz?
// GetUsersList, kullanıcıların bir listesini döndürür. (Veritabanında yaklaşık 1 milyon kullanıcı saklıyoruz) // Yönetici panelinde kullanıcı listesini göstermek için kullanılır. Eğer isActive = true ise, sadece aktif kullanıcılar döndürülür. func (u *UsersRepo) GetUsersList(ctx context.Context, isActive bool) ([]User, error) { rows, err := u.DB.Query("SELECT id, name, phone FROM users WHERE is_active = ?", isActive) if err != nil { return nil, errors.New("kullanıcı listesi alınırken hata") } var users []User // Kullanıcılar hakkında bilgileri doldurun. for rows.Next() { var user User err := rows.Scan(&user.ID, &user.Name, &user.Phone) if err != nil { return nil, err } // Kullanıcının e-posta listesini alın err, err := u.DB.QueryContext(ctx, "SELECT email FROM user_emails WHERE user_id = ?", user.ID) if err != nil { return nil, errors.New("kullanıcı listesi alınırken hata") } var emails []string for er.Next() { var email string err := rows.Scan(&email) if err != nil { return nil, err } emails = append(emails, email) } if len(emails) != 0 { for i, e := range emails { e = strings.ToLower(e) emails[i] = e } } user.Emails = emails // VK API'den profil bilgisi alın profile, err := getUserProfileFromVkApiByUserPhone(user.Phone) if err != nil { return nil, errors.New("kullanıcı listesi alınırken hata") } user.Profile = profile users = append(users, user) } if err = rows.Err(); err != nil { return nil, errors.New("kullanıcı listesi alınırken hata") } }
İşe alım sürecine ne zaman başladınız? Zaten teklifleri aldınız mı?
HTTP ve HTTPS arasındaki fark nedir?
sync/atomic'de neden hizalanmış işaretçiler gereklidir?
Replikasyonda kaç tane master olabilir?
Okumalar usta ile mi yapılıyordu, replik ile mi yoksa nasıl dağıtılıyordu?
Serbest çalışanların gelir kaydı süreci nasıl gerçekleşir?
Program çalıştırıldığında ne gösterilir: func main() { counter := make([]int, 0, 1000) var wg sync.WaitGroup for i := 0; i < 1000; i++ { wg.Add(1) go func() { defer wg.Done() counter = append(counter, i) time.Sleep(10 * time.Millisecond) // İşlem simülasyonu }() } wg.Wait() fmt.Println(len(counter)) }
Kafka nasıl ölçeklenir?
Kendiniz, deneyimleriniz ve projeleriniz hakkında bana bilgi verin
Öncelikli kuyruk hakkında bilgi verin
[isim] sordu: X'ten küçük bir öğenin konumu korunursa, konum ne olur?
Go ile ne kadar süredir çalışıyorsunuz? Önceki işinizde PHP ve Go'yu birleştiriyordunuz — bu nasıl gerçekleşiyordu?