¿Qué hacías con los mensajes no válidos después del procesamiento manual? ¿Cómo se veía esto técnicamente?
Golang
Cuéntame sobre el procesamiento competitivo: cómo se limitó el paralelismo, cómo se seleccionaron los parámetros mediante mediciones?
¿Qué ocurrirá si se realizan operaciones matemáticas adicionales con un resultado desbordado de int32: habrá un error, pánico u otra cosa?
¿Qué hay en el paquete sync?
¿Sigues trabajando en Magnit? ¿Por qué decidiste salir al mercado?
Habla sobre CTE — WITH, subconsultas que se superponen entre sí.
Cuéntame sobre Kubernetes — ¿qué hiciste con el clúster?
¿En qué se diferencia SQL de NoSQL?
¿Hiciste tablas históricas, por ejemplo, para el usuario donde se almacena el historial de cambios de sus atributos?
¿Sigues trabajando en Magnit? ¿Por qué decidiste salir al mercado?
¿Cómo optimizaste las consultas de 10-20 minutos a 5-7? ¿Qué informes se ejecutaban tan lentamente?
¿Cuando no podemos captar el pánico, la aplicación se cerrará de todos modos?
¿Alguna vez ha tenido que establecer explícitamente el nivel de aislamiento en el código?
¿Había muchos de esos mensajes no válidos?
// Pregunta 5. ¿Qué mostrará en la pantalla func main() { ch := make(chan int, 5) for i := 1; i <= 5; i++ { ch <- i } for true { fmt.Println(<-ch) } }
// Pregunta 2. ¿Qué mostrará en la pantalla package main import "fmt" func main() { { defer fmt.Println(1) } defer fmt.Println(2) }
// Pregunta 3. ¿Qué mostrará en la pantalla package main import "fmt" import "math" func main() { i := int32(math.Pow(2, 64)) - 1 fmt.Println(i) }
¿Qué se hizo con los mensajes después del procesamiento manual? ¿Cuáles fueron las opciones?
¿Dónde es necesario definir recover para que, en caso de pánico, la aplicación no se caiga, considerando que tiene múltiples endpoints, muchas dependencias (base de datos, caché, bibliotecas)?
¿Qué ocurría en el primer canal de sincronización? ¿Es algún modelo de datos en base al cual se enriquecían de alguna manera?