Golang
¿Qué tipos de índices existen en PostgreSQL y cuál es el más común?
¿Qué se mostrará? ```go package main import ( "fmt" "runtime" ) func main() { runtime.GOMAXPROCS(1) done := false go func() { done = true }() for !done { } fmt.Println("finished") } ```
¿Qué brokers de mensajes ha utilizado?
[nombre] preguntó: cuéntame sobre la arquitectura basada en eventos.
¿En qué tipo de multitarea es posible un Livelock? ¿Qué tipos de multitarea conoces?
¿Qué se puede hacer con un slice nil y qué no?
¿Cómo procesa el sistema un evento de entrega de mercancía que llega sin todos los datos necesarios?
¿Cómo manejar eventos webhook duplicados si el servicio emisor no garantiza la unicidad?
¿Cuáles son sus expectativas financieras? Indique el nivel mínimo y el nivel cómodo.
// Pregunta 2. ¿Qué mostrará en la pantalla package main import "fmt" func main() { { defer fmt.Println(1) } defer fmt.Println(2) }
```go func fail() { panic("¡Fallar!") } func main() { fmt.Println("¡Inicio!") var wg sync.WaitGroup wg.Add(1) go func() { defer func() { if e := recover(); e != nil { fmt.Println(e) } }() fail() wg.Done() }() wg.Wait() fmt.Println("¡Fin!") } ```
Tarea práctica: el binario 2.1.out no se ejecuta. Es necesario averiguar por qué, usando solo la terminal y el propio binario.
paquete principal función unPaso(yield func() bool) { yield() } func f() { para rango unPaso { imprimir("f ") recover() } } func g() { para rango 1 { imprimir("g ") recover() } } func checkPanic(loop func(), c chan<- struct{}) { defer func() { println(recover() != nil) c <- struct{}{} }() defer loop() panic(123) } func main() { c := make(chan struct{}, 1) go checkPanic(f, c) <-c go checkPanic(g, c) <-c }
¿Qué tipos de Mutex hay en Go?
¿Qué son ld, rd := 1<<62, 1<<62 en el contexto del algoritmo?
Cuéntame más sobre WaitGroup: ¿para qué se usa, qué métodos tiene?
¿Qué es una API y para qué sirve en las integraciones del sistema?
¿Dónde terminan los contextos en este código?
Si tienes 100,000 clientes simultáneos conectados a través de WebSocket al GameServer, ¿qué problemas surgirían? ¿Cómo escalarías tal sistema?
¿Cómo estructurar correctamente la arquitectura del servicio: dónde almacenar los comandos, las entidades de dominio, los errores?