Desarrollador Go: pregunta de entrevista

¿Cómo analizas un servicio Go?

Haz profiling antes de optimizar. Usa pprof para comparar perfiles de CPU, heap, goroutines, mutex o bloqueos con una línea base y valida el cambio con la misma carga.

Respuesta directa

Qué debe cubrir una buena respuesta

Cómo funciona

El profiling responde dónde va realmente el tiempo y la memoria, no dónde se supone. pprof recoge muestras de CPU, asignaciones de heap, bloqueos, contención de mutex e instantáneas de goroutines; cada perfil responde una pregunta distinta, así que el síntoma decide cuál capturar. Un perfil útil sale de carga realista, se compara con una línea base y va seguido de un benchmark que demuestre la mejora en lugar de otra suposición.

Ejemplo

Expón endpoints pprof protegidos, captura un perfil de CPU bajo carga representativa e inspecciona la ruta más costosa antes de cambiar asignaciones. Cuando una API mostró presión de GC alta, el perfil de heap señaló buffers JSON por solicitud; reutilizarlos con sync.Pool redujo las asignaciones un tercio, verificado con go test -bench y -benchmem antes y después.

Errores frecuentes

  • Optimizar código que el perfil nunca mostró como caliente.
  • Perfilar un proceso ocioso y concluir que el servicio está bien.
  • Dejar pprof expuesto sin autenticación en un listener público.

Una estructura útil para responder

Responde desde tu propia experiencia.

No memorices un guion: usa solo ejemplos que puedas explicar con honestidad en preguntas posteriores.

Practica esta respuesta con MiraHint

Abre el espacio de trabajo de escritorio y ensaya una respuesta clara con tus propias palabras.

Descargar MiraHint
Preguntas de entrevista para Desarrollador Go