Golang
¿Estás en Moscú?
¿Por qué se añadió el servicio de verificaciones antifraude a la zona de responsabilidad del candidato?
¿Cuántos microservicios tienes en tu trabajo actual y con cuáles trabajas directamente?
¿Qué piensas, cuál es el problema con la solución en memoria? ¿Qué pasará si reinicias el servicio?
¿Cuándo es necesario eliminar los índices? ¿Qué es la desnormalización?
¿Para qué sirven en realidad los buckets en una tabla hash/mapa? ¿Cuál es su función?
¿Significa esto que todo terminará después de este tiempo de espera? Es decir, ¿puede algo no funcionar todavía? ¿Cuál es el problema aquí?
Describa el proceso de carga del servidor Linux desde el inicio hasta la ejecución del terminal
Carga máxima: 25k lecturas / 5k escrituras por segundo Volumen de nuevos datos: 10 TB al año Paralelismo máximo: 120k solicitudes simultáneas Crecimiento anual de usuarios: 30% Latencia p99 objetivo: <150 ms para lecturas, <400 ms para escrituras Disponibilidad objetivo: 99.95% Su tarea es desarrollar una solución arquitectónica que elimine los problemas actuales, garantice coherencia y tolerancia a fallos, y también implemente mecanismos de trazabilidad para una monitorización completa del ciclo de vida del pedido. Describa el mecanismo de manejo de fallos, el plan de migración desde la arquitectura actual, y explique cómo la solución propuesta mejorará la fiabilidad y la transparencia del sistema.
¿Qué son los canales en Go y cuáles son sus tipos?
¿Existe alguna forma de gestionar y ajustar el recolector de basura stop-the-world en Go?
// tabla productos: // ID | cnt_view // ----------- // 1 | 100 // dos usuarios comenzaron a ver el producto con id = 1 al mismo tiempo // y en nuestra base de datos se lanzaron 2 transacciones en paralelo // ¿cuál será el resultado? postgresql func IncrementView(ctx context.Context, db *sql.DB, id int64) error { tx, err := db.BeginTx(ctx, nil) if err != nil { return err } defer tx.Rollback() var cnt int err = tx.QueryRowContext(ctx, "SELECT cnt_view FROM goods WHERE id = $1", id, ).Scan(&cnt) if err != nil { return err } cnt++ _, err = tx.ExecContext(ctx, "UPDATE goods SET cnt_view = $1 WHERE id = $2", cnt, id, ) if err != nil { return err } return tx.Commit() }
¿Alguna vez ha tenido que abordar tareas de arquitectura? ¿Cómo se tomaron las decisiones arquitectónicas?
¿Por qué necesitamos interrumpir el contexto en la estructura? ¿Por qué terminar los trabajadores? Queremos interrumpir el método Stop.
¿Por qué estás buscando un nuevo trabajo ahora? ¿Qué no te gusta de tu puesto actual?
¿A dónde van las goroutines al crearse: a la cola local o a la cola global del planificador de Go?
¿Cómo realizaste la escalabilidad de los consumidores de Kafka? ¿Por qué criterios?
¿Cómo afectan los tiempos de espera a la reducción de la carga en la analítica?
¿Cuál fue el proyecto en la empresa? ¿Qué microservicio había allí?
Índices en PostgreSQL: ¿qué son, qué tipos conoces, en qué se diferencia B-tree de Hash?