Hint: Use 'subscription' keyword, not 'query' or 'mutation' [OK]
Common Mistakes:
Using 'query' or 'mutation' instead of 'subscription'
Using 'subscribe' keyword which is invalid
Missing curly braces around fields
3. Given the subscription below, what fields will the client receive when a new comment is added?
subscription { newComment { id text author { name } } }
medium
A. id, text, and author name of the new comment
B. Only id and text of the new comment
C. Only author name of the new comment
D. All comments in the database
Solution
Step 1: Analyze the subscription fields
The subscription requests id, text, and nested author { name } fields for the newComment event.
Step 2: Understand what is sent on event
When a new comment is added, the client receives exactly these fields for that comment, not all comments.
Final Answer:
id, text, and author name of the new comment -> Option A
Quick Check:
Requested fields = id, text, author name [OK]
Hint: Nested fields inside subscription are included in output [OK]
Common Mistakes:
Assuming all comments are sent, not just new ones
Ignoring nested author name field
Thinking only scalar fields are sent
4. Identify the error in this subscription syntax:
subscription newMessage { id content }
medium
A. Missing curly braces around the subscription fields
B. Subscription name cannot be 'newMessage'
C. Subscription keyword should be 'query'
D. Fields 'id' and 'content' should be inside the event name braces
Solution
Step 1: Check subscription structure
The subscription must specify the event name followed by its fields inside braces, e.g., subscription { newMessage { id content } }.
Step 2: Identify the error in given syntax
The given syntax places fields directly after subscription name without nesting inside event braces.
Final Answer:
Fields 'id' and 'content' should be inside the event name braces -> Option D
Quick Check:
Fields must be nested inside event braces [OK]
Hint: Fields must be inside event braces, not directly after subscription name [OK]
Common Mistakes:
Placing fields outside event braces
Using 'query' instead of 'subscription'
Omitting braces entirely
5. You want to subscribe to live updates of stock prices but only for stocks with price above 100. Which subscription syntax correctly applies this filter?
hard
A. subscription { stockPrice(price_gt: 100) { symbol price } }
B. subscription { stockPrice { symbol price where price > 100 } }
C. subscription { stockPrice { symbol price } filter: { price: { gt: 100 } } }
D. subscription { stockPrice { symbol price } if price > 100 }
Solution
Step 1: Understand argument filtering in subscriptions
GraphQL subscriptions accept arguments like queries, so filters are passed as arguments inside parentheses after the event name.
Step 2: Identify correct filter syntax
subscription { stockPrice(price_gt: 100) { symbol price } } uses price_gt: 100 as an argument, which is the standard way to filter for price greater than 100.
Final Answer:
subscription { stockPrice(price_gt: 100) { symbol price } } -> Option A
Quick Check:
Filters go as arguments inside parentheses [OK]
Hint: Use arguments in parentheses for filtering subscriptions [OK]
Common Mistakes:
Trying to filter inside field braces
Using invalid keywords like 'where' or 'if'
Placing filters outside subscription block
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.