Spring / Spring gRPC Interview Questions
Explain field numbering in a.proto message and why it matters?
Every field inside a protobuf message declaration carries a unique integer tag, for example string name = 1;. That number, not the field name, is what actually gets encoded on the wire.
This matters because it is the basis of protobuf's binary compatibility guarantees: once a message is used in production, a field's tag number must never be reused for a different field or changed, or old and new services will misinterpret each other's data. Field names can be safely renamed without breaking compatibility, since only the number is serialized. Teams typically reserve retired tag numbers explicitly (reserved 4, 9 to 11;) to guard against accidental reuse by a future contributor.
More Related questions...