Over/underfetching: o que GraphQL resolve e o que ele custa
Pergunta
Como GraphQL ataca o over e o underfetching do REST, e qual novo problema o cliente ganha em troca?
Resposta esperada
Overfetching em REST: `GET /users/1` devolve 20 campos quando a tela usa 2. Underfetching: pra montar uma tela você chama `/users/1`, depois `/users/1/posts`, depois `/posts/*/comments` — várias idas. GraphQL: o cliente escreve uma query com exatamente os campos que quer, aninhando relações, e recebe tudo numa resposta. O que o cliente ganha de problema: o servidor perde o controle sobre o que é executado — uma query mal feita pode ser cara ou profunda demais (daí precisar de limites de custo/profundidade); erros parciais (parte do dado vem, parte falha) exigem tratamento; e o cliente passa a ter responsabilidade de não pedir demais. Não é 'melhor que REST', é um conjunto de trade-offs diferente.
Por que perguntam isso
Pergunta pleno. O bom sinal é fechar com 'trade-off diferente, não melhor' e citar os limites de custo como consequência.