A GraphQL server implements query depth limiting to:
A deeply nested GraphQL query (e.g., friends.friends.friends.posts.comments...) can cause exponential database load. Depth limiting rejects queries beyond a set nesting level (typically 5–10 levels).
2 / 5
Query cost analysis assigns costs to queries based on:
Each field in a schema can be assigned a cost multiplier. A list field has higher cost than a scalar; a federation entity resolution adds cost. The total query cost is checked against a threshold before execution.
3 / 5
Which GraphQL schema change is a breaking change?
Removing a field breaks existing client queries that include it — they will receive a validation error. Safe changes include: adding optional fields, adding new types, adding enum values (with caution if clients use exhaustive switches).
4 / 5
The @deprecated directive is used to:
@deprecated is a built-in GraphQL directive: legacyId: ID @deprecated(reason: "Use id instead"). GraphQL tools surface deprecation warnings to developers. The field still works until it is actually removed in a future schema version.
5 / 5
Fill in the blank: "We used Apollo Studio to catch ___ before deployment."
Apollo Studio (and similar schema registry tools) performs schema change analysis — comparing the new schema to the previous version and flagging breaking changes (removed fields, changed types, non-null additions) before the change reaches production.