What they're testing
Whether you choose from constraints or from what's currently fashionable.
The short answer~30 seconds
I ask three questions first: who's the client, what shape is the data, and who operates it. gRPC for internal service-to-service — fast, strict contracts, generated code, but awkward from a browser and hard to poke with curl. GraphQL when several clients need different slices and you'd otherwise ship a dozen bespoke endpoints. REST for public APIs, because it's the most understood, the most cacheable and callable by anyone.
The long answer
gRPC's real strength isn't speed but the CONTRACT. A .proto file is one source of truth generating clients and servers in several languages, which removes an entire class of "field name mismatch" bugs. The HTTP/2-plus-protobuf speed is a bonus and usually not the deciding factor — unless you've measured and serialisation cost genuinely matters.
GraphQL swaps one set of problems for another. You lose over-fetching and endpoints like /users/:id/with-orders-and-address, and you gain: HTTP caching that barely works because everything is a POST to one URL, rate limiting that's hard because one query can be a hundred times heavier than another, and N+1 arising naturally in resolvers. If the team isn't ready to build DataLoader and query-complexity analysis, that bill arrives early.
One option people forget: ordinary REST plus a few aggregate endpoints for precisely the screens that need them. It's theoretically inelegant and operationally excellent — cacheable, measurable, rate-limitable, and immediately understood by anyone joining. Being willing to say the boring choice can be the right one reads well in a senior round.
What they'll ask next
?What about gRPC from a browser?
You need gRPC-Web plus a proxy (Envoy or similar), because browsers don't expose the level of HTTP/2 control gRPC requires. That's another infrastructure component, and it's usually why people put REST at the edge even when the inside is gRPC.
These lose points
- Choosing GraphQL for a service with exactly one client. You pay the full cost for a benefit you don't use.