Sobes.tech

Golang

Ce te motivează acum să cauți un nou loc de muncă?

Senior
Ozon ФинтехOzon Финтех
64

Ce este un slice în Go? În ce constă diferența dintre len și cap?

Middle+
А7
64

Normalizarea și denormalizarea tabelelor — vorbește-mi despre formele normale

Senior
Cloud.ru
64

Centrele de date erau copii complete între ele sau se completau? Pur și simplu rutai traficul între ele?

Middle
Aliexpress
64

Ce volume de date au intrat în ClickHouse?

Senior
OZONOZON
64

Aveți experiență cu Docker? Aveți experiență în scrierea Dockerfile-urilor de unul singur?

Middle+
МТСМТС
64

Este adevărat că indexul B-tree din PostgreSQL tinde să se extindă în lățime?

Senior
Лига Цифровой ЭкономикиЛига Цифровой Экономики
64

// GetUsersList returnează o listă de utilizatori. (în baza de date stocăm aproximativ 1 milion de utilizatori) // Este folosit pentru afișarea listei de utilizatori în panoul de administrare. Dacă isActive = true, se returnează doar utilizatorii activi. 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("eroare la obținerea listei de utilizatori") } var users []User // Completați informațiile despre utilizatori. for rows.Next() { var user User err := rows.Scan(&user.ID, &user.Name, &user.Phone) if err != nil { return nil, err } // Obțineți lista de e-mailuri ale utilizatorului err, err := u.DB.QueryContext(ctx, "SELECT email FROM user_emails WHERE user_id = ?", user.ID) if err != nil { return nil, errors.New("eroare la obținerea listei de utilizatori") } 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 // Obțineți informațiile despre profil din API-ul VKontakte profile, err := getUserProfileFromVkApiByUserPhone(user.Phone) if err != nil { return nil, errors.New("eroare la obținerea listei de utilizatori") } user.Profile = profile users = append(users, user) } if err = rows.Err(); err != nil { return nil, errors.New("eroare la obținerea listei de utilizatori") } }

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

Este normal să trecem direct de la serviciul de comandă la serviciul de plată?

Senior
Магнит Тех
64

Vorbește despre procesarea concurentă — ai un punct separat despre asta. Cum au limitat paralelismul? Câte conexiuni erau la PostgreSQL?

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

Serviciul nostru de webhook de plată este cu stare?

Senior
Магнит Тех
64

Explica diferența dintre LIFO și FIFO folosind un exemplu de stivă și coadă.

Senior
Алабуга
64

Cine realizează traducerea adreselor virtuale în adrese fizice?

Middle
Graveling
64

De ce ai folosit mutex? Cum vezi condiția de cursă aici și de ce mapa nu este sigură pentru fire de execuție?

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

Cum au fost eliminate duplicatele? Nu se putea identifica un duplicat după ID? De ce să îmbogățești datele din Redis?

Senior
OkkoOkko
64

[nume] are experiență în operarea serviciilor — lucrul cu Kubernetes, Linux etc.?

Middle+
VK CloudVK Cloud
64

Enumerați principalele tipuri de date în Go

Senior
amoCRMamoCRM
64

Ce este un rune în Go?

Senior
техвил
64

Ce probleme apar apariția interacțiunii multi-thread și cum se rezolvă?

Senior
YadroYadro
64

Ce altceva era în microserviciu în afară de procesarea asincronă?

Senior
Lenta Tech
64
/412