Golang
¿Qué tipo de equipo te gustaría ver en el nuevo lugar? ¿Tienes preferencias en la composición, roles?
¿Qué primitivas de sincronización existen en Go? ¿Qué mutex sería mejor en este caso?
Cuéntame sobre tu mayor fracaso en el trabajo. ¿Qué aprendiste de ello?
¿Cómo lograr intencionadamente una fuga de memoria en Go? ¿Qué casos conducen a fugas?
¿Dónde vives ahora?
¿Cómo ves tu desarrollo técnico? ¿Qué quieres aprender?
¿Puedes dar un ejemplo de función hash?
¿Qué te gustaría ver en el equipo y en el proyecto para quedarte y crecer?
¿Para qué sirven en realidad las interfaces? ¿Por qué no usar simplemente estructuras?
¿Se realizó alguna prueba de carga en su servicio?
¿Qué esperas de un nuevo lugar de trabajo?
¿En qué se diferencia el sharding de la partición?
func fanin[T cualquier](chs ...<-chan T) chan T { out := make(chan T) wg := sync.WaitGroup{} for _, ch := range chs { wg.Add(1) go func(c <-chan T) { defer wg.Done() for v := range c { out <- v } }(ch) } go func() { wg.Wait() close(out) }() return out } func main() { ch1 := make(chan int, 5) ch2 := make(chan int, 5) for i := 1; i <= 5; i++ { ch1 <- i ch2 <- i * 2 } close(ch1) close(ch2) fmt.Println(fanin(ch1, ch2)) }
¿Qué es la alineación de estructuras en Go? ¿Cómo optimizar los campos de la estructura en memoria?
¿Qué es el contexto en Go y para qué sirve?
¿Actualmente estás trabajando o ya dejaste tu último empleo?
¿Cómo se puede acelerar el algoritmo de filtrado de grafos con un gran número de vértices y eventos?
¿Qué se utilizó para evaluar el rendimiento y el perfilado? ¿Se utilizó el perfilado estándar pprof en Go?
¿Cómo trabajaban con los errores en producción? Los servicios en Kubernetes — si algo no funcionaba, ¿cómo lo resolvían?
¿Qué mostrará el código al ejecutarse? package main import "fmt" type Counter struct { val int } func (c Counter) IncVal() { c.val++ } func (c *Counter) IncPtr() { c.val++ } func main() { c := Counter{val: 1} c.IncVal() fmt.Print(c.val, " ") c.IncPtr() fmt.Print(c.val) }