Go

gRPC

Protocol Buffers, servicios gRPC, streaming, interceptors, manejo de errores, metadata

22 preguntas de entrevista·
Mid-Level
1

¿Qué es gRPC?

Respuesta

gRPC es un framework RPC (Remote Procedure Call) de código abierto desarrollado por Google que usa HTTP/2 como protocolo de transporte y Protocol Buffers como formato de serialización por defecto. A diferencia de REST que usa JSON y HTTP/1.1, gRPC ofrece mejor rendimiento gracias al formato binario de Protocol Buffers y a las funcionalidades avanzadas de HTTP/2 (multiplexing, compresión de headers, server push). gRPC se usa ampliamente para la comunicación entre microservicios porque soporta nativamente el streaming bidireccional, la generación de código cliente/servidor y el uso de tipos fuertemente tipados.

2

¿Cuál es el rol principal de Protocol Buffers en gRPC?

Respuesta

Protocol Buffers (protobuf) es el lenguaje de definición de interfaz (IDL) y el formato de serialización binaria usado por defecto en gRPC. Permite definir la estructura de los mensajes y servicios en archivos .proto, que luego se compilan para generar automáticamente código cliente y servidor en diferentes lenguajes. El formato binario de protobuf es de 3 a 10 veces más compacto que JSON y ofrece un rendimiento de serialización/deserialización notablemente superior (hasta 20 veces más rápido). Esto hace que gRPC sea particularmente adecuado para comunicaciones de alta frecuencia entre microservicios.

3

¿Cuál es la diferencia entre una llamada gRPC Unary y una llamada Server Streaming?

Respuesta

Una llamada Unary es el tipo de llamada gRPC más simple: el cliente envía una sola solicitud y recibe una sola respuesta, similar a una solicitud HTTP REST clásica. Una llamada Server Streaming permite al cliente enviar una sola solicitud pero recibir un flujo (stream) de varias respuestas del servidor. Por ejemplo, una API de notificaciones puede usar Server Streaming para enviar varias actualizaciones al cliente sin que este tenga que hacer polling. Esto reduce la latencia y la carga de red en comparación con llamadas Unary repetidas.

4

¿Qué paquete de Go se usa para crear un servidor gRPC?

5

¿Cómo definir un servicio gRPC en un archivo .proto?

+19 preguntas de entrevista

Domina Go para tu próxima entrevista

Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.

Empieza gratis