P
prepair.app
Comenzar entrevista →
EnglishУкраїнськаРусскийDeutsch
🦫

Senior Go BackendPreguntas de entrevista Golang

Senior · 5+ años de experiencia

Las entrevistas de Go se enfocan en goroutines, channels, interfaces, y manejo de errores — el lenguaje es pequeño, así que las preguntas van a fondo en vez de ir a lo ancho. Aquí están las más comunes con respuestas modelo. Senior: arquitectura, trade-offs, mentoría y toma de decisiones.

Pruébalo — sin cuenta necesaria
Preparando tu pregunta…

Temas para prepararte

Goroutines y el scheduler
Channels y select
Interfaces y composición
Manejo de errores
Slices y maps
Context y cancelación

6 preguntas de nivel Senior con respuestas

1

¿Cómo limitarías la concurrencia al procesar una cola grande?

Respuesta

Un worker pool: un número fijo de goroutines leyendo un channel, así que el paralelismo es un número que elegiste en vez de uno que decidió el input. Un channel semáforo también funciona para control más fino. La falla a evitar es generar una goroutine por elemento — se ve elegante y tumba lo que sea que esté downstream, que usualmente es un pool de conexiones de base de datos.

2

¿Qué causa una fuga de memoria en un lenguaje con garbage collection como Go?

Respuesta

Una referencia que se mantiene alcanzable: un map que crece usado como caché sin eviction, una goroutine aparcada para siempre sosteniendo su stack, un slice de un array enorme manteniendo vivo todo el storage subyacente. Lo último sorprende a la gente — reslicing un buffer grande a tres bytes retiene todo hasta que copias.

3

¿Cómo perfilas un servicio Go que se puso más lento?

Respuesta

pprof sobre el proceso en ejecución en vez de suposiciones: perfil de CPU para dónde va el tiempo, perfil de heap para asignación, y el perfil de goroutines si huele a bloqueo. La asignación es el culpable frecuente en Go — reducir la basura a menudo supera optimizar el algoritmo, porque el trabajo del collector es proporcional a lo que creas.

4

¿Cómo apagas un servicio sin dejar caer trabajo en curso?

Respuesta

Captura SIGTERM, deja de aceptar nuevas conexiones, cancela el context raíz para que los workers se desenrollen, espera en un WaitGroup con un timeout, luego sal. El timeout importa: un apagado que espera para siempre por un request atascado es una caída en sí mismo. El probe de readiness debe fallar antes de que empiece cualquiera de esto, así que el load balancer deja de enviar tráfico primero.

5

¿Cuándo son la herramienta correcta los generics, y cuándo no?

Respuesta

Se ganan su lugar cuando la misma lógica genuinamente se repite entre tipos — un container, un map o filter sobre slices, una constraint sobre tipos numéricos. Son la herramienta incorrecta cuando una interfaz ya expresa el requisito, porque una interfaz es más simple de leer y cambiar. Go pasó una década sin ellos por una razón, y la mayoría del código todavía no los necesita.

6

¿Cómo estructuras un proyecto Go a medida que crece?

Respuesta

Por lo que hace el código en vez de lo que es: un paquete por concern de dominio, no un paquete llamado models que lo tiene todo. Mantén la dirección de dependencia hacia adentro, pon cualquier cosa que no sea para importar bajo internal/, y resiste un paquete utils, que es donde la cohesión va a morir. La biblioteca estándar es la guía de estilo que vale la pena copiar.

🦎

Leer respuestas no es suficiente

En una entrevista real hablas bajo presión. Cam hace estas mismas preguntas, evalúa cada respuesta y muestra exactamente qué mejorar.

Practicar entrevista de Senior Go Backend →
Gratis · 3 entrevistas al mes

Otros niveles — Go Backend

Junior Go BackendMiddle Go BackendTodas las preguntas de Go Backend

Otras especializaciones

🔍Senior Manual QA🤖Senior QA AutomationSenior Java Backend🐍Senior Python Backend🐘Senior PHP Backend🟢Senior Node.js Backend💎Senior Ruby on Rails🔷Senior C++🟨Senior JavaScript⚛️Senior React Frontend