Lesson 23 · Senior gRPC backend engineering
Senior gRPC interview questions
High-signal production and design questions, with the strongest answer shape for each and the reasoning underneath them.
Your win: answer common senior gRPC interview questions in a way that sounds like someone who has evolved real APIs and debugged real service calls, not just memorised the basic concepts.
The problem: answers that stop at the feature name
Many answers fail because they describe what gRPC supports but never explain why that support matters in real backend systems. Senior answers usually add rollout, safety, or operational reasoning.
That is the recurring pattern from the whole course: do not stop at the mechanism. Explain the consequence. Explain the trade-off. Explain what a team has to live with after choosing it.
Question bank
Use these as answer drills, not as facts to reread. Read the question, speak the answer out loud, then compare your structure to the model answer shape.
| Question | Best answer shape |
|---|---|
| Why are protobuf field numbers so important? | Because they are the wire identity. Reusing or changing their meaning breaks compatibility even if the field names look clean to humans. |
| When are retries dangerous in gRPC? | When the RPC is not idempotent or has no deduplication strategy, because retrying can repeat a logical side effect. |
| Why don’t teams use streaming everywhere? | Because streaming adds lifecycle, backpressure, cancellation, and debugging complexity; unary stays simpler unless the data is truly sequential or live. |
| What is the difference between deadline handling and timeout folklore? | Deadlines propagate a shared time budget through the call tree; they are a correctness and resource-control mechanism, not just an arbitrary timeout knob. |
| Why might a public edge still use REST even if the internal mesh is gRPC? | Because external consumers often benefit from JSON/HTTP ergonomics, tooling, and compatibility expectations even while internal calls stay typed and efficient. |
| What makes a strong gRPC debugging workflow? | Following traces, status, metadata, deadlines, and interceptor behavior to identify the real failing hop or wrapper instead of stopping at the outer error. |
| What is the repo-specific codegen nuance here? | Codegen is raw protoc via make gen-proto-go, while buf is for lint and breaking checks only. |
| Why is auth vs RBAC worth separating clearly? | Because identity and permission are different questions, and the interceptor pipeline handles them in different steps with different failure meanings. |
| What does grpc-gateway buy you? | One contract can support both internal gRPC callers and external REST/JSON consumers, if the boundary trade-off is worth it. |
| What is the safest default RPC type? | Usually unary, unless the problem is genuinely a sequence or long-lived stream. |
Use the official docs as your answer backbone
High-trust interview prep comes from grpc.io, protobuf.dev, and the repo-grounded references in this course — not random trivia lists.
Check yourself (from memory)
Q1. A strong senior gRPC answer usually includes…
Sources. gRPC docs; Senior backend playbook.