Sobes.tech

Golang

¿Qué te motiva ahora a buscar un nuevo trabajo?

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

¿Qué es un slice en Go? ¿En qué se diferencian len y cap?

Middle+
А7
64

Normalización y desnormalización de tablas — cuéntame sobre las formas normales

Senior
Cloud.ru
64

¿Los centros de datos eran copias completas entre sí, o se complementaban? ¿Simplemente enrutabas el tráfico entre ellos?

Middle
Aliexpress
64

¿Qué volúmenes de datos entraron en ClickHouse?

Senior
OZONOZON
64

¿Tiene experiencia trabajando con Docker? ¿Tiene experiencia escribiendo Dockerfile por su cuenta?

Middle+
МТСМТС
64

¿Es cierto que el índice B-tree en PostgreSQL tiende a expandirse en ancho?

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

// GetUsersList devuelve una lista de usuarios. (en la base de datos almacenamos aproximadamente 1 millón de usuarios) // Se usa para mostrar la lista de usuarios en el panel de administración. Si isActive = true, solo se devuelven los usuarios activos. 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("error al obtener la lista de usuarios") } var users []User // Rellenar información sobre los usuarios. for rows.Next() { var user User err := rows.Scan(&user.ID, &user.Name, &user.Phone) if err != nil { return nil, err } // Obtener la lista de correos electrónicos del usuario err, err := u.DB.QueryContext(ctx, "SELECT email FROM user_emails WHERE user_id = ?", user.ID) if err != nil { return nil, errors.New("error al obtener la lista de usuarios") } 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 { emails[i] = strings.ToLower(e) } } user.Emails = emails // Obtener información del perfil desde la API de VKontakte profile, err := getUserProfileFromVkApiByUserPhone(user.Phone) if err != nil { return nil, errors.New("error al obtener la lista de usuarios") } user.Profile = profile users = append(users, user) } if err = rows.Err(); err != nil { return nil, errors.New("error al obtener la lista de usuarios") } }

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

¿Es correcto que vayamos directamente del servicio de pedidos al servicio de pago?

Senior
Магнит Тех
64

Cuéntame sobre el procesamiento competitivo: tienes un apartado dedicado a esto. ¿Cómo limitaban la paralelización? ¿Cuántas conexiones a PostgreSQL había?

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

¿Hace que nuestro servicio de pago webhook sea con estado?

Senior
Магнит Тех
64

Explique la diferencia entre LIFO y FIFO usando un ejemplo de pila y cola.

Senior
Алабуга
64

¿Quién realiza la traducción de direcciones virtuales a físicas?

Middle
Graveling
64

¿Para qué usaste mutex? ¿Cómo ves la condición de carrera aquí y por qué el mapa es inseguro para los hilos?

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

¿Cómo se filtraban los duplicados? ¿No se podía identificar un duplicado por ID? ¿Por qué enriquecer los datos desde Redis?

Senior
OkkoOkko
64

¿[nombre] ha tenido experiencia en la operación de servicios — trabajando con Kubernetes, Linux, etc.?

Middle+
VK CloudVK Cloud
64

Enumere los principales tipos de datos en Go

Senior
amoCRMamoCRM
64

¿Qué es rune en Go?

Senior
техвил
64

¿Qué problemas surgen en la interacción multihilo y cómo se resuelven?

Senior
YadroYadro
64

¿Qué más había en el microservicio además del procesamiento asíncrono?

Senior
Lenta Tech
64
/412