Golang
¿Qué tan preparado estás para reubicarse en Chipre? ¿Cómo investigaste la vida allí?
¿Sigues en contacto con otras empresas? ¿Ya tienes ofertas?
Cuéntame sobre tu rol y la composición del equipo en el proyecto actual en Sovcombank.
¿Puede describir brevemente de qué servicios constaba el sistema y cómo se comunicaban entre sí?
¿Cómo está estructurado la interfaz en Go?
Hablemos de réplicas y particionamiento: ¿para qué sirven?
¿Qué te motiva en el trabajo?
¿Tienes actualmente prioridades o planes de desarrollo?
var defaultTxOptions = &sql.TxOptions{} const defaultCurrency = "RUB" func CreateUserWithDefaultCurrency(ctx context.Context, db *sql.DB, email, passwordHash string) error { tx, err := db.BeginTx(ctx, defaultTxOptions) if err != nil { return err } defer func() { if err != nil{ tx.Rollback() } }() _, err = tx.Exec("INSERT INTO users (email, password) VALUES (?, ?)", email, passwordHash) if err != nil { return err } rows, err := tx.Query("SELECT id FROM users WHERE email = ?", email) if err != nil { return err } defer rows.Close() id := 0 for rows.Next() { err = rows.Scan(&id) if err != nil { return err } } _, err = tx.Exec("INSERT INTO balances (user_id, currency, current_balance) VALUES (?, ?, 0)", id, defaultCurrency) if err != nil { return err } return tx.Commit() }
¿Qué es la idempotencia? Hay bases NoSQL: ¿cuáles son sus diferencias y cuándo elegir cada una?
¿Cuáles son las diferencias entre un desarrollador y un desarrollador senior? ¿Qué responsabilidades adicionales tiene?
¿Cómo garantizar la ausencia de duplicados al cambiar entre máquinas (una se degrada, la otra toma el relevo)?
¿Con qué versión de PostgreSQL has trabajado?
¿Qué niveles de aislamiento de transacciones conoces?
¿Llevas casi tres años trabajando, cómo te sientes dentro del equipo?
¿Para qué sirve UDP sobre IP si no proporciona garantías de entrega?
/* Eres un 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: 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 pasados: 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 - Hora en UTC0 */
Cuéntame alguna tarea de ingeniería interesante en la que hayas trabajado, una difícil que puedas contarle a tus amigos.
¿Cada servicio tiene su propia base de datos o comparten una?
Debe describirse el modelo de la biblioteca. Hay 3 entidades: "Autor", "Libro", "Lector". Físicamente, solo hay un libro y solo puede estar con un lector. Es necesario crear tablas para la biblioteca que tengan esto en cuenta.