Sobes.tech

Golang

// 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
СитиДрайвСитиДрайв
62

¿Cuál es la diferencia entre HTTP y HTTPS?

Senior
AvitoAvito
62

¿Por qué es posible ejecutar varios entornos aislados en una sola máquina local (Docker/contenerización)?

Senior
Базис
62

¿Qué es una transacción en una base de datos?

Middle+
Magnit Tech
62

¿Las lecturas se realizaban con el maestro, con la réplica o cómo se distribuían?

Senior
WildberriesWildberries
62

¿Qué sucede si se pasa un slice como argumento a una función y se modifica dentro de ella?

Senior
Магнит Тех
62

Cuéntame sobre las transacciones en PostgreSQL. ¿Qué son ACID y los niveles de aislamiento?

Middle
АО Медиа Эффект
62

Cuéntame sobre las cargas y casos interesantes relacionados con la optimización bajo carga.

Senior
Hi Rockits
62

¿Qué es importante para ti al elegir un nuevo lugar de trabajo?

Senior
AltDev
62

¿Cómo trabajaste con Kubernetes? ¿Qué hiciste?

Senior
МВидеоМВидео
62

Eres escritor, gestionas tu mini blog y publicas artículos allí. Los usuarios (lectores) de tu blog, después de autenticarse, pueden ver/leerlos. Es necesario implementar una funcionalidad para contar las vistas únicas por día para cada artículo. Requisitos funcionales: - Estadísticas del día actual: El autor puede ver cuántos usuarios únicos han visto su artículo hoy (los datos se acumulan en tiempo real). - Estadísticas de días anteriores: El autor puede ver las estadísticas de cualquier día pasado (por ejemplo, ayer). Restricciones técnicas y condiciones: - La aplicación funciona en un solo servidor (un pod) - Almacenamiento en memoria - Tiempo en UTC0

Senior
А7
62

¿Por qué criterios elegirás un nuevo lugar de trabajo si tienes varias ofertas?

Senior
Займиго
62

¿Por qué se elige Kafka en los proyectos y por qué RabbitMQ? ¿En qué se basan al elegir un corredor de mensajes?

Senior
Senior Soft
62

¿Qué tan activo estás en la búsqueda en este momento y por qué estás considerando ofertas?

Middle
VKVK
62

Cuéntame sobre la gestión de incidentes en tu equipo: ¿cómo está organizado el proceso, hay un reglamento de turnos?

Middle+
OZONOZON
62

¿Quizás ya han surgido preguntas, [nombre]? (sobre la empresa)

Middle
Stroki
62

¿Hubo ocasiones en las que tuviste que defender una idea o función ante el producto o los analistas?

Senior
Суточно.руСуточно.ру
62

La búsqueda binaria y la búsqueda en árboles tienen la misma complejidad logarítmica. ¿Por qué necesitamos varios algoritmos con la misma complejidad algorítmica? ¿Siempre es recomendable usar un árbol en lugar de búsqueda binaria?

Middle
VKVK
62

¿Cómo se realizó la prueba de carga y qué métricas se observaron?

Senior
Cloud.ru
62

Proporcione un ejemplo en el que no estuvo de acuerdo con una decisión técnica del equipo. ¿Cómo manejó la situación después de que se tomó la decisión?

Senior
Shopfully
62
/412