Sobes.tech

Golang

Ispričaj mi o mapi u Go: kako je strukturirana, kakva je složenost operacija u proseku i u najgorem slučaju.

Middle
ООО Левел Тревел
59

Napišite funkciju koja proverava da li je niz palindrom. - Palindrom je niz karaktera koji se čita isto s obe strane. - Treba proveriti samo karaktere azbuke a-zA-Zа-А-я, bez obzira na veličinu slova.

Middle
VKVK
59

U kom redosledu operator select čita iz više kanala?

Middle+
ТБанк
59

Koji je razlog tvog odlaska iz prethodne kompanije?

Middle+
Гоуланг
59

Šta će se desiti sa Token Bucket limiterom u scenariju: 1 zahtev na početku sekunde, 99 na kraju, a zatim još 100 u sledećoj sekundi?

Senior
Холодильник.руХолодильник.ру
59

Реците о вашем тренутном месту рада и услузи enrichment — шта је ова услуга, која је њена одговорност?

Senior
А7
59

Kako su rešavani?

Senior
Холодильник.руХолодильник.ру
59

Kako ste odlučili na koje delove da podelite monolit?

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

// GetUsersList vraća popis korisnika. (u bazi podataka pohranjujemo otprilike 1 milijun korisnika) // Koristi se za prikaz popisa korisnika u administracijskom panelu. Ako je isActive = true, vraćaju se samo aktivni korisnici. 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("greška pri dohvaćanju popisa korisnika") } var users []User // Popunite informacije o korisnicima. for rows.Next() { var user User err := rows.Scan(&user.ID, &user.Name, &user.Phone) if err != nil { return nil, err } // Dohvatite popis e-mailova korisnika err, err := u.DB.QueryContext(ctx, "SELECT email FROM user_emails WHERE user_id = ?", user.ID) if err != nil { return nil, errors.New("greška pri dohvaćanju popisa korisnika") } 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 // Dohvatite profilne informacije iz VK API-ja profile, err := getUserProfileFromVkApiByUserPhone(user.Phone) if err != nil { return nil, errors.New("greška pri dohvaćanju popisa korisnika") } user.Profile = profile users = append(users, user) } if err = rows.Err(); err != nil { return nil, errors.New("greška pri dohvaćanju popisa korisnika") } }

Middle
СитиДрайвСитиДрайв
59

Koliko dugo tražiš? Da li već imaš ponude u rukama?

Senior
Spectr
59

Koja je razlika između HTTP i HTTPS?

Senior
AvitoAvito
59

Zašto su u sync/atomic potrebni poravnati pokazivači?

Middle
Еаптека
59

Koliko majstora može biti u replikaciji?

Senior
Small
59

Читања су се одржавала са мајстором, са репликом или како су се распоређивала?

Senior
WildberriesWildberries
59

Kako se odvija proces registracije prihoda samozaposlenih?

Middle+
МВидео/эльдорадо
59

Šta će biti prikazano pri pokretanju programa: 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) // Simulacija rada }() } wg.Wait() fmt.Println(len(counter)) }

Senior
OZONOZON
59

Kako se skalira Kafka?

Senior
I-teco
59

Ispričajte mi o sebi, svom iskustvu i projektima

Senior
СБЕРСБЕР
59

Реците ми о реду приоритета

Middle
VKVK
59

[ime] je pitao: čuvajući poziciju elementa manju od X, koja će biti pozicija?

Senior
Яндекс
59
/412